端口转发的意义
实际上没啥用吧!
现在谁还没个路由器、防火墙的,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.2
的15560
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.2
的5560
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
弊端
这种映射是有缺陷的,缺点就是:自己访问不了
。