最近没什么教程好写的,那就闲的没事写个脚本吧!
Shadowsocks 中继(中转)能用的工具很多,我的网站介绍过 HaProxy、iptables、Socat。
昨天我写了Socat的脚本,今天我就写个HaProxy的脚本。当然,iptables的端口转发一键脚本我暂时是不会写的,iptables我也并不是很熟练 - -。
HaProxy手动教程:Shadowsocks利用HaProxy实现中继(中转)加速
其他 Shadowsocks中继(中转)教程:传送门
Socat:
优点:支持 TCP/UDP 转发。缺点:不支持端口段(多个端口需要开启多个转发)
HaProxy:
优点:支持 TCP 转发,支持 端口段 转发。缺点:不支持 UDP 转发。
iptables:
优点:支持 TCP/UDP 转发,支持 端口段 转发。缺点:配置麻烦,容易出错。
系统要求
Centos / Debian / Ubuntu 14.04 +
推荐 Debian / Ubuntu,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。
脚本版本
Ver: 1.0.7
安装步骤
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh
下载并运行脚本后,会自动检测并开始安装。安装完成后,会提示你输入监听的端口(转发的端口,支持端口段 2333-6666),欲转发到的IP:
请输入 HaProxy 的 本地监听端口(转发端口) [1-65535](支持端口段: 2333-6666): 10000-20000 请输入 HaProxy 欲转发的 IP:2.2.2.2 —————————————————————————————— 请检查 HaProxy 配置是否有误 ! 本地监听端口 : 10000 欲转发 IP : 2.2.2.2 —————————————————————————————— 请按任意键继续,如有配置错误请使用 Ctrl+C 退出。
安装完成之后会提示:
—————————————————————————————— HaProxy 已启动 ! —————————————————————————————— HaProxy 配置信息: 本地 IP : 1.1.1.1 本地监听端口 : 10000-2000 欲转发 IP : 2.2.2.2 欲转发端口 : 10000-20000 ——————————————————————————————
使用方法
# 查看haproxy配置 bash haproxy.sh view # 设置haproxy bash haproxy.sh set # 启动haproxy bash haproxy.sh start # 停止haproxy bash haproxy.sh stop # 重启haproxy bash haproxy.sh restart # 查看haproxy状态 bash haproxy.sh status # 卸载haproxy bash haproxy.sh uninstall # 对了,haproxy安装的时候自动设置了系统服务,所以你还可以用以下命令来管理 # 启动haproxy service haproxy start # 停止haproxy service haproxy stop # 重启haproxy service haproxy restart # 查看haproxy状态 service haproxy status # 重载haproxy配置 service haproxy reload
Shadowsocks客户端说明
假设你的 海外服务器(被中转) 中搭建的Shadowsocks服务端的IP是 2.2.2.2
,SS端口是 10000
。
假设你的 中转服务器 的IP是 1.1.1.1
,本地监听端口和SS端口一致,都是 10000
。
那么,你的Shadowsocks客户端,添加Shadowsocks服务器,IP填写 1.1.1.1
,端口填写 10000
,其他的 密码/加密方式/协议/混淆等等 全部和原Shadowsocks账号一样!
安装目录
配置文件:/etc/haproxy/haproxy.cfg
其他说明
防火墙设置
脚本 v1.0.1版本 已经自动设置了防火墙规则,如果发现没有或者其他情况,可以自己开放端口。
如果你设置后无法链接,那么多半是防火墙 阻拦了,只要开放端口 就行了。以上面的 示例的中继端口 23333 为例。
iptables -I INPUT -p tcp --dport 23333 -j ACCEPT # 端口段 iptables -I INPUT -p tcp --dport 2333:6666 -j ACCEPT
Centos系统执行(debian/ubuntu 不需要):
/etc/init.d/iptables save # 保存防火墙 /etc/init.d/iptables restart # 重启防火墙
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 8.8.4.4" >> /etc/resolv.conf
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
Centos系统:
yum install -y wget
Debian/Ubuntu系统:
apt-get install -y wget
更换 apt源,解决安装错误:[错误] Socat安装失败 等等
一些VPS的 apt源太老旧,导致无法安装socat,所以我这里写上如何更换 apt源。所以我只针对这两个系统,Centos的自己去谷歌yum镜像源。
依次输入就可以更换apt源了,下面的代码是以 us美国 为例,你可以自己去这里选一个近一些合适的,然后替换下面代码中 us.sources.list 的 us 。
wget -N --no-check-certificate -P /etc/apt https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list rm -rf /etc/apt/sources.list cp /etc/apt/us.sources.list /etc/apt/sources.list
更新日志
2017年08月12日,版本 v1.0.7
1.修复 部分系统 停止HaProxy异常的问题。
2017年08月12日,版本 v1.0.6
1.修复 检测系统版本不正确的问题。
2017年08月12日,版本 v1.0.5
1.修复 CentOS7 可能停止失败的问题。
2017年08月12日,版本 v1.0.4
1.修复 CentOS7 默认系统服务为systemctl 导致启动失败的问题。
2017年08月11日,版本 v1.0.3
1.新增 保存防火墙规则功能(原来的时候重启服务器防火墙规则就没了)。
2.修复 Debian系统 卸载失败问题。
3.优化 开机启动问题(改了开机启动方式)。
—— 这个脚本好老了,里面的代码也挺乱的,简单更新一下好了。
2017年03月11日,版本 v1.0.2
1.修复 CentOS系统 启动失败问题
2016年12月24日,版本 v1.0.1
1.增加 自动设置开机启动功能。
2.增加 自动设置开放防火墙端口功能。
3.修复 启动/停止 成功,但是提示失败的BUG。
2016年12月22日,版本 v1.0.0
1.推出 正式版本。
HaProxy手动教程:Shadowsocks利用HaProxy实现中继(中转)加速
其他 Shadowsocks中继(中转)教程:传送门
转载请超链接注明:逗比根据地 » 『原创』Shadowsocks HaProxy 中继(中转/端口转发) 便捷管理脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
所以说,你挂SS下载100M文件,SS服务器(被中转)消耗了200MB流量,然后中转服务器消耗了200MB流量。
Shadowsocks本身就是一个流量中转软件。
而服务器说的5M一般都是指的 上行5M.
错误是提示什么错误?