CENTOS6.9配置ssr+锐速

科学上网教程(一)——VPS上搭建SSR

字数统计 5,469 | 阅读时长 21m

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

更新

2016.06.26 与SSR有关部分基本完成。

2016.09.29 更新SSR部分内容

2016.10.09 更新SSR内容,更新Android端接入。

2016.11.09 更新SSR混淆相关内容,更新SSR-Android,更新部分介绍。

2016.11.20 整合一部分VPS优化内容

2016.12.11 删减调整一部分内容

2016.12.15 替换锐速优化为 BBR,整合TCP优化

2016.12.26 更换TCP BBR 脚本,脚本来自@秋水逸冰 版本,测试通过

2017.01.11 同步更新一部分SSR内容

2017.02.17 同步更新,调整删减内容,降低上手难度,增加VPS测速相关内容

2017.03.28 调整一部分内容,更新Vps推荐

2017.04.08 新增 VPS 安全加固

2017.05.24 同步更新内容,更换协议,增加新内容。

2017.06.28 删减过时内容,同步更新

2017.07.03 更新BBR内容,VPS测速

2017.07.12 更换过时截图,修正错误。

2017.07.28 更换失效链接,可能是最后一次更新了

2017.10.18 更新vps内容,缩减无效信息.


  • SSR原作者已删除代码库,应该不会再更新此教程,这个教程开始到现在1年多,基本没有停更,收获了50000多的没加水的阅读量,谢谢大家!
  • 我开始有些明白GFW的不断强化并不是最可怕。或者说GFW的存在并不重要.人心的墙永远有人在无偿加固。

安装脚本说明:遇到失效等,请留言或邮件我!

  • 脚本来源 @秋水逸冰 ShadowsocksR一键安装脚本
  • 隐私/后门:(这个结论仅对本文使用脚本负责) 文章中所使用的脚本,除默认用户名/密码外,没有任何夹带私货。脚本亦开源,不放心可以下载后自行审计!

    https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh

  • SSR 服务器端更新: 使用此一键脚本安装的,不能使用其他命令更新,只能通过 备份配置文件,卸载再重新安装!也都不是事,备份一下配置文件,重新安装,覆盖配置文件,重启即可。

基本从0开始的教程,当作自己的备份了。

  • 吐槽 作为一个伪程序员,每次最苦恼的就是Android SDK的更新,当初安装Android Studio时候就因为防火墙折腾了整整2周,简直就是把自学Android的那点耐心都磨没了。各种的搜索文档,离了google效率下降70%!科学上网简直成了程序员的必备生存技能了。

谁比较需要单独购买VPS科学上网?

  • 只是翻墙简单浏览网页,就不必要再单独花费人民币了,蓝灯、和各个网站的免费ss账户,是你的主菜。
  • 偶尔看看视频、不想画太多精力在寻找免费资源上。可以直接购买现成的ss/vpn账户,在G+相应的社区可以找到很多比较靠谱的提供商。
  • 常年泡视频网站又受不了国内视频网站乱七八糟、24h使用google服务、对稳定性和流量有一定要求、愿意使用一点时间来折腾VPS。比较适合单独购买VPS来科学上网。VPS选择如下会提及。
  • 搜索文档,更新软件源、折腾个人网站又不想备案的、折腾开源的 这部分大神谁会来看这个啊,早自己分分钟写个轮子了

VPS选择

选择VPS看那几点 一定要根据自己的具体使用场景和网络环境来选择VPS服务。 选择VPS的一般要注意的几点

自己的具体网络环境

  • 简单来说,一般联通的国际出口稳定性大于电信、移动的国际出口看心情有的地区甩电信联通几条街,坏的时候根本没速度。电信网路比较特殊,国际出口充足,但是限速到不能忍,不挤的时候嗖嗖的,高峰期渣到爆炸.移动出口不错,但墙中墙..
  • 其他二级宽带商忽略不计

