云服务器搭建SSR教程

作者 LiuChenZe 日期 2018-09-19 字数 2,832
SSR
云服务器搭建SSR教程

前言

本篇说明仅供交流与学习使用,请勿作出任何违反国家法律的行为。

本教程包含SSR客户端的功能介绍和使用方法的详细介绍以及常见问题解决


VPS服务商推荐

这里写一些自己买过的觉得挺适合初入坑者搭建SSR的主机商,主要是从价格和线路质量上考虑

如果你希望即使被墙也很容易(很低成本)的去更换IP,那么我推荐
AWS Lightsail > Vultr > CloudCone

  • CloudCone 有很多优惠套餐,平均1.5刀/月

    主要优点是便宜实惠,亚洲优化线路(非CN2,但是在亚洲优化线路中已经算很稳的了),被Q换IP一刀一次十分便宜,而且年付套餐可以删除退钱到余额,余额甚至还能提现 有比这更良心的吗,
    这家的国人客户也占大多数,而且很明显是想做好中国市场的,支持支付宝付款,照顾得很周到

  • 搬瓦工 CN2线路,平均2.4刀/月

    如果你还是觉得 CloudCone 的线路稳定性和延迟不满足你的需求可以考虑搬瓦工的CN2,是真的稳(不像某 HostMyBytes 便宜没好货),而且被Q可以换IP(好像是两刀一次,以及单位时间内免费换),支持支付宝付款

  • Vultr 5刀/月

    如果需要日本VPS这家我认为是考虑性价比和使用体验的首选,在几个月前曾经优化过日本线路,目前走ntt,听说晚高峰会爆炸但是我自己实际用起来并没什么感觉
    需要注意的一点是 Vultr 的IP都是被P站屏蔽了的,因此不能用来上P站,不过其实P站域名只是受到了DNS污染,自行加 Host 或者自行搭建无污染 DNS 都可以解决这个问题
    手游玩家注意,Vultr 日本过不去大部分稍严的日本限定IP认证,如果有这方面需求请看下面的 AWS
    对于电信联通用户只建议选日本机房,移动可以考虑新加坡
    虽然有很多开出来的IP是被Q的,因为是小时付机子所以可以不断的创建然后删除来刷,一次成本仅0.01刀,放心刷

  • AWS Lightsail 免费或5刀/月

    优点是 他家的日本能过基本绝大多数比较严格的日本手游的IP检测,甚至非日本都可以过,如果有这方面需求的比较推荐
    建议用 Github 学生包来薅羊毛,成功通过亚马逊学生认证可以得到150刀有效期一年的抵扣金额,机子随你开,不过注册亚马逊前请准备好信用卡,国内外皆可不限制,虚拟信用卡也可,如果是0额度的信用卡,请确保注册前卡内余额>=1刀以便一次通过扣费检测
    也是和 Vultr 一样电信联通只建议日本,线路是ntt,质量不差,移动可以考虑新加坡
    IP基本没被墙,所以可以放心开不需要刷,就算要刷也是小时付,而且貌似现在 AWS Lightsail 是动态IP,重启会换,那更不用怕了

  • Azure(微软) 只建议免费

    同样是学生认证福利,网上有很多教程可以撸到,一年有效期100刀,可以免费开到国内直连的香港,但是可用 流量很少只有15G(只计Out),就算100刀用完了也可以继续使用免费的学生套餐机,流量10G(只计Out)
    缺点很明显就是流量少了点,而且微软家 Hyper-V 虚拟化再加上那种比较专业的资源管理面板(参考亚马逊EC2)对新手来说可能会很难用……而且 随时有翻车可能

  • 阿里云、腾讯云国际 注册要外国信用卡,建议代购

    如果你想要稳定的香港VPS,我只建议你上这些大厂的国际,找代购或者买礼金号

SSR搭建

