很多时候我们搭建某些服务后,发现本地连接效果不给力,但是我们有一个国内机器,由于国内机器出去走BGP线路,国内机器连接国外效果好,本地连接国内效果也不错,这样我们就可以搭建一个跳板,从国内去连接国外服务器,常见的转发有rinetd、Haproxy、iptables、socat,前面2种只能转发TCP,后面TCP/UDP都可以转发。现阶段服务器本来就包含iptables,为啥还要安装其他的软件来转发呢?
注意: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 -

本文介绍了如何通过iptables在Linux系统中进行端口转发,包括TCP和UDP,适用于需要改善国内连接国外服务器效果的情况。详细步骤包括开启系统转发功能,编辑配置文件,使用iptables命令设置DNAT和SNAT规则,以及不同场景下的端口转发配置。记得保存并重启iptables服务以应用更改。
最低0.47元/天 解锁文章
717

被折叠的 条评论
为什么被折叠?



