CentOS 6 通过iptables进行流量转发

受限于国内网络环境以及国际出口的成天炸炸炸,当然这一切都可以通过加钱来解决,加钱世界可及 — 中国奠信

有些服务器的网络面向大陆比较友好,例如阿里云香港B/C区、腾讯云香港,这时可以通过使用iptables进行流量转发来让那些面向大陆网络情况不是很友好的服务器,也能跑满100Mbps甚至更高。

流量转发的方案很多,iptables算是其中一种,还有HaProxy和SoCat,不过都有比较大的局限,例如HaProxy无法转发UDP,SoCat无法批量转发多个端口,但是单端口转发SoCat是个不错的选择。

既然要进行流量转发,那么首先要开启服务器的转发功能,打开控制台输入 vi /etc/sysctl.conf 然后找到 net.ipv4.ip_forward = 0 修改为 net.ipv4.ip_forward = 1 随后保存。

执行 sysctl -p 来使更改生效。

然后执行以下命令来添加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]  

端口段转发,栗子:转发10000到20000这个端口段,则填10000:20000

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  

现在可以去试试看流量转发后速度效果如何了。

原文出处:dkys -> http://www.dkys.org/archives/1075.html

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。