使用haproxy中转Shadowsocks流量一键安装脚本

haproxy
本脚本适用环境:
系统支持:CentOS,Debian,Ubuntu
内存要求:≥128M
日期:2016 年 03 月 26 日

关于本脚本:
一键安装并配置 haproxy,实现中转 Shadowsocks 的功能。

背景说明:
Shadowsocks,一款优秀的基于各种加密方式的 socks 代理工具。既然已经有了 Shadowsocks 可以直接使用,为什么还要通过第三方服务器来中转呢?原因无非以下几点:
1、克服本地带宽和国际带宽通信不足。本地直连 Shadowsocks 走的是国际流量,由于众所周知的原因,某些地区会被限速甚至干扰。通过国内机房的第三方服务器来做中转,从而克服本地网络国际带宽不足的问题。
2、隐藏真实 IP 的需要。这点不多解释。

简要讲解:
假设你的本地电脑为 A,haproxy 服务器为 B,Shadowsocks 服务器为 C。
A 当然可以直接去连 C,但如上所说,往往你的本地网络国际带宽不足,实际上的可用速度并不快。假设 B 是国内某机房的服务器,机房服务器带宽一般来说比你本地网络带宽要大得多。A 连接 B,通过 B 连接 C 中转流量,如此一来,虽然成本有所上升,但却能明显改善网络带宽情况。

使用方法:
使用root用户登录,运行以下命令:

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/haproxy.sh
chmod +x haproxy.sh
./haproxy.sh

安装的过程中,交互提示如下:

haproxy

第一步输入需要 haproxy 代理的端口号,这里要跟 Shadowsocks 服务器开放的端口号一致。
第二步输入 Shadowsocks 公网 IPv4(注意:不是 haproxy 本机的 IP 地址)

安装完成后,脚本提示如下:

Congratulations, haproxy install completed.
Your haproxy Server IP: your_haproxy_server_ip
Your haproxy Server port: your_haproxy_server_port
Your Input Shadowsocks IP: your_shadowsocks_server_ip

Welcome to visit:https://shadowsocks.be/10.html
Enjoy it.

卸载方法:
使用 root 用户登录,Debian 或 Ubuntu 系统运行以下命令:

apt-get -y remove haproxy

CentOS 系统运行如下命令:

yum -y remove haproxy

然后再删除 haproxy 的配置文件目录即可,命令如下:

rm -rf /etc/haproxy

使用命令:
启动:/etc/init.d/haproxy start
停止:/etc/init.d/haproxy stop
重启:/etc/init.d/haproxy restart
状态:/etc/init.d/haproxy status

配置文件路径:/etc/haproxy/haproxy.cfg

其他说明:

  • 1、在安装此脚本之前,请确保 Shadowsocks 服务器能正常使用,也就是说,你直接连上 Shadowsocks 服务器的可用的。
    如何一键搭建 Shadowsocks 服务器,请参考本站相关文章。

  • 2、如果你需要代理多个端口,请自行修改 haproxy 的配置文件 /etc/haproxy/haproxy.cfg
    修改如下所示的部分:

frontend ss-8989
bind *:8989
default_backend ss-8989
backend ss-8989
server server1 111.222.111.222:8989 maxconn 20480

111.222.111.222 是示例 IP,你需要改成你自己的 Shadowsocks 服务器 IP 地址。
其中,frontend 和 backend 是成对出现的。如果你需要添加更多端口,只需复制这两处,并做相应修改即可。
frontend 是 haproxy 使用的端口,backend 是连接 Shadowsocks 服务器的端口。我这里为避免混淆,把两者端口统一了。

  • 3、客户端配置说明

client

服务器IP:此处填写 haproxy 服务器的公网 IP(脚本最后显示的 Your haproxy Server IP)
服务器端口:此处填写 haproxy 服务器代理的端口(脚本最后显示的 Your haproxy Server port)
密码:此处填写 Shadowsocks 服务器所对应的端口的密码
加密:此处选择 Shadowsocks 服务器所对应的端口的加密方式
协议:此处可选,如果你安装的是 ShadowsocksR 服务端可选择,默认即可
混淆:此处可选,如果你安装的是 ShadowsocksR 服务端可选择,默认即可

  • 4、本脚本没有对防火墙进行任何设置。因此,在安装完毕后,如果你发现连接不上,可以尝试更改防火墙设置或关闭防火墙。

  • 5、值得注意的是,haproxy 只能使用 TCP 方式中转流量。

标签: shadowsocks, haproxy

评论已关闭