现在你已经有了一个自己的云服务器了,给自己的云服务器装一个Linux,什么版本的都可以,然后就可以进行下面的工作了

  1. 进入服务器,执行以下代码

    wget -N --no-check-certificate https://freed.ga/github/ssr-install.sh && bash ssr-install.sh
  2. 如提示

    wget :command not found

    请执行:

    yum install wget -y
  3. 安装完后会直接提示新增用户,输入密码,默认 www.qcgzxw.cn

ShadowsocksR

  1. 输入端口

ShadowsocksR

  1. 按任意键开始安装

ShadowsocksR

  1. 成功截图

ShadowsocksR


SSR连接方法

推荐使用 Windows - SSTap 来连接SSR

SSTap 全称 SOCKSTap, 是一款利用虚拟网卡技术在网络层实现的代理工具。
SSTap 能在网络层拦截所有连接并转发给 HTTP, SOCKS4/5, SHADOWSOCKS(R) 代理。
而无需对被代理的应用程序做任何修改或设置。
它能同时转发 TCP, UDP 数据包。
它非常适合于游戏玩家使用。

  1. 添加SS/SSR,输入搭建成功页面显示内容, 没有显示的内容不需要填写

ShadowsocksR

  1. 模式按需要选择即可即可

ShadowsocksR

  1. 好了, 到这里小伙伴们就可以畅游世界网络了!

SSR常用命令与配置

常用命令

  • 启动 /etc/init.d/shadowsocks start
  • 停止 /etc/init.d/shadowsocks stop
  • 重启 /etc/init.d/shadowsocks restart
  • 状态 /etc/init.d/shadowsocks status
  • 更新 /etc/init.d/shadowsocks update
  • 卸载 /etc/init.d/shadowsocks uninstall
  • 添加用户 /etc/init.d/shadowsocks adduser
  • 删除用户 /etc/init.d/shadowsocks deluser

修改密码,配置多端口

  1. 输入 vi /etc/shadowsocks.json
  2. i 进入编辑模式,内容如下
{
"server":"0.0.0.0",
"server_ipv6":"::",
"local_address":"127.0.0.1",
"local_port":1081,
"port_password":{
"端口1":"密码1",
"端口2":"密码2",
"端口3":"密码3",
"端口4":"密码4"
},
"timeout":120,
"udp_timeout":60,
"method":"chacha20", // 加密方法
"protocol":"auth_sha1_compatible", // 协议
"protocol_param":"",
"obfs":"http_simple_compatible", // 混淆
"obfs_param":"",
"dns_ipv6":false,
"connect_verbose_info":0,
"redirect":"",
"fast_open":false,
"workers":1
}
  1. 按esc返回,输入 :wq 然后输入回车,保存
  2. 输入 /etc/init.d/shadowsocks restart 重启SSR

如果不能联网,则依次输入以下命令来关闭防火墙

  1. service iptables restart
  2. service iptables stop
  3. chkconfig iptables off
  1. 开启相应端口即可,开启端口命令如下

iptables -I INPUT -p tcp --dport 端口 -j ACCEPT

例如开80端口 iptables -I INPUT -p tcp --dport 80 -j ACCEPT

github 连接超时问题

修改 hosts/etc/hosts 文件。在文件最后增加一行 219.76.4.4 github-cloud.s3.amazonaws.com

SSR提速

锐速(仅支持KVM,Xen,vmare架构,如果网速较慢,可使用锐速,看YouTube 1080p无压力)

  1. 由于锐速对内核要求严格,所以要先更换内核, Vultr需先执行此脚本, 脚本执行过程中,请勿进行任何操作。待服务器重启后,重新连接安装锐速即可。

    wget -N --no-check-certificate https://freed.ga/kernel/ruisu.sh && bash ruisu.sh

  2. 锐速安装脚本:

    wget -N --no-check-certificate https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh && bash serverspeeder.sh

  3. 备用脚本

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

一些建议

