Shadowsocks搭建VPN笔记

类似搭建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

发表评论

电子邮件地址不会被公开。 必填项已用*标注