shadowsocks和systemd

起因:

据说国家局域网在4月就开始实施了,我顿时就吓尿了。上个外网要2次NAT不是坑爹吗。加上最近据说IOS的VPN也被封了。我就觉得手机翻墙应该换个方式了。找了找发现shadowsocks最合适,手机也不用root。在学校这个是没有任何问题的,在家速度好像慢一点,估计是出口的时候非教育网审查比较严格。所以我宁可经过学校的电脑翻墙。那么就需要转发。(电脑可以在学校的电脑开个shadowsocks客户端转成sock5,然后接收所有非本地的请求,浏览器可以直接使用)

解决:

转发有很多种方法,比如github上有人给出的iptables和haproxy,我还是用最简单的ssh吧。可是ssh相当于加密两次(shadowsocks加密,ssh转发加密),有点浪费。 ssh -fNqn -L \*:28765:shadow_server:shadow_port server 。连接服务器时,把相应端口和ip改成学校的即可。

维护:

很久之前就想搞搞systemd,但是KDE的开机启动太方便,以至于我根本不想理systemd。回家不登录图形界面就不能利用KDE了。必须得学学。关于systemd的争议已经很久了。我觉得还是systemd更先进,尽管刚开始接触有点复杂,其实还是很容易使用的。最好的学习方式还是看看别人怎么写的。

根据wiki,可到 /etc/systemd/ 和 /usr/lib/systemd/ 找相应的service看看写法。然后根据manservice,大概就能写出开机脚本了。

这次我是用他来启动一个ssh转发的开机脚本。如下: 一般有ssh都是需要以用户模式启动的,因为要用到认证文件。 systemctl --user enable sshforwarding.service

日志:

journalctl 是和systemd配套的。为了查看服务的运行情况,就要查看日志。用 sudo journalctl -F _SYSTEMD_UNIT 找到要查看的服务的名称,然后 sudo journalctl -e _SYSTEMD_UNIT=shadowsocks@shadowsocks.service 就能查看过滤后的日志,查看连接信息。

测试:

现在手机翻墙感觉快了一点,日。不知道是不是心理作用,youtube能流畅看了。希望国家局域网是谣言,日tm。