这仅仅是建议,并不能保证你的VPS安然无恙,除此之外的,由于GFW诡异的算法和判定方式,虽然加密协议混淆之类的也许没有什么太大的作用,我仍然推荐你进行设置:

推荐使用的加密/协议/混淆

1. SS

  1. 加密推荐使用 AEAD 加密,包括以下几个

    • aes-128-gcm
    • aes-192-gcm
    • aes-256-gcm
    • chacha20-ietf-poly1305
    • xchacha20-ietf-poly1305

    对于移动设备来说,ARM v8以后的CPU使用 aes-gcm 的效率要高于 chacha20 ,因此更推荐使用 aes-256-gcm

  2. 混淆推荐使用 plain ,即不使用混淆插件,或者使用 http_simple

2. SSR

  1. 加密推荐使用 none
  2. 协议推荐使用 chain_a
  3. 混淆推荐使用 plain 或者 http_simple

    能用 plain 没问题就用 plain ,当在 plain 情况下你察觉到网络有异样,且你了解 http_simple 混淆参数的用途,再酌情使用http_simple

混淆为什么不选 tls

虽然有人觉得这很迷信但是我还是要讲

前段时间我与其他人讨论的时候,就发现了一个共同点,那就是被Q的人大多数都使用了 tls1.2_ticket_auth 混淆;而一些混淆 plain 的人,即使还在使用老旧甚至过时的协议,却安然无恙

很有理由猜测 GFW 已经掌握了 tls 混淆的特征

让我更确信了我的猜测的是,后来询问我被Q相关问题的人,大多数都用的是搬瓦工后台自带SSR,因为我从没有用过搬瓦工,我询问了他们后才知道,搬瓦工的SSR是强制 tls1.2_ticket_auth 混淆,嗯,真不愧是 GFW 最佳合作伙伴(而且搬瓦工自带SSR居然没有 AEAD 加密)

后来,推特上也有人指出

SSR的tls凭据复用已经成为安全问题 不要用了

而且,就 tls 混淆原本的用途来说,tls 混淆只是为了突破部分地区的网络环境才有的 QoS 限制,一般情况下根本不需要使用, 一切因使用混淆而产生的看似是网络加速了的效果都是因为绕过了限制,混淆实际上会减慢你的网络速度

并且,如果你并不明白http(s)协议的具体细节,没有这方面的计算机网络知识,那么也不要轻易使用 http_simple 之类的混淆;如果没有必要,也不要使用80和443端口,这些在 GFW 眼里很可能会成为一种明显的特征

加密这块到底是怎么回事

简单的来说,我们若干年前使用的非 AEAD 加密,都存在被主动探测到的风险(这一块如果感兴趣想了解,可以自行查找 AEAD 加密的相关科普博文)

因此,如果是SS,强烈推荐使用之前提到的那5种 AEAD 加密,为了防止今后(可能的)来自 GFW 的主动探测(虽然实际上基本不会有这种可能)

而SSR,虽然目前并没有使用到 AEAD 加密,但是破娃酱在设计协议的时候已经考虑到了主动探测问题并且针对这块进行了设计,因此目前来说还是相对安全的,前提是你使用的是 chain_aauth_aes128_md5auth_aes128_sha1 协议

对于SSR, chain_a 是目前最佳的协议; chain_b 虽然说更难以被识别,但是仍是一个测试版协议,并且实际使用发现丢包现象莫名十分严重,并不能用;至于SSR那些 chain_c/d/e/f, 可以看看这里

之前提到的推荐配置中,SSR的加密为 none 的原因是, auth_chain 系列协议已经自带了 RC4 加密,针对 UDP 部分也有加密及长度混淆,因此一般情况下不需要再进行额外的加密;如果你觉得 RC4 加密有安全隐患,再套一层其他加密也可


本文作者:LiuChenZe

本文链接:http://LiuChenZe.github.io/2018/09/19/云服务器搭建SSR教程/

版权声明: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。