一、購買DigitalOcean服務器及優惠
1. 若是學生,可以使用edu郵箱註冊一個github賬號,登陸後前往https://education.github.com/pack/,找到DigitalOcean優惠並點擊requestyour offer code to get access申請50刀DigitalOcean優惠碼。若不是學生,直接到第2步。
2. 通過博主分享的邀請鏈接:DigitalOcean註冊DigitalOcean賬號,可以額外獲得10刀的優惠碼。若執行了第1步,註冊成功後登陸DigitalOcean後臺,點擊Go to Billing,在最下面輸入申請到的50刀DigitalOcean優惠碼,即PromoCode,即可收到50刀賬戶餘額。需注意的是,註冊時會讓你綁定支付方式,若沒有信用卡,可以先去Paypal官網https://www.paypal.com/c2/signup/singlePageAccount註冊一個賬號並在Paypal裏綁定借記卡,之後在DigitalOcean裏用該Paypal賬號付款即可。有信用卡可以直接用信用卡支付。
3. 登錄DigitalOcean後,點第一項Droplets,新建一個VPS。系統我選擇的是Ubuntu 64位系統。價位選擇的最低檔5刀一個月,這配置個人絕對足夠用。機房推薦選San Francisco,強烈建議在創建服務器時點擊添加SSH Key(New SSH Key),這樣無需密碼便可登錄,更加安全高效,若不知如何生成SSH Key,請看這篇文章:https://www.jianshu.com/p/31cbbbc5f9fa。接下來點擊create即可。稍等幾秒,系統便會裝好。
二、安裝並配置Shadowsocks
1. 用Putty登錄DigitalOcean服務器,Putty下載地址http://download.csdn.net/detail/cracked_hitter/9737949。若創建服務器時沒有添加SSH Key, 則服務器的初始密碼會發送到你的註冊郵箱中,第一次登錄時用該密碼登錄,之後會強制你修改密碼。密碼非常長,而且要輸兩遍特麻煩,所以推薦創建時添加你電腦的SSH Key。若添加了SSH Key, 直接用命令
ssh 服務器ip地址
即可登錄,無需密碼。
2. 登錄成功後,更新軟件源:
sudo apt-get update
安裝python-pip:
apt-get install python-pip
設置Locale,否則下一步會報錯:
export LC_ALL=C
安裝shadowsocks:
sudo apt install libsodium-dev
sudo pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U
創建shadowsocks配置文件:
vim /etc/shadowsocks.json
輸入以下內容配置多用戶,之後保存並退出:(需要幾個終端上網就開設幾個端口服務,加密協議推薦用chacha20-ietf-poly1305,更加安全高效,不容易被GFW牆掉)
{
"server": "0.0.0.0",
"local_address": "127.0.0.1",
"local_port": 1080,
"fast_open": false,
"port_password":{
"50001":"隨意設定50001端口使用密碼",
"50002":"隨意設定50002端口使用密碼",
"50003":"隨意設定50003端口使用密碼",
...
},
"timeout":300,
"method":"chacha20-ietf-poly1305"
}
啓動shadowsocks:
ssserver -c /etc/shadowsocks.json -d start
這樣就可以通過客戶端軟件影梭(Android)、superwingy(IOS)、Shadowsocks(Windows),輸入服務器IP地址、端口和密碼就能愉快翻牆啦。
三、服務器網絡優化
爲使服務器帶寬得到最大限度利用,我們需要優化服務器的網絡配置。
1. 安裝並使用BBR網絡擁塞控制算法
(1)查看內核版本:
uname -a
如果內核版本小於4.9則需要更新內核,4.9及以上跳過第(2)步。
(2)更新內核
此方法僅適用於Ubuntu和Debian 。首先查看系統位數,執行以下命令
getconf LONG_BIT
下載4.11的內核
#32位
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11/linux-image-4.11.0-041100-generic_4.11.0-041100.201705041534_i386.deb
#64位
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11/linux-image-4.11.0-041100-generic_4.11.0-041100.201705041534_amd64.deb
安裝內核:
dpkg -i *.deb
/usr/sbin/update-grub
安裝完成後輸入重啓系統:
reboot
(3)啓用BBR算法
寫入配置文件:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
使配置文件生效:
sysctl -p
檢查BBR算法是否成功開啓:sysctl net.ipv4.tcp_available_congestion_control
如果開啓成功會返回以下內容:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
2. 優化內核參數
打開系統配置文件
vim /etc/sysctl.conf
向其中添加以下內容:
fs.file-max = 51200
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.netdev_max_backlog = 4096
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
保存並退出(:wq)。
使配置文件生效:
sysctl -p
3. 重啓Shadowsocks服務
ssserver -c /etc/shadowsocks.json -d restart
優化完成,愉快享受高速的翻牆體驗吧!
4. 添加多個SSH Key
若想在原基礎上添加一個SSH Key,先將本地id_rsa.pub公鑰拷貝到遠程服務器.ssh目錄下:
scp ~/.ssh/id_rsa.pub root@server_ip: ~/.ssh/
(注意修改本地id_rsa.pub文件路徑和服務器ip地址)
登錄服務器後,進入.ssh目錄,將公鑰追加寫入到authorized_keys文件:
cat id_rsa.pub >> authorized_keys
接下來你這臺機器使用ssh命令登錄服務器時就不用輸入密碼啦!
參考鏈接:
【2】SS安裝並開啓BBR算法