小心灵学院
欢迎您的光临

使用iptables进行端口转发,支持端口段转发

端口转发自然已经介绍过了rinetd和socat这两个简单易用的工具,今天来介绍一下系统自带的iptables防火墙转发方案。iptables防火墙转发方案适用于拥有iptables工具的系统,其最大特色就是拥有强盗的转发性能和支持端口段转发,缺点就是对小白不友好,配置有难度,且容易出现奇奇怪怪的问题。

新手推荐使用rinetd和socat:

1、linux使用socat进行端口转发,支持tcp/udp数据转发

2、linux使用rinetd进行tcp/udp端口转发,可加速网站

使用iptables进行端口转发,支持端口段转发

方法

1、开启系统的转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=0
修改成
net.ipv4.ip_forward=1

编辑及后立即生效,需执行

sysctl -p
2、iptables的命令
iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A PREROUTING -p udp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [本地服务器IP]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [端口号] -j SNAT --to-source [本地服务器IP]

重启iptables生效

service iptables save
service iptables restart

扩展需求

1、多端口转发修改方案:
#将本地服务器的50000~65535转发至目标IP为1.1.1.1的50000~65535端口
-A PREROUTING -p tcp -m tcp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
-A PREROUTING -p udp -m udp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
-A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
-A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
2、非同端口号修改方案:
#使用本地服务器的60000端口来转发目标IP为1.1.1.1的50000端口
-A PREROUTING -p tcp -m tcp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
-A PREROUTING -p udp -m udp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
-A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000 -j SNAT --to-source [本地服务器IP]
-A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000 -j SNAT --to-source [本地服务器IP]
赞(0)
未经许可不得转载:小心灵学院 » 使用iptables进行端口转发,支持端口段转发
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址