Linux下利用iptables快速实现UDP/TCP端口转发

注意:CentOS7需要卸载firewall然后安装iptables。具体方法不再赘述。

开启系统的转发功能vi /etc/sysctl.conf

将net.ipv4.ip_forward=0修改成net.ipv4.ip_forward=1

编辑后使用一下命令让配置马上生效:sysctl -p

iptables的命令(将本地服务器的端口5000转发至目标IP为1.1.1.1)

iptables -t nat -A PREROUTING -p tcp –dport 5000 -j DNAT –to-destination 1.1.1.1
iptables -t nat -A PREROUTING -p udp –dport 5000 -j DNAT –to-destination 1.1.1.1
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]

多端口转发修改方案:(将本地服务器的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]

非同端口号修改方案:(使用本地服务器的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 60000 -j SNAT –to-source [本地服务器IP]
-A POSTROUTING -d 1.1.1.1/32 -p udp -m udp –dport 60000 -j SNAT –to-source [本地服务器IP]

配置后务必重启iptables使配置生效

service iptables save
service iptables restart

THE END
喜欢就支持一下吧
点赞0赞赏
分享
评论 抢沙发