端口转发的意义

实际上没啥用吧!

现在谁还没个路由器、防火墙的,DNAT都是界面可视化配置了,谁爱敲命令行?!

除非要做某些不可描述的事情的时候。

放通转发规则

第一条命令适用老版本内核。如果第一条命令报错了,那不用试了,你的系统内核真的有问题,应该是被裁剪过,不支持nat(话说现在还有这样的系统吗?古董级别了吧!)。

modprobe ip_conntrack
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

经过我多次踩坑测试,如果发现端口映射不生效,那一定是缺了上面某条命令。

端口映射

  • 将发往本机15560端口的数据,转发到 192.168.1.215560
iptables -t nat -I PREROUTING -p tcp --dport 15560 -j DNAT --to 192.168.1.2
iptables -t nat -I POSTROUTING -p tcp --dport 15560 -j MASQUERADE
  • 将发往本机15560端口的数据,转发到 192.168.1.25560
iptables -t nat -I PREROUTING -p tcp --dport 15560 -j DNAT --to 192.168.1.2:5560
iptables -t nat -I POSTROUTING -p tcp --dport 15560 -j MASQUERADE

弊端

这种映射是有缺陷的,缺点就是:自己访问不了