VPS地点。

  • 日本VPS电信网络访问要绕道美国绕道ping一般在200到300了,(9.29)联通直连日本,ping在100!联通目前也分地区有限速。(2.17)联通因为16年年底海底光缆故障损失了30%的国际出口,导致新年到现在出口路由并不稳定,联通-日本ntt延迟有时200有时100.(6.28)目前读者反映ntt比较稳定。已放弃亚洲地区vps(10.18),不稳定相比其他地区.

  • 美国的VPS联通/电信访问延迟基本相当。一般选择靠近美国西海岸节点旧金山、洛杉矶、纽约等地点。电信限速很厉害,所以一般电信网需要开混淆配合FinaSppeed等加速。可以选择便宜cn2线路vps,会好很多.

  • 新加坡节点,在靠近南方地区,可以ping在100以内稳定!youtube 4k不卡。但在偏北一些地区ping不稳定
  • 香港VPS,这个比较特殊,香港的VPS ping值可以低到20几,但是香港本身的国际出口就小,VPS价格也偏高,另外香港毕竟也在政府的直接管辖内,隐私方面风险比其他地区节点要大一些。建议土豪级别的游戏玩家使用。

VPS虚拟化架构 (具体解释请自行google,只说明对科学上网的影响)

  • OpenVZ(简称OVZ) 便宜!但是没法进行修改内核、加锐速之类的优化操作。访问速度基本取决于你的本地网络环境优化的可能性。(不是没有可以加速的手段,就是在基本相同情况下,不如其他架构的vps可以榨干VPS的传输性能)。加速手段:Finaspeed(已停止更新) 和net-speeder。
  • Xen性能较好,实际用的不多,不做更多评论
  • Hyper-VH完美支持Windows系统,Hyper-V同样可以超售内存和硬盘,如果服务商超卖较多可能会有性能问题,Linux操作系统性能较低。
  • KVM全功能虚拟化架构,可上传ISO手动安装系统。KVM VPS相对其它架构的VPS较为自由。虚拟化性能比Xen略低。可以使用TCP优化和锐速,价格比一半OVZ的要高一些。(本教程以KVM为例。。速度需求大的最好使用KVM)

VPS提供商

  • 这个就比较多了,尽量选择购买人较多的,而且一般支持支付宝的服务商被国人玩半残居多(比如搬瓦工。。超售严重),所以购买不支持支付宝的vps提供商 (相对) 要靠谱一点。注册paypal国际版注:是国际版paypal 不是国内的贝宝!)一般的vps提供商都支持paypal付款。与使用信用卡相比,具体的优惠政策不同.
  • 支持支付宝/微信的服务商良莠不齐,第一次购买需要注意退款政策,虚拟化架构等,最好按月支付。现在使用的是洛杉矶的KVM机器,配合BBR基本3网通吃,除个别时段非常稳定。电信推荐洛杉矶C3机房,虽然为半程cn2,但足够便宜稳定.
  • 推荐几个 VPS 的评测网站,相对更新很快。

    http://www.laozuo.org/myvps https://doub.io/ https://www.91yun.org/

VPS测速

  • 决定科学上网质量的主要是由vps回城的线路决定.

常用VPS提供商测速地址

以vultr东京节点为例

  • 有的vps提供商只提供测速网址,而测速大多以ip地址为主, ping命令可以获取 测速网址 对应的ip地址

最简单的命令 PING (延迟测试)

  • win+r组合键打开运行栏
  • 输入cmd,回车
  • 如图Windows_Command_Prompt_running_on_Windows_8.1.png

  • 输入 ping 你需要测试的ip地址

  • 这里是

    1

    ping hnd-jp-ping.vultr.com

  • 应答如下 ScreenShot_20170217105236.png

  • 这里可以看到具体的测速ip地址为 108.61.201.151 选中 Ctrl + C复制下来
  • 延迟141 左右,还在接受范围内。丢包大致作为参考即可,只有4个包发送,不足以作为结果 注意这里的延迟只是ping检测的结果,可以作为实际访问延迟的参考值,而不是绝对准确!

