写在前面
最近心血来潮,弄了一个VPS来玩,顺便学习一下Linux。玩VPS第一个想到的事就是搭梯子科学上网。
这里搭的第一个梯子,就是Shadowsocks。因为安装和配置都很方便,也是当前比较受欢迎的工具。难怪有那么多人卖ss的帐号。
只不过由于已经肉身翻墙,只能测试出shadowsocks成功连接上后,能带我上日本的google,却不是很确定在墙内能不能用。
如果墙内有便宜的vps,那我倒是可以搭个梯子再翻回来看视频,再也不用为“只限内地播放”的视频找ip了。
以下是安装ss的记录。
安装Shadowsocks
首先,先在VPS上安装ss的服务端,这里用的系统是Centos 7 64bit。
用putty连接上后,由于系统自带python2.7,所以就用pip的安装方法:
yum install python-setuptools && easy_install pip
pip install shadowsocks
服务端就算安装完毕了。
客户端从官网上下载。
配置ss和iptables规则
1. 配置和启动Shadowsocks
为了以后查找和修改方便,我选择用配置文件的方式启动ss。首先,创建配置文件:
vim /etc/shadowsocks.json
添加一下内容:
{
"server":"111.111.111.111", #VPS的ip
"server_port":8388, #默认端口8388,可以改成别的例如8390
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword*&#@", #连接ss的密码
"timeout":600, #我用了300
"method":"aes-256-cfb", #推荐的加密方式
"fast_open": false
}
然后就可以用这个配置文件,让ss在后台执行。如果修改的配置文件,可以先停止,再执行:
ssserver -c /etc/shadowsocks.json -d stop
ssserver -c /etc/shadowsocks.json -d start
2. 配置iptable规则,开放端口
这里同样适用修改配置文件的方式修改规则(其实是记不住指令):
vim /etc/sysconfig/iptables
在有ACCEPT的规则下面添加一条开放ss端口的规则,如果前面使用了8388作为端口,那么就添加:
-A INPUT -p tcp --dport 8388 -j ACCEPT
由于这条规则只存储在/etc/sysconfig/iptables这个配置文件内,并没有添加到内存里,所以需要reload一下iptables:
service iptables reload
ps:之前在网上搜到有人也因为防火墙的问题连接不上ss,用修改/etc/sysconfig/iptables的方式添加规则后还是连不上,就是因为没有reload。但是有人居然建议他们执行 iptables -F
。这样虽然能连上,但是却把防火墙的规则清除了,相当于在裸奔啊…………
3. 连接测试
由于已经在墙外,只能测试有没有连接成功。
运行ss客户端,按照之前在vps上配置ss的资料填入:
确定后,在任务栏图标上 启用系统代理,然后可以再打开日志看有没有连接上:
这里显示的是timeout,因为ip是假的。其实可以连上,成功的时候显示的是:
[2016-03-31 12:33:13] Shadowsocks started
在vps上查看是否有连接:
iptables -n -v -L -t filter
netstat -a
正常情况下能看到有ip连接8388端口。
连接后上google,可以发现google跳转到vps机房所在国家的google网站:
写在后面
这里只记录了Shadowsocks最基础的配置。如果真要做到开放多个账户拿出去卖,还需要进一步优化。
End.