1. 購買vps機器
Vultr東京節點ping值較好,所以買的5$/月的東京節點vp,記得勾選ipv6,有了ipv6可以訪問北郵人等教育網的pt站點。
2. 安裝bbr
bbr是谷歌開源的tcp擁塞控制演算法,用了bbr後,ss代理的速度提升非常明顯,bbr需要linux核心版本4.9以上,所以先升級核心。
2.1 升級核心步驟
檢視核心版本:
uname -r
複製程式碼
初始版本: 3.10.0-514.2.2.el7.x86_64 安裝ELRepo repo:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
複製程式碼
elrepo是CentOS十分有用的穩定的軟體源,與其他軟體源不一樣的是,這個第三方源主要是提供硬體驅動、核心更新方面的支援,如顯示卡、無線網路卡、核心等等 安裝最新核心:
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
複製程式碼
確認結果:
rpm -qa | grep kernel
複製程式碼
看到輸出:
kernel-tools-libs-3.10.0-693.11.6.el7.x86_64
kernel-tools-3.10.0-693.11.6.el7.x86_64
kernel-3.10.0-693.el7.x86_64
kernel-3.10.0-693.11.6.el7.x86_64
kernel-ml-4.15.1-1.el7.elrepo.x86_64
複製程式碼
最新版的kernel-ml-4.15.1-1.el7.elrepo.x86_64已經存在了。 將最新版內容設定為grub2啟動項: 檢視所有啟動項條目:
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
複製程式碼
輸出:
CentOS Linux 7 Rescue 5c25e1a7d2514372b8dae0c5333e544e (4.15.1-1.el7.elrepo.x86_64)
CentOS Linux (4.15.1-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.11.6.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c73a5ccf3b8145c3a675b64c4c3ab1d4) 7 (Core)
複製程式碼
每行編號是從0開始,所以4.15是編號為1的行,設定預設啟動項為1:
sudo grub2-set-default 1
複製程式碼
重啟機器:
sudo shutdown -r now
複製程式碼
檢視新的核心版本:
uname -r
複製程式碼
輸出:
4.15.1-1.el7.elrepo.x86_64
複製程式碼
2.2 安裝bbr
修改sysctl配置:
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
複製程式碼
確實配置是否生效:
sudo sysctl net.ipv4.tcp_available_congestion_control
複製程式碼
輸出:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
複製程式碼
檢視確認:
sudo sysctl -n net.ipv4.tcp_congestion_control
複製程式碼
輸出:
bbr
複製程式碼
檢視是否載入:
lsmod | grep bbr
複製程式碼
輸出:
tcp_bbr 16384 0
複製程式碼
3.安裝shadowsocks
3.1 安裝配置 shadowsocks pip是 python 的包管理工具。在本文中將使用 python 版本的 shadowsocks,此版本的 shadowsocks 已釋出到 pip 上,因此我們需要通過 pip 命令來安裝。
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
複製程式碼
3.2 安裝配置 shadowsocks
pip install --upgrade pip
pip install shadowsocks
複製程式碼
3.3 建立配置檔案/etc/shadowsocks.json
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "uzon57jd0v869t7w",
"method": "aes-256-cfb"
}
複製程式碼
說明: method為加密方法,可選aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table server_port為服務監聽埠 password為密碼,可使用密碼生成工具生成一個隨機密碼 以上三項資訊在配置 shadowsocks 客戶端時需要配置一致,具體說明可檢視 shadowsocks 的幫助文件。
3.4 配置自啟動
新建啟動指令碼檔案/etc/systemd/system/shadowsocks.service, 內容如下:
[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target
複製程式碼
執行以下命令啟動 shadowsocks 服務:
systemctl enable shadowsocks
systemctl start shadowsocks
複製程式碼
為了檢查 shadowsocks 服務是否已成功啟動,可以執行以下命令檢視服務的狀態:
systemctl status shadowsocks -l
複製程式碼
如果服務啟動成功,則控制檯顯示的資訊可能類似這樣:
● shadowsocks.service - Shadowsocks
Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2015-12-21 23:51:48 CST; 11min ago
Main PID: 19334 (ssserver)
CGroup: /system.slice/shadowsocks.service
└─19334 /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json
Dec 21 23:51:48 morning.work systemd[1]: Started Shadowsocks.
Dec 21 23:51:48 morning.work systemd[1]: Starting Shadowsocks...
Dec 21 23:51:48 morning.work ssserver[19334]: INFO: loading config from /etc/shadowsocks.json
Dec 21 23:51:48 morning.work ssserver[19334]: 2015-12-21 23:51:48 INFO loading libcrypto from libcrypto.so.10
Dec 21 23:51:48 morning.work ssserver[19334]: 2015-12-21 23:51:48 INFO starting server at 0.0.0.0:8388
複製程式碼