测速相关网站

  • 查询ip地址归属地 不要使用 百度搜索查询ip地址 那些数据国内尚可,vps一般对应国外网站,百度等则错误不少,推荐: ipip.net

    https://www.ipip.net/ip.html

  • 全国ping检测 有时ss属于合租服务器,可能在不同省份,需要评估ip到不同省份的延迟,这个时候就需要 全国范围内的ping检测 首推: 站长之家ping检测

    http://ping.chinaz.com/

路由追踪 Best Trace

  • Best Trace是由 IPIP.NET 开发的路由追踪检测工具 官方地址下载
  • 路由追踪 即 检测数据 从你的本地宽带开始 到 vps 的整个过程中走的路径,例如 北京联通 到 vultr东京 从北京直接连到日本,而 河南电信到 vultr东京 则是先到美国,再去日本。
  • 上图说话(图片来自91yun) 001.jpg
  • 这款软件几乎没有上手难度 具体介绍如下

    http://www.laozuo.org/8277.html

丢包率 WinMTR

VPS自身测试(7.03)

vps部署

  • 我选择的是Vultr VPS。2.5刀/月,500G流量 怎么折腾都够了。
  • 本节内容转载/删节/修正自

    https://mpc2008cn.github.io/2015/10/22/vps/ 就是从这开始折腾的,有删减和修改。

    Vultr

  • 通过下面链接注册,你可以免费获得 10美元 同时 也能帮助我获得一些奖励,谢谢!

  • Vultr地址

服务器选择

  • 选择东京或者美国西海岸的服务器,速度相对比较快 1.jpg

操作系统

  • 推荐选择Debian 7 x64 此版本搭建SSR/锐速/bbr基本没有遇到故障 其他版本也可,请自行选择 2cef26.jpg

选择硬件

  • 一个月可以免费用$5的配置,科学上网就够了,建站等需求需要更大的。
  • 创建vps 等待完成。

VPS测试(可忽略,但是推荐进行)

  • 你可以使用上面提到的 VPS测试软件,来查看 自己的vps到本地的 路由追踪 时候与 官方测试地址 相同,丢包率/延迟如何等
  • 现在几乎所有的vps运营商 都有大量的国人涌入,有一点概率你开到的IP 是被 长城防火墙 阻断过,被废弃的ip。在正式搭建 科学上网 服务之前,请确保自己 VPS 的可访问性

配置securecrt(不必在意ip地址)

  1. 下载securecrt
  2. 复制服务器的IP地址,初始用户名,初始密码 6.jpg
  3. securecrt连接vps
    • 解压下载的secure crt,双击\\SecureCRT_EN\\SecureCRT\\中的SecureCRT.exe
    • 输入IP地址,用户名,点击connect crt1.png
    • 弹出框点击Accept&Save crt2.png
    • 输入密码,勾选save password,OK crt3.png
    • 出现如图所示,标签变绿就说明连接成功啦. crt4.png

部署ShadowSocksR

  • 为什么选择SSR而不是原版的SS 主要原因如下
    • 可以直接启用chacha20加密,在移动设备上比较好使
    • TFO(TCP Fast Open)直接自带,减少握手次数。
    • 二次混淆和抗重放等附加功能

shadowsocksR的相关争论在以下网址中,至于用户而言,现在ssr开源,一定的网络环境下比原版的ss稳定就够了。

SSR有关网址

安装SSR

shadowsocks.json配置文件

  • shadowsocks.json文件中定义SSR的访问端口,加密方式等,我们使用 WinSCP软件进行编辑修改(更为友好),直接使用 securecrt 等工具 使用 vim 命令修改也可,此文中暂不涉及

  • WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件.

  • 下载WinSCP绿色中文版。
  • 解压缩打开winscp,保持默认配置不变,输入VPS的ip地址、用户名、密码。点击登陆。 21.jpg
  • 默认在/root文件夹下,要进入/etc文件夹下找到shadowsocks.json 22.jpg 23.jpg 24.jpg

