由于实验环境的安装出现网络问题,需要进行配置网络才能安装环境。
由于Ubuntu Server是不带用户界面的,所以要为Server配置SS还是稍显麻烦。

安装SS

由于SS是基于python开发的,所以必须安装python:

1
sudo apt install python

然后安装python的包管理器pip:

1
sudo apt install python-pip

安装完毕之后,通过pip直接安装SS:

1
sudo pip install shadowsocks

配置SS

新建一个配置文件/etc/shawdowsocks.json,然后配置相应的参数:

1
2
3
4
5
6
7
8
{
"server": "{your-server}",
"server_port": 1234,
"local_port": 1080,
"password": "{your-password}",
"timeout": 600,
"method": "aes-256-cfb"
}

配置完成后就可以启动SS服务:

1
sudo ~/.local/bin/sslocal -c /etc/shadowsocks.json -d start

启动时可能会遇到XXX_cleanup()函数的问题,将~/.local/lib/python2.7/site-packages/shadowsocks/crypto/openssl.py文件中的XXX_cleanup()函数改为XXX_reset()。

配置全局代理

启动SS服务后,发现并不能科学上网,这是因为SS是socks 5代理,需要客户端配合才能工作。

为了让整个系统都走SS通道,需要配置全局代理,可以通过polipo实现。

首先是安装polipo:

1
sudo apt install polipo

接着修改polipo的配置文件/etc/polipo/config:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
logSyslog = true
logFile = /var/log/polipo/polipo.log

proxyAddress = "0.0.0.0"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

重启polipo服务:

1
sudo /etc/init.d/polipo restart

为终端配置http代理:

1
export http_proxy="http://127.0.0.1:8123/"

测试:

1
curl www.google.com

注意事项

服务器重启后,下面两句需要重新执行:

1
2
sudo ~/.local/bin/sslocal -c /etc/shadowsocks.json -d start
export http_proxy="http://127.0.0.1:8123/"