DigitalOcean搭建VPS支持多用戶Shadowsocks服務器並優化

一、購買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命令登錄服務器時就不用輸入密碼啦!

參考鏈接:

【1】架設屬於自己的高性能Shadowsocks服務器

【2】SS安裝並開啓BBR算法

【3】基於KVM技術的VPS搭建SS及完美速度優化教程

【4】DO搭建專屬服務器(VPS+ShadowSocks多終端可用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章