编辑shadowsocks.json文件

  • 注释

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    {

    “server”:”0.0.0.0”,

    “server_ipv6”:”::”,

    “local_address”:”127.0.0.1”,

    “local_port”:1080,

    “port_password”:{

    纯 SS 不带混淆 端口25 密码为123456.

    “25”:”123456”,

    端口443,密码123456 ,protocol选择auth_chain_a。obfs选择tls1.2_ticket_auth,具体插件的介绍如下参考资料中

    “443”:{“protocol”:”auth_chain_a”, “password”:”123456”, “obfs”:”tls1.2_ticket_auth”, “obfs_param”:””},

    注意无论怎么变化,最后一个端口设置,不带逗号!

    “3389”:{“protocol”:”auth_aes128_md5”, “password”:”123456”, “obfs”:”tls1.2_ticket_auth”, “obfs_param”:””}#此处没有逗号!

    },

    “timeout”:400,

    默认全局的加密方式,即上边各个端口的默认加密方式。一般为aes-256-cfb, 此处,选择为chacha20,移动设备性能较好。

    “method”:”chacha20”,

    protocol.协议定义插件的默认值,origin即使用原版SS协议,不混淆。即上面端口配置中,你没有设置 protocol 和 obfs 情况下,使用的默认值。

    “protocol”: “origin”,

    “protocol_param”: “”,

    protocol.协议定义插件的默认值,plain即使用原协议,不混淆。

    “obfs”: “plain”,

    “obfs_param”: “”,

    “redirect”: “”,

    “dns_ipv6”: true,

    TCP FAST OPEN ,打开

    “fast_open”: true,

    “workers”: 1

    }

  • 无注释版本,直接复制粘贴覆盖原始文件,或者在原文件上修改

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    {

    “server”:”0.0.0.0”,

    “server_ipv6”:”::”,

    “local_address”:”127.0.0.1”,

    “local_port”:1080,

    “port_password”:{

    “25”:”123456”,

    “443”:{“protocol”:”auth_chain_a”, “password”:”123456”, “obfs”:”tls1.2_ticket_auth”, “obfs_param”:””},

    “3389”:{“protocol”:”auth_aes128_md5”, “password”:”123456”, “obfs”:”tls1.2_ticket_auth”, “obfs_param”:””}

    },

    “timeout”:400,

    “method”:”chacha20”,

    “protocol”: “origin”,

    “protocol_param”: “”,

    “obfs”: “plain”,

    “obfs_param”: “”,

    “redirect”: “”,

    “dns_ipv6”: true,

    “fast_open”: true,

    “workers”: 1

    }

重启SSR

  • 配置完成后,重启SSR,以root账户登陆securecrt,复制以下代码,重启ssr。

    1

    /etc/init.d/shadowsocks restart

  • 会提示shadowsocksr重启成功。(如图) 25.jpg

更新SSR

  • vps端,需要先令存 shadowsocks.json文件。再执行卸载

    1

    ./shadowsocksR.sh uninstall

    之后重新执行安装脚本即可

混淆选择(新手可略过)

混淆插件简介

  • ShadowsocksR目前支持的混淆插件(此类型的插件用于定义加密后的通信协议): plain ,http_simple ,http_post,random_head ,tls1.2_ticket_auth _协议定义插件(用于定义加密前的协议): origin, auth_sha1, auth_sha1_v2, auth_sha1_v4, auth_aes128_md5/auth_aes128_sha1
  • auth_aes128_md5/auth_aes128_sha1 支持 单端口多用户,即一个端口 可以配置 几个不同的密码,稍后更新。
  • ShadowsocksR 协议插件文档

