镜像域名: doub.bid 提供给无翻墙能力的人使用,请大家互相通知~~ 有能力的建议访问 doub,io!
「学翻墙,需要先会翻墙,才能学习翻墙。」逗比交流群:Telegram

Shadowsocks利用 HaProxy 实现中继(中转/端口转发)

Shadowsocks Toyo 18评论
文章目录
[显示]
本文最后更新于 2017年3月13日 17:33 可能会因为没有更新而失效。如已失效或需要修正,请留言!

其实很早就想写这个教程了,中继其实挺简单的。因为没有国内VPS,所以就拿着日本的中继美国服务器来写教程!

中继加速(也叫中转,因为国内VPS效果最好所以一般都叫国内中转),是一种技术难度低,但是颇费钱的一种方法。而且要选好的服务器,加速效果才明显。

HaProxy是其中的方法之一,使用方便,但是只支持TCP转发,

其他的优化方案:https://doub.io/ss-jc26/#三、优化Shadowsocks

其他的端口转发教程https://doub.io/ss-jc26/#服务器中继(国内中转)

HaProxy便捷管理脚本:『原创』Shadowsocks HaProxy中继(中转) 便捷管理脚本

Socat:

优点:支持 TCP/UDP 转发。缺点:不支持端口段(多个端口需要开启多个转发)

HaProxy:

优点:支持 TCP 转发,支持 端口段 转发。缺点:不支持 UDP 转发。

iptables:

优点:支持 TCP/UDP 转发,支持 端口段 转发。缺点:配置麻烦,容易出错。

安装步骤

说他难度低也不是没有理由,看完下面的教程就知道多简单了!

以下教程,我是用的日本和美国服务器,我的Shadowsocks服务端安装在美国VPS上。

链接原理:客户端 <=> 日本VPS <=> 美国VPS

安装HaProxy

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

apt-get -y install haproxy

Centos系统用这个命令安装:

yum -y install haproxy

安装完之后就是配置HaProxy的配置文件了。

配置文件

打开 /etc/haproxy/haproxy.cfg 文件。

vi /etc/haproxy/haproxy.cfg
如果提示没有vi这个命令,请安装vim,Debian/Ubuntu系统:apt-get -y install vim,Centos系统:yum -y install vim

打开后把里面的内容全部删除,换成下面的内容。

global

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 maxconn 20480

其中 13 行的 *:6666 ,把 6666 改成你被中转的VPS上面Shadowsocks服务端的端口,这个端口是你要转发的端口。

然后修改一下 17 行(最后一行)的 233.233.233.233 ,把 233.233.233.233 改成你要中继的 VPS IP ,(不是很懂这里的先对照下面的客户端配置,在考虑如何修改),其他的都不要动!

还有,你的中转端口被中转端口是一致的,你的中转端口和被中转端口都是 6666

多端口配置

如果你需要中转多个端口,那你修改 bind 配置项为 *:端口段 格式。

也就是把连接中转VPS的 10000-30000 端口TCP数据转发到 233.233.233.233 10000-30000 端口上面。

frontend ss-in
bind *:10000-30000
default_backend ss-out

backend ss-out
server server1 233.233.233.233 maxconn 20480
HaProxy 1.5版本后也支持了ipv6,把这里的 233.233.233.233 换成 ipv6地址 就行了。

然后按 Exc键 退出vi编辑模式,输入 :wq 保存并退出,并执行下面代码运行HaProxy。

# 启动haproxy 
service haproxy start
# 停止haproxy 
service haproxy stop

执行之后不会出现任何提示,就不需要管了,可以关闭ssh软件了。

客户端配置

假设我的国内中转VPS IP是 110.110.110.110 ,我的国外被中转的VPS IP是 233.233.233.233 ,我的国外VPS上的Shadowsocks服务端 端口是 6666 ,我设置的中继账号端口是 6666 ,那么我在Shadowsocks客户端就是如上图所填。其中密码和加密方式都是和你国外VPS上的Shadowsocks账号配置一样,你只需要改一下 服务器 IP 服务器端口 就好了!

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

卸载方法

Debian 或 Ubuntu 系统

apt-get -y remove haproxy

CentOS 系统

yum -y remove haproxy

然后删掉haproxy的配置文件目录

