稳定运行了几年的 shadowsocks 及搭建方法

来自:https://github.com/net4people/bbs/issues/130


随着近期墙不断加高,我向大家分享一下我目前在用的 shadowsocks 搭建思路,这种方案稳定运行了几年,尤其包括天安门大屠杀周年以及两会等敏感日期,以及现在(日常维护除外)。

环境 和 软件:

Linux
shadowsocks-libev
iptables

缺点:

使用这种方法翻墙带宽流量成本会达到传统方案的三倍或更多;
出国段需要寻找优质线路;

流程:

[你的电脑] -> [CN-A 1.1.1.1] -> [INTER-B 2.2.2.2] -> [OUT-C 3.3.3.3]

通用建议:

  1. 移除所有云厂商植入的监控软件;
  2. 根据自己的系统进行包更新和安装iptables

[CN-A 1.1.1.1] 中国服务器

防火墙配置

1. 使用 iptables 允许特定端口的所有来源入站连接
2. 出站连接通过 iptables 限制为白名单模式,只允许访问 [INTER-B 2.2.2.2]
3. 将上述特定端口的所有请求转发至 INTER-B 2.2.2.2 对应的端口

注意事项:

此服务器需要根据你当前的运营商和所在地区进行挑选和测试,确保你的电脑到这台服务器的连接稳定,没有过多的绕路和延迟。
需要清理此服务器的所有云监控或云厂商植入的监控软件,安全卫士等插件。
此服务器位于中国且接受所有入站连接,但是出站访问为白名单模式,只允许访问 [INTER-B 2.2.2.2] 这台机器。

[INTER-B 2.2.2.2] 中转服务器

防火墙配置

1. 使用 iptables 允许来自 [CN-A 1.1.1.1] 的所有连接,拒绝所有其他连接。
2. 出站连接通过 iptables 限制为白名单模式,只允许访问 [OUT-C 3.3.3.3]
3. 将上述特定端口的所有请求转发至 OUT-C 3.3.3.3 的 shadowsocks 端口

注意事项:

此服务器需要根据你的 CN-A 机器进行挑选和测试,确保 CN-A 到这台服务器的连接稳定,没有过多的绕路和延迟。
需要清理此服务器的所有云监控或云厂商植入的监控软件,安全卫士等插件。
此服务器位于境外并且与 CN-A 服务器有着良好的连接和延迟。

[OUT-C 3.3.3.3] 出口服务器

防火墙配置

1. 使用 iptables 允许来自 [CN-A 1.1.1.1] 的所有连接,拒绝所有其他连接。
2. 放行所有出站连接。

服务器配置

安装 shadowsocks-libev;

加密方式使用 chacha20-ietf-poly1305;

密码尽可能复杂;

具体参考:https://gfw.report/blog/ss_tutorial/zh/

注意事项:

此服务器建议与 INTER-B 在同一个国家或者地区。
【重要】确保此服务器供应商的可靠性,比如不会遵守中国法律,或没有中资背景(建议:AWS,AZURE,Linode 等知名公有云)。
此服务器只允许来自 INTER-B 的入站连接。

在你的翻墙软件中使用 CN-A 1.1.1.1 的 IP 地址和上面 OUT-C 3.3.3.3 中设置的密码及加密方式访问即可。

最后:

我不会在这里贴出具体命令和一键脚本,抱歉。祝大家有一个愉快的上网体验,早日润。

1 条评论:

Myron 说...

可以从架构角度解释一下,为什么你有了出口服务器,还要部署一个中转服务器么?

我个人猜测的理由,是中转服务器比较简单。如果被墙了,换一个IP就好?