VPS(Vultr)安裝ShadowSocks

foofoo發表於2019-04-15

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
複製程式碼

相關文章