混淆插件选择(5.24)


  • 通用
  • 推荐auth_chain_a+tls1.2_ticket_auth 这种组合目前混淆效果最好,有利于个人VPS的长时间使用。
  • (5.24)auth_chain_a可不使用用加密,即加密方式None(SSR作者语),但是吧,性能差不多的情况下,加个密没毛病。
  • auth_aes128_md5或auth_aes128_sha1+随意,即使使用rc4加密亦可(SSR作者语)
  • 玩游戏,或对延迟有要求,不要使用tls1.2_ticket_auth

  • 网络封锁/监控环境下
  • 例如学校教育网/公司内网/广电宽带等等,封杀了BT/禁止访问网盘等等等等。
  • 使用http_simple、http_post或tls1.2_ticket_auth 混淆访问的目标网址。再配合443/80端口通常可以解决问题。

  • Android
  • (5.24)最好使用auth_chain_a。
  • 如果之前使用的是auth_aes128_md5,推荐以auth_chain_a替换
  • 手机运算能力较差的推荐使用auth_sha1_v4替换auth_aes128_md5

单端口多用户

伪装正常网站(推荐)

  • 适用场景 最大程度减少GFW主动扫描,被发现的可能性. (伪装网站后,无法使用单端口多用户)
  • https://doub.io/ss-jc48/ 逗比根据地的介绍,很详细,搭配最新的auth_chain_a 混淆,很好用。

  • http网站对应混淆选择http 或 post

  • https 网站选择tls1.2
  • 域名申请,免费!

    https://my.freenom.com/clientarea.php

  • DNS解析(目前国内网站 域名 CDN DNS解析 均需备案实名,故放弃)

    https://www.cloudflare.com/

VPS优化

TCP优化

  • 增加TCP连接数量

    1

    nano /etc/security/limits.conf

    添加两行:

    1

    2

    * soft nofile 51200

    * hard nofile 51200

    保存(Ctrl + X —— y ——回车)

  • 设置ulimit:

    1

    ulimit -n 51200


    CENTOS6.9不换内核安装锐速

请参照以下示例:1. 使用锐速安装脚本,得知不能匹配到内核.

  1. 通过 uname -r 查看到的版本号为 2.6.32-642.el6.x86_64 ,
  2. 去查看 锐速版本库 发现有个内核版本很接近 2.6.32-573.1.1.el6.x86_64 .
  3. 执行安装命令:

    1

    wget —no-check-certificate -O appex.sh https://raw.githubusercontent.com/0oVicero0/serverSpeeder\_Install/master/appex.sh && chmod +x appex.sh && bash appex.sh install ‘2.6.32-573.1.1.el6.x86_64’

    锐速安装脚本就会强制安装内核版本为 2.6.32-573.1.1.el6.x86_64 的锐速. 安装命令中的 2.6.32-573.1.1.el6.x86_64 可自行更改.

  4. 启动锐速
    • 如果启动成功,恭喜你!
    • 如果启动失败,请重复 2-5 步骤! 不要害怕失败,安装失败并不会影响系统运行.

[锐速] [serverSpeeder] [lotServer]


声明: 毕竟你都要换内核了,就不要谈稳不稳定. 如因此造成损失,本人不负任何责任.


温馨提醒:**数据无价,请及时备份数据.**

