ubnt解决方案
查看: 1844|回复: 3

[教程] 树莓派安装Haproxy实现shadowsocks负载均衡

[复制链接]

2

回帖

91

积分

2 小时

在线时间

上等兵

注册时间
2016-4-4
金币
36 个
威望
6 个
荣誉
2 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2016-5-16 22:22 |显示全部楼层
平时工作离不开谷歌,搜索英文文献比百度强多了。为了禾斗学上网,买了个shadowsocks帐号,有好几个节点,每个节点都不错,很快。但是人心都是贪婪的,稳稳一个节点用几天总想换一个节点再感受感受,感觉这么多个节点没有都给用用好像浪费了。。。其实就是折腾。好在,遇到了Haproxy。

Haproxy是什么?虽然不喜欢百度,但还是引用百度百科吧,维基百科这个词条没中文的。

“HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。”

如果专门用一台电脑来做shadowsocks负载均衡的话,就太浪费了,刚好手上有个闲置的树莓派,以它的性能,应付个Haproxy绰绰有余了,关键还低功耗,可以24小时开机。
这次,我们就将它用来作为shadowsocks的负载均衡。把我们禾斗学上网的需求分配到各个Shadowsocks节点上,以满足自己不浪费任何一个节点的强迫症想法。OK,Let's go.

1)作为Haproxy专用树莓,我选择用RASPBIAN JESSIE LITE系统,作为服务器专用,没必要有图形界面。
官方链接:https://www.raspberrypi.org/downloads/raspbian/

2)烧录安装略过不表。。。

3)基础设置及更换软件源。
sudo rasps-config

我偏爱mstc.edu.cn的源。
sudo nano /etc/apt/sources.list
将其他行用#注释掉,
加入:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi
然后按Ctrl+X 退出保存。

4)更新源
sudo apt-get update

5)安装Haproxy
sudo apt-get install haproxy

6) 设置Haproxy
Haproxy的配置文件在/etc/haproxy/haproxy.cfg.
先备份一下:
sudo cp haproxy.cfg haproxy.cfg.default

编辑haproxy.cfg
sudo nano haproxy.cfg

将defaults下的
mode http 改为 mode tcp
有几行errorfile开头的是跟http相关的,对于我们用于shadowsocks负载均衡没有用,删除,或者注释掉吧。

加入:
fronted shadowsocks-in
        bind *:9001(这是你树莓派要开放给其他设备访问的shadowsocks服务的端口号)
        default_backend shadowsocks-out

backend shadowsocks-out
        server server1 ss1.acrossgw.com:20001 maxconn 20480
        server server2 ss2.acrossgw.com:20001 maxconn 20480
        server server3 ss3.acrossgw.com:20001 maxconn 20480
        server server4 ss4.acrossgw.com:20001 maxconn 20480

以上的地址是我从www.acrossgw.com购买的shadowsocks服务的节点地址和端口,换成你自己的节点地址和端口。
OK,ctrl+x 保存退出。

7)重启服务:
sudo service haproxy restart
把原来直接连接到shadowsocks的地址,改为树莓派的地址,开始享受Haproxy带来的负载均衡吧。怎么验证是否成功?两个标志:第一,能上谷歌,说明shadowsocks生效了;第二,全局代理的情况下多访问几次能显示ip的网站,比如www.ip138.com,可以看到你的访问ip不只是一个,说明负载均衡生效了。


8)几点说明:
8-1)我没有安装防火墙,所以,就不需要配置,如果你安装了防火墙,记得将相应的节点打开。
8-2)个人以为,用于负载均衡的shadowsocks节点最好是在相近区域的服务器,比如都是日本节点。因为考虑到,负载均衡后,如果这次的请求是日本youtube,而下次请求因为负载均衡,变成用美国节点来访问日本youtube,可能会导致速度变慢。个人想法,不一定正确。
8-3)作为负载均衡的几个服务器,必须加密方式和密码是一样的,但是通常购买的shadowsocks服务,同一账号的加密方式和密码都相同,所以,问题不大。但是如果你的shadowsocks是东拼西凑找来的,就不行了。

评分

2

查看全部评分

83

回帖

361

积分

48 小时

在线时间

少尉

注册时间
2012-3-16
金币
251 个
威望
2 个
荣誉
1 个
累计签到:12 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2016-5-16 22:56 |显示全部楼层
步骤写的很详细啊,只是一般人用不到
今天签到了吗?请选择您此刻的
回复

使用道具 举报

947

回帖

5852

积分

493 小时

在线时间

中校

注册时间
2015-3-27
金币
4806 个
威望
5 个
荣誉
1 个
累计签到:366 天
连续签到:0 天
[LV.730]常住居民
发表于 2016-5-17 00:14 |显示全部楼层
说的好像大家宽带可以跑满ss似的。。。
忌争吵,和为贵
回复

使用道具 举报

3360

回帖

4万

积分

4072 小时

在线时间

论坛巡察员

注册时间
2009-8-25
金币
38560 个
威望
13 个
荣誉
1 个
累计签到:3011 天
连续签到:0 天
[LV.3650]以坛为家
发表于 2016-5-17 10:49 |显示全部楼层
楼主能否告知下那家SS,我用的那家必须在官网上操作切换节点,换成那个就只能用那个。
吉星高照
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-9-21 01:45

返回顶部 返回列表