利用iptables实现端口映射的功能。

原文:https://www.cnblogs.com/gaoyanbing/p/12781544.html


打开ipv4转发功能:

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p


在PREROUTING上修改目的地址

iptables -t nat -A PREROUTING -p tcp --dport 本地端口 -j DNAT --to-destination 目的IP:端口

在POSTROUTING上修改源地址

iptables -t nat -A POSTROUTING -d 目的IP -p tcp --dport 目的端口 -j MASQUERADE

为防止在FORWARD上面被丢弃,添加规则允许通过

iptables -I FORWARD -d 目的IP -p tcp --dport 目的端口 -j ACCEPT
iptables -I FORWARD -s 目的IP -p tcp --sport 目的端口 -j ACCEPT


注意:以上步骤缺一不可,每映射一个端口就需要重新操作一次!


查看添加的转发地址

iptables -t nat -L -n


删除规则

iptables -t nat -D PREROUTING -p tcp --dport 本地端口 -j DNAT --to-destination 目的IP:端口
iptables -t nat -D POSTROUTING -d 目的IP -p tcp --dport 目的端口 -j MASQUERADE


删除所有规则

iptables -t nat -F


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。