类似搭建VPN的教程网上很多,其实特别不愿意记录一些重复的东西在互联网上。之前收藏的一篇相关的教程,很好用,过去的两年几次搭建VPN都是参考的这个,今天打开404了,然后又搜索了一番才搞定,特意记录下来。
一、服务端安装配置shadowsocks
0、下载执行安装脚本。登陆到自己的VPS或者云服务器上分别执行下面3条命令
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh chmod +x shadowsocks.sh ./shadowsocks.sh 2>&1 | tee shadowsocks.log
执行这条命令的时候会让我们输入编码方式,可以使用:aes-256-cfb 还会让我们输入一个端口:自己设置一个,不是常有端口就行,比如,这里输入的是9006。还会设置一个连接使用的密码。
执行完成后会看到Enjoy it!的提示。这个时候服务已经启动了,配置文件/etc/shadowsocks.json也不需要再做修改
1、查看服务状态
ps -ef | grep 'shadow*' # 可以看到进程信息 root 938 1 0 7月22 ? 00:00:00 /bin/python /usr/bin/ssserver -c /etc/shadowsocks.json -d start
上面的安装脚本已经部署好了服务初始化脚本,并添加到了服务,也可以通过如下指令来查看:
# 同service shadowsocks status /etc/init.d/shadowsocks status Shadowsocks (pid 938) is running...
2、测试服务
通过telnet 47.52.152.236 9006能连上,提示Connected to 47.52.152.236这表示安装成功
测试的时候服务器监听了9006端口,但是telnet连接不上,联系客服云服务器需要在安全组添加端口
3、如果是CentOS7,想用systemctl来管理,可以做如下配置(CentOS7以下版本请跳过)
# 新增shadowsocks.service touch /etc/systemd/system/shadowsocks.service # 写入如下内容 [Unit] Description=Shadowsocks [Service] TimeoutStartSec=0 ExecStart=/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json -d start [Install] WantedBy=multi-user.target # 启停控制 systemctl start shadowsocks systemctl restart shadowsocks systemctl stop shadowsocks
4、如果服务器开启了防火墙,需要开放你配置的端口9006
firewall-cmd --zone=public --add-port=9006/tcp --permanent # 记得重启防火墙 firewall-cmd --reload # 查看防火墙开启的端口,应该可以看到9006 firewall-cmd --list-ports # 一定记得重启shadowsocks systemctl restart shadowsocks
二、客户端安装配置shadowsocks
0、下载客户端
https://github.com/shadowsocks/shadowsocks-iOS/releases
1、安装后,在服务器-》打开服务器设定中新增一条服务器设定
2、查看IP地址,http://ip111.cn能看到第三列IP地址,证明可以正常翻墙,愉快访问谷歌,Facebook,Twitter等国外网站。
如何不能正常访问Google, 请确认以下事项:
0、telnet ip port是否成功
1、浏览器是否启动了其他代理插件,例如Host Switch,如有,退出试试。
2、查看日志tail -f /var/log/shadowsocks.log
当时出现了如下错误
看着这个提示unsupported addrtype 171, maybe wrong password or encryption method可以换一个编码试试。我后来换成了rc4-md5。
记得重启服务:/etc/init.d/shadowsocks restart 以及修改客户端配置。(有用户提到通过删除客户端的一次性认证选项来解决,没有找到)
3、检查确定客户端是Shadowsocks而不是Shadowsocks-NG,Shadowsocks-NG时常不稳定。
4、检查是否开启了防火墙并开放了相应端口。
参考:
https://blog.csdn.net/g1531997389/article/details/79732867