TCP-BBR(推荐)


  • 脚本来自于@秋水逸冰
  • 敬告
    • 锐速不支持,更换后的 4.9及以后 内核
    • 加速效果与具体网络状态有关
    • 不推荐新手直接安装修改版BBR,挂掉后很难恢复。

  • BBR (Bottleneck Bandwidth and RTT)是由google工程师编写的新的 TCP 拥塞控制算法,目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 加速效果不比锐速差, 完全开源,对隐匿性要求高而无法使用锐速的人士,也可以放心使用 开源地址
  • 启用TCP-BBR涉及VPS更换内核,所以如果步骤错误,或者VPS不兼容最新的内核,会导致无法开机等错误
  • 目前在 Vultr / DO 上测试通过。其他主机提供商,请自行测试

  • 连接SSH,运行下面的命令

    1

    2

    3

    wget —no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

    chmod +x bbr.sh

    ./bbr.sh

  • 提示需要重启 VPS,输入 y 并回车后重启,重连SSH

  • 脚本会自动更新匹配的4.xx版本内核(6.28 目前是4.11),并启用TCP BBR
  • 验证

    • 输入

      1

      uname -r

      有4.9.0 以上就 表示 更新成功

    • 输入

      1

      lsmod | grep bbr

      返回值有 tcp_bbr _即bbr已启动。

  • 添加一些优化内容 修改sysctl.conf

    1

    nano /etc/sysctl.conf

    复制代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    TCP配置优化(不然你自己根本不知道你在干什么)

    fs.file-max = 51200

    提高整个系统的文件限制

    net.core.rmem_max = 67108864

    net.core.wmem_max = 67108864

    net.core.netdev_max_backlog = 250000

    net.core.somaxconn = 4096

    net.ipv4.tcp_syncookies = 1

    net.ipv4.tcp_tw_reuse = 1

    net.ipv4.tcp_tw_recycle = 0

    net.ipv4.tcp_fin_timeout = 30

    net.ipv4.tcp_keepalive_time = 1200

    net.ipv4.ip_local_port_range = 10000 65000

    net.ipv4.tcp_max_syn_backlog = 8192

    net.ipv4.tcp_max_tw_buckets = 5000

    net.ipv4.tcp_fastopen = 3

    net.ipv4.tcp_mem = 25600 51200 102400

    net.ipv4.tcp_rmem = 4096 87380 67108864

    net.ipv4.tcp_wmem = 4096 65536 67108864

    net.ipv4.tcp_mtu_probing = 1

    net.ipv4.tcp_congestion_control = bbr

    END OF LINE

    保存(Ctrl + X —— y ——回车) 应用

    1

    sysctl -p

  • 重启SSR

    1

    /etc/init.d/shadowsocks restart

VPS安全加固( 安全性是重中之重!)

shadowsocksR 客户端配置

shadowsocksR C# windows版本

  • (6.28)最新的4.6.0客户端(注意MD5校验) 支持hosts文件实验性质,稳定后加入
  • shadowsocksR C# windows版本 来源于github备份。
  • 解压ShadowsocksR-win-4.6.1.7z(以具体客户端版本为准),打开。 3220191.jpg
  • 对应上文中SSR服务端配置 输入对应端口配置,ip地址,密码等。

    • 25端口(单SS) ScreenShot_20170712214431.png

    • 443端口 334344b.jpg

    • 3389端口 342622e.jpg
  • 右键shadowsocks快捷图标,选择启用系统代理 36.jpg 现在应该可以访问 谷歌了:)

使用Chrome+SwitchyOmega 推荐!!

SSR-Android

  • SSR-Android
  • SSR-Android端(注意MD5校验)

    https://github.com/Jasper-1024/shadowsocksr-android-1/releases

    • (12.11) ssr-android更新到3.2.7.14.版,增加auth_aes128_md5和auth_aes128_sha1,推荐更新!
    • (1.11) ssr-android更新到3.3.3.1推荐更新!
      • (2.17) ssr-android更新到3.3.4.5 推荐更新!
      • (6.28) SSR-android更新3.4.0.5
  • android端使用
    1. 可以直接输入SSR配置,较为繁琐
    2. 在SSR C#版本,中输入完毕,保存。直接扫描二维码即可! 二维码必须在光标移到 SSR链接 处才会出现

结束

(っ•̀ω•́)っ✎⁾⁾ 坚持技术学习、内容输出与分享,您的支持将鼓励我继续创作!(*/ω\*)
( • ̀ω•́ )✧如有疑问或需要技术讨论,请留言或发邮件到 aclearzhang@qq.com.(*・ω< ) 
  • 本文作者:: AClearZhang
  • 本文链接:: 836.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!