还有谁不知道我的网站域名更换为 doub.io 了?这都快两个月了,还有人不知道,一取消 301重定向,立马就找不到了!
逗比交流群: 531201358 / Telegram

『原创』Shadowsocks HaProxy 中继(中转/端口转发) 便捷管理脚本

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

最近没什么教程好写的,那就闲的没事写个脚本吧!

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.1

安装步骤

wget -N --no-check-certificate https://softs.pw/Bash/haproxy.sh && chmod +x haproxy.sh && bash haproxy.sh

备用下载地址(上面的链接无法下载,就用这个):

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/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 “softs.pw” 之类的错误

这是无法解析我的域名,多半是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://softs.pw/Bash/sources/us.sources.list
rm -rf /etc/apt/sources.list
cp /etc/apt/us.sources.list /etc/apt/sources.list

更新日志

2016年12月24日,版本 v1.0.1

1.增加 自动设置开机启动功能。

2.增加 自动设置开放防火墙端口功能。

3.修复 启动/停止 成功,但是提示失败的BUG。

2016年12月22日,版本 v1.0.0

1.推出 正式版本。


HaProxy手动教程:Shadowsocks利用HaProxy实现中继(中转)加速

其他 Shadowsocks中继(中转)教程:传送门

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

赞 (4)
发表我的评论
取消评论
表情

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(12)个小伙伴在吐槽
  1. 安装后提示unknown keyword 'ulimit' in 'global' section,我把那一行#掉后可以运行,什么原因呢,谢谢,Aliyun转发Vultr,谢谢,都是Debian 系统
    Lion2017-01-30 19:19 回复
    • 这个注释掉不影响haproxy运行,至于报错,可能跟haproxy版本有关系,因为是通过包管理器安装,根据源不同,安装的haproxy版本也可能不一样,会有差别。
      Toyo2017-01-30 20:47 回复
      • 谢谢
        Lion2017-01-30 20:52 回复
  2. 请问一下 中转后 流量是扣中转服务器还是被中转的?
    chp2017-01-08 14:28 回复
    • 都扣,你SS下载100MB文件,你的SS服务器(被中转服务器)首先下载这个文件到VPS,然后通过上行上传给中转服务器,然后中转服务器,通过下行接收,下载到中转服务器本地,然后通过上行上传给你PC SS客户端。
      所以说,你挂SS下载100M文件,SS服务器(被中转)消耗了200MB流量,然后中转服务器消耗了200MB流量。
      Shadowsocks本身就是一个流量中转软件。
      Toyo2017-01-08 16:14 回复
      • 想再问问 如果中转服务器带宽200m SS服务器5m 那中转后是不是200m?
        chp2017-01-11 10:30 回复
        • 还是5M,你下载一个文件,Shadowsocks服务器下载完你要的文件后,会把数据通过上行上传给中转服务器,然后中转服务器通过下行下载到VPS本地,然后中转服务器再把数据通过上行上传给你的电脑SS客户端。
          而服务器说的5M一般都是指的 上行5M.
          Toyo2017-01-11 12:35 回复
  3. Reading package lists... W: There is no public key available for the following key IDs: 9D6D8F6BC857C906 W: There is no public key available for the following key IDs: 7638D0442B90D010 Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package haproxy haproxy install failed. 手动./haproxy.shh.1 可以填写端口和转发IP,但是结尾也是haproxy install failed. 我用的是板瓦工的DEBIAN 7
    7892016-12-30 04:21 回复
  4. Debian 7 一键安装包提示 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package haproxy haproxy.sh: line 62: haproxy: command not found [错误] 安装HaProxy失败,请检查 ! 手动安装提示无法找到haproxy 我从官网找的1.7安装后找到了在/usr/local/haproxy 然后就不知道怎么弄了。。 最近刚学习这些东西。。 感谢你
    7892016-12-30 04:13 回复
    • 一些比较老的apt源不包括HaProxy,你只要换一个新的源就行了。
      Toyo2016-12-30 14:38 回复
  5. 我用Vultr家 日本的vps os:ub14 x64 ,一键脚本执行完后,提示请检查Haproxy配置是否有误。 在配置中提示的支持端口是不是意思,需要SS服务器端也是在这个端口端内。 然后错误后也一直无法启动是否是上述原因?
    Johnson.zha02016-12-23 15:16 回复
    • 比如你搭建的Shadowsocks服务端 设置的SS账号端口是 2333,那你这里就写2333,IP填写你SS账号的IP,然后你的Shadowsocks客户端连接中转服务器,就是IP填写 中转服务器的IP,端口依然是2333,其他的密码,加密方式什么的都一样。
      错误是提示什么错误?
      Toyo2016-12-23 17:12 回复