本文介紹如何使用谷歌雲centos7搭建ss服務器,在看了很多文章,踩過很多坑,銷燬新建過很多次虛擬機之後,才總結出來以下可行的方案
-
創建VM虛擬機,並設置防火牆
以下是配置的虛擬機基本信息:
節點選擇臺灣節點(asia-east1),國內訪問速度超快 目前使用的配置是1 個 vCPU(共享CPU),0.6 GB 內存,雖然內存看上去不大,但是夠用 啓動磁盤我選的是10GB,安裝系統是centos7 防火牆勾選HTTP流量 其餘選擇默認即可 ![以下是配置的虛擬機基本信息](https://img-blog.csdn.net/20180928112727276?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NzODQwNjEwODYy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
ss搭建好,如果不配置防火牆,一般無法使用,以下是防火牆配置方法:
在配置好VM虛擬機之後,在VM實例找到剛纔創建的虛擬機 點擊虛擬機進入詳情 找到網絡接口項,進入網絡詳情 點擊左側啊防火牆規則,創建如下防火牆規則 日誌:關閉 方向:入站 對匹配項執行的操作:允許 協議和端口:允許所有 目標:網絡中的所有實例 其餘選擇默認即可 ![以下是防火牆配置方法](https://img-blog.csdn.net/20180928112916644?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NzODQwNjEwODYy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
-
使用如下命令安裝pip
[root@server ~]# yum install m2crypto python-setuptools [root@server ~]# easy_install pip
注:若不能成功安裝m2crypto,請先安裝其依賴包
[root@server ~]# yum install -y openssl-devel gcc swig python-devel autoconf libtool
-
使用如下命令安裝shadowsocks
[root@server ~]# pip install shadowsocks
-
服務器配置
[root@server ~]# vi /etc/shadowsocks.json
{ "server": "0.0.0.0", "local_address": "127.0.0.1", "local_port": 1080, "port_password": { "8080": "填寫密碼", "8081": "填寫密碼" }, "timeout": 600, "method": "aes-256-cfb" }
如果你不需要配置多個端口的話,僅配置單個端口,則可以使用以下配置:
{ "server": "0.0.0.0", "server_port": 8080, "password": "填寫密碼", "method": "aes-256-cfb" }
-
配置自啓動
[root@server ~]# vim /etc/systemd/system/shadowsocks.service
以下是shadowsocks.service文件的內容
[Unit] Description=Shadowsocks [Service] TimeoutStartSec=0 ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json [Install] WantedBy=multi-user.target
執行以下命令啓動 shadowsocks 服務:
[root@server ~]# systemctl enable shadowsocks [root@server ~]# systemctl start shadowsocks
檢查 shadowsocks 服務是否已成功啓動,可以執行以下命令查看服務的狀態:
[root@server ~]# systemctl status shadowsocks -l
確認服務啓動成功後,配置防火牆規則,開放你配置的端口,不然客戶端是無法連接的:
[root@server ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent success [root@server ~]# firewall-cmd --zone=public --add-port=8081/tcp --permanent success [root@server ~]# firewall-cmd --reload success
如果不會用ssh,可以使用root密碼登錄:
設置root密碼命令:[root@server ~]# passwd root 修改配置文件如下選擇:vi /etc/ssh/sshd_config 配置此項PasswordAuthentication yes
-
開啓BBR加速
首先是升級內核到支持BBR的版本
yum update
查看系統版本
[root@server ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@server ~]#
安裝elrepo並升級內核
[root@server ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@server ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm [root@server ~]# yum --enablerepo=elrepo-kernel install kernel-ml -y
更新grub文件並重啓系統
[root@server ~]# egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' CentOS Linux 7 Rescue 8619ff5e1306499eac41c02d3b23868e (4.14.14-1.el7.elrepo.x86_64) CentOS Linux (4.14.14-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) [root@server ~]# grub2-set-default 0 [root@server ~]# reboot
重啓完成後查看內核是否已更換爲4.14版本
[root@server ~]# uname -r 4.14.14-1.el7.elrepo.x86_64 [root@server ~]#
開啓bbr
[root@server ~]# vim /etc/sysctl.conf # 在文件末尾添加如下內容 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
加載系統參數
[root@vultr ~]# sysctl -p net.ipv6.conf.all.accept_ra = 2 net.ipv6.conf.eth0.accept_ra = 2 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr [root@vultr ~]#
如上,輸出了我們添加的那兩行配置代表正常。
確定bbr已經成功開啓
[root@vultr ~]# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno [root@vultr ~]# lsmod | grep bbr tcp_bbr 20480 2 [root@vultr ~]#
輸出內容如上,則表示bbr已經成功開啓。