首先,必须开启linux的数据转发功能,具体开启步骤如下:
vi /etc/sysctl.conf
将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1
sysctl -p(这条命令是使数据转发功能生效)
现在就可以更改iptables了,使之实现nat映射功能:
例如:你要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,你可以用如下命令:
iptables -t nat -A PREROUTING -d 10.26.30.41 -p tcp --dport 80 -j DNAT --to-destination 10.26.30.40:500
iptables -t nat -A POSTROUTING -d 10.26.30.40 -p tcp --dport 500 -j SNAT --to 10.26.30.41
#将80端口映射到8080端口
iptables -t nat -A PREROUTING -d 10.26.30.41 -p tcp --dport 80 -j DNAT --to-destination 10.26.30.41:8080
可以使用命令:iptables -t nat --list检查nat列表信息:
结果如下图所示