如何在linux下使用iptables进行远程端口转发
前提是已经安装了iptables,再以root身份运行以下配置,如果重启了机器,需要重新执行,可以写到启动脚本文件中去。
[quote]#将访问目的地址为IpA:PostA的数据包转换为访问目的地址为IpB:PortB,建立转发的正向数据通道
iptables -t nat -I PREROUTING -p tcp --dport PortA -j DNAT --to IpB:PortB
#将访问目的地址为IpB:PortB的数据包中客户端Client的原始地址动态转换为HostA的地址IpA,建立转发的反向数据通道;尝试过用SNAT题替代,但是未成功,不知道是写的规则不对还是怎么的。我觉得MASQUERADE要比SNAT多一些处理,应该是维护了一张返回通道的转发对应表,类似我们常用NAT网关
iptables -t nat -I POSTROUTING -p tcp -d IpB --dport PortB -j MASQUERADE
/etc/rc.d/iptables save #保存
/etc/rc.d/iptables restart #重启iptables服务,否则不生效
echo 1 > /proc/sys/net/ipv4/ip_forward #重启iptables后,ip_forward会变回0,需要重新设置
[/quote]
阅读全部