rm -rf /etc/haproxy

使用命令

启动:service haproxy start
停止:service haproxy stop
重启:service haproxy restart
重载:service haproxy reload
状态:service haproxy status

效果测试

上图是直接用美国VPS上的Shadowsocks账号的速度,下图是用中继服务器加速后的Shadowsocks账号速度,可以看出提升明显!不过因为我写教程的原因,只是随便选了个日本和美国的VPS,让日本中继美国的,所以效果有限(而且并没有意义,还不如直接使用日本的…),正确方法应该是用国内的VPS去中继国外的,这样对延迟和速度提升才明显(而且有意义)。但是国内的服务器都是死贵死贵的,唉。。。

对了,如果你再用了其他优化方法,速度提升就更明显了!传送门

其他的端口转发教程https://doub.io/ss-jc26/#服务器中继(国内中转)

HaProxy便捷管理脚本:『原创』Shadowsocks HaProxy中继(中转) 便捷管理脚本

其他的优化方案:https://doub.io/ss-jc26/#三、优化Shadowsocks

转载请超链接注明:逗比根据地 » Shadowsocks利用 HaProxy 实现中继(中转/端口转发)
责任声明:本站一切资源均原创或收集自互联网,仅作交流学习之用,请勿用作商业!如造成任何后果,本站概不负责!

赞 (9)or打赏
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(18)个小伙伴在吐槽
  1. 启动失败,是centos系统 “-bash: etc/init.d/haproxy: No such file or directory”
    teny2017-03-13 16:11 回复
    • 少了一个 “/”
      etc/init.d/haproxy
      /etc/init.d/haproxy
      # 或者用这个
      service haproxy start
      
      Toyo2017-03-13 17:30 回复
  2. 启动haproxy出错: [ALERT] 364/001048 (14919) : parsing [/etc/haproxy/haproxy.cfg:2]: unknown keyword 'bal' out of section. [ALERT] 364/001048 (14919) : parsing [/etc/haproxy/haproxy.cfg:3]: unknown keyword 'ulimit-n' out of section. [ALERT] 364/001048 (14919) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg [ALERT] 364/001048 (14919) : Fatal errors found in configuration. Errors in configuration file, check with haproxy check. 求助!!!
    Yun2016-12-30 00:11 回复
    • 把你的配置文件内容发出来看看。
      Toyo2016-12-30 01:30 回复
      • 我把CentOS系统换成Debian就成功了 :mrgreen: ,但是速度没有感觉到提升。之后我把haproxy换成了Socat,启动后效果也是没感觉有提升,看youtube 1080P还是卡。我国内服务器用的是阿里云的最低配服务器(朋友开的,我用来试试效果)
        Yun2016-12-30 11:18 回复
  3. 没有人和我一样的想法?
    小伙伴2016-07-07 13:32 回复
  4. 直接用日本的VPS做SS服务端不就行了吗?为什么非要用美国的做?这样你日本的光跑流量了。其他啥也不干,不是浪费吗
    小伙伴2016-07-07 13:32 回复
    • 没看文章吗?我没有国内的服务器,所以拿日本的做教程。
      Toyo2016-07-07 23:29 回复
  5. 启动后要关闭吗
    kk2016-06-22 23:35 回复
    • 启动后就不需要管了
      Toyo2016-06-23 10:48 回复
  6. 执行启动haproxy 后没有反应是怎么回事?
    老豆丁2016-06-20 19:52 回复
    • 正常情况就是没有反应,不需要管,已经正常启动了
      Toyo2016-06-20 22:47 回复
      • 谢谢,已经成功,速度提升一倍 :evil:
        老豆丁2016-06-22 13:07 回复
  7. 这个怎么配置多用户版的ss-panel对应很多端口转发,求博主指教。
    小马2016-05-11 16:23 回复
    • 已经更新了多端口转发的方法
      Toyo2016-07-23 08:26 回复
  8. 可以使用一个国内服务器中转多个国外服务器吗?如果可以的话,怎么配置?
    没时间解释了快上车2016-04-27 13:29 回复
    • 已经更新了多端口转发的方法
      Toyo2016-05-03 08:18 回复
  9. 顶一个 :shock:
    醉花阴柳2016-04-24 19:56 回复