这阵子之前用来翻墙的 Crissic VPS 基本不能用,观察了一下在电信骨干网丢包就很厉害,怀疑是某墙起了作用。于是想换台新的 VPS 玩玩。刚好逛到 vultr,发现价格挺便宜,还是 KVM 架构,就顺手入了一台体验一下。
新用户通过这里注册,可以有 $50 的余额,有效时间为两个月,基本上可以体验 vultr 的全部服务。
如果你已经注册但没使用用优惠码,也可以使用 SSDVPS
优惠码获得 $20 的余额,有效期一个月。
vultr 有 Custom Installation 功能,可以自己指定要装的系统。我一直在用 Arch Linux,于是在这台 VPS 上也装了一个。安装过程按 Arch Linux 上的 Beginner’s Guide 做即可,但是需要注意:
硬盘分区表需要是 MBR 类型,GPT 不能启动
安装后启用 dhcpcd 就可以自动获取 IP (systemctl enable dpchcd.services
)
Arch Linux 上已经有现成的 Shadowsocks 包,直接 pacman 安装即可。
配置文件放在 /etc/shadowsocks/*.conf
中,如 /etc/shadowsocks/vultr.conf
。
启动使用 systemd: systemctl enable shadowsocks-server@vultr.services
。
配置时请指定服务器端口为 443,这样可避免一些被运营商拦截的问题。但是如果配置了 443,Shadowsocks 需要 root 权限才能运行。但是 Shadowsocks 默认的 systemd 配置文件使用的是 nobody 用户,这会导致它跑不起来。需要修改下面两个文件,去掉 User=Nobody
一行:
1 | /usr/lib/systemd/system/shadowsocks-server@.service /usr/lib/systemd/system/shadowsocks@.service |
这里提到的优化都不能提升翻墙的速度,翻墙时单链接基本维持在 50KB/s 上,只能看 YouTube 480P,应该是被电信 QoS 了。
如果想有更高的翻墙速度,香港 VPS 可能是个方向,但是目前暂时不想去折腾。
根据 Shadowsocks 官方的优化指南的内核参数调优做了一些修改:
1 | # max open files |
根据 sysctl 的 Wiki,上面的内容需要保存在 /etc/sysctl.d/99-sysctl.conf
,这样可以在 systemd 拉起 Shadowsocks Server 前就应用到这些配置。
高版本的 Linux 支持 TCP Fast Open,在你的 Shadowsocks 配置文件中把 “fast_open” 一项置为 true。
在上面提到的 Shadowsocks 的 systemd 描述文件中,加入 LimitNOFILE=51200
一行,以增大它能打开的文件描述符数。
P.S. 查看一个进程的资源限制,可以用 cat /proc/PID/limits
。
根据上面提到的电信 QoS 的原因,这类加速没有作用。
实测 net-speeder 无法提升速度。锐速不支持这个内核。