Linux中转中继–HaProxy中转加速;iptables端口转发加速

最近温习了一些LINUX系统的知识,说实话现在学习起来真的很简单,度娘上一问最起码三个不同答案,你挑一个适合你的,比如不成,参考另外两个就行,这里Tami给你带来Linux系统实现中继中转,现Centos6 64bit实测SS转发成功,参考方式

转发是什么:

假设你本地是上海,你目的地在美国,从上海直连美国距离太远,难免丢包绕线高延迟,那我们就可以借助一个跳板,假设跳板是日本,那我们的走线方式就是:               上海->日本->美国

这里给出两种方案,用HaProxy效率高,用端口转发稳定,各有优缺点。


方法A—-用HaProxy实现ss转发

安装HaProxy

Debian/Ubuntu系统用这个命令安装:

  1. aptget y install haproxy

Centos系统用这个命令安装:

  1. yum y install haproxy

安装完成后用命令vi /etc/haproxy/haproxy.cfg进行编译,把内容都删除,复制以下代码:

global

ulimit-n 51200

defaults

log global

mode tcp

option dontlognull

timeout connect 5000

timeout client 50000

timeout server 50000

frontend ss-in

bind *:6666

default_backend ss-out

backend ss-out

server server1 233.233.233.233:2333 maxconn 20480

以上红色6666就是你本地SS客户端填写的端口,最后蓝色内容就是你美国SS的IP和端口,其他信息不用修改保存退出。(你的中继账号端口和Shadowsocks账号端口是可以一致的,也就是上面的 66662333 这两个端口可以使用同样的端口)

然后启动haproxy

haproxy f /etc/haproxy/haproxy.cfg

停止haproxy

killall haproxy

如果无法连接,先确认你的原Shadowsocks账号能否正常使用,然后查看防火墙规则(iptables -L或者用service iptables stop关闭防火墙)是否有问题(还有需要注意的是HaProxy中继只支持TCP,也就是不支持部分需要UDP的游戏)

到这里HaProxy的SS中转就结束了。


方法B—-用iptables端口转发实现中转

1)首先允许iptables的端口转发vi /etc/sysctl.conf修改其中net.ipv4.ip_forward = 1 默认是0    这样允许iptalbes FORWARD

2)输入命令service iptables stop(关闭防火墙)之后输入(也可以vi /etc/sysconfig/iptables直接修改)

iptables -t nat -A PREROUTING --dst 日本 -p tcp --dport 8388 -j DNAT --to-destination 美国:8388

iptables -t nat -A POSTROUTING --dst 美国 -p tcp --dport 8388 -j SNAT --to-source 日本

3)service iptables save(保存配置)

4)service iptables start(启动iptables)

至此,端口转发也完成了,此方法同时支持UDP转发,只要将TCP改为UDP便可实现(TCP端口是8388,UDP端口可以加一变成8389),但Tami未测试,理论上是可以的。更多阅读请参考:http://www.cnblogs.com/apexchu/p/4255551.html

编译:Tami

Random Posts

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

*
*