> Linux服务器 > iptables >

Linux iptables 内网转发映射方案

我在服务器上有一个虚拟机,需要将虚拟机(内网)的某个端口转发到公网上面。下面利用 iptables 做一下转发。

示例如下:
服务器:
公网 IP 地址:195.152.152.52
网卡出网端口:eno1
需要转发到的端口:3388

虚拟机:
内网 IP 地址:192.168.122.11
内网网关地址:192.168.122.1
需要映射到公网的端口:3389

方法

临时方法:
首先开启 ip 转发,这个在服务器上面一般是开启的,所以不用:
echo 1 > /proc/sys/net/ipv4/ip_forward

命令如下:

在服务器上执行,虚拟机无需任何改动:


    1. iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3388 -j ACCEPT
    2. iptables -t nat -A PREROUTING -s 0/0 -d -p tcp --dport 3388 -j DNAT --to 192.168.122.11:3389
    3. iptables -t nat -A POSTROUTING -d 192.168.122.11 -p tcp --dport 3389 -o eno1 -j SNAT --to 192.168.122.1

这样即可完成转发。只转发 tcp 数据。

如需重启后仍然生效,可编辑 iptables 文件,保存命令即可。




(责任编辑:IT)