Shadowsocks

购买国外服务器

vultr 购买服务器

支持 alipay 付款

环境搭建

访问

$   ssh root@XXX.XXX.XXX.XXX

安装命令

  • centos
$ yum -y install ${你要安装的文件}
  • ubuntu
$   apt-get XXX

安装

此处为 centos 环境,其他类似。

安装 pip

$   yum -y install python-pip

安装完成日志:

已安装:
  python2-pip.noarch 0:8.1.2-6.el7                                                                                                                                                   

作为依赖被安装:
  python-backports.x86_64 0:1.0-8.el7  python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7  python-ipaddress.noarch 0:1.0.16-2.el7  python-setuptools.noarch 0:0.9.8-7.el7 

完毕

较为简单的方式

  • ss
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh

chmod +x shadowsocks-go.sh

./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log
  • force update
rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force

restart the server

  • bbr
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

较为传统的方式

安装 ss

$   pip install shadowsocks

日志如下:

Collecting shadowsocks
  Downloading https://files.pythonhosted.org/packages/02/1e/e3a5135255d06813aca6631da31768d44f63692480af3a1621818008eb4a/shadowsocks-2.8.2.tar.gz
Installing collected packages: shadowsocks
  Running setup.py install for shadowsocks ... done
Successfully installed shadowsocks-2.8.2
You are using pip version 8.1.2, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
  • 升级下 pip
#   pip install --upgrade pip

Collecting pip
  Downloading https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 977kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Uninstalling pip-8.1.2:
      Successfully uninstalled pip-8.1.2
Successfully installed pip-10.0.1

配置

/etc/shadowsocks.json

$   vi /etc/shadowsocks.json

此处使用单一用户配置

{
"server": "0.0.0.0",
"server_port": 2333,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "密码",
"timeout": 300,
"method": "aes-256-cfb",
"fast_open": false
}

保存退出

属性说明

  • server_port

可以是 8848/11383 或其他。

  • 密码

只需要根据自己需要修改【密码】即可

运行 ss

执行命令

$   ssserver -c /etc/shadowsocks.json -d start

日志:

[root@vultr ~]# ssserver -c /etc/shadowsocks.json -d start
INFO: loading config from /etc/shadowsocks.json
2018-07-18 01:36:06 INFO     loading libcrypto from libcrypto.so.10
started

当显示 started,则说明启动成功。

每次开机启动 ss

添加开启启动项目

$   vi /etc/rc.local

添加如下内容:

ssserver -c /etc/shadowsocks.json -d start
  • 为了保证 reboot 会执行脚本
$   chmod +x /etc/rc.local
$   chmod +x /etc/rc.d/rc.local

开放配置的端口

  • 开放 2333
$   firewall-cmd --zone=public --add-port=2333/tcp --permanent 
  • 重新载入
$   firewall-cmd --reload
  • 查看
$   firewall-cmd --zone=public --query-port=2333/tcp

如果为 yes 则说明开启成功

客户端配置

到这里,服务端搞定。开始客户端。

此处,以 Mac 为例子。

ShadowsocksX

  • 下载

我下载的是,Shadowsocks-X

当然,也可以尝试下 ShadowsocksX-NG

  • 使用

解压后直接打开即可。最上方会出现一个小飞机。

  • 设置

模式,建议使用【自动模式】

【服务器】=》【编辑服务器】=>【添加】

填写对应的信息:

服务器地址:xxx.xxx.xxx.xxx
端口: 8848
密码: xxxx
  • 测试

google

测试通过。

Windows

shadowsocks-windows

BBR 加速

首先我们要知道,添加 BBR 加速支持的最关键的一点是升级我们Linux的内核,只有内核支持这个加速算法,才能使用BBR,步骤如下(按顺序输入命令行即可)

升级内核

  • 查看内核版本
$   cat  /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 

内核应该是3.x,先升级成4.9或者4.12最新的,支持BBR

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

设置内核版本

  • 查看可用内核
cat /boot/grub2/grub.cfg |grep menuentry
  • 设置为 4.9 以上版本
grub2-set-default 'CentOS Linux (4.17.9-1.el7.elrepo.x86_64) 7 (Core)'
  • 重启服务器

设置成功则: reboot 重启,接下来就是安装 BBR 了

安装 bbr

uname -r 
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
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
sysctl -n net.ipv4.tcp_congestion_control
lsmod | grep bbr

如果安装成功,则可以看到:

[root@vultr ~]# lsmod | grep bbr
tcp_bbr                20480  1 
  • bbr.sh
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

uname -r 
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
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
sysctl -n net.ipv4.tcp_congestion_control
lsmod | grep bbr

端口开放

CentOS7使用firewalld打开关闭防火墙与端口

1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 : systemctl enable firewalld

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。 启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld.service 显示一个服务的状态:systemctl status firewalld.service 在开机时启用一个服务:systemctl enable firewalld.service 在开机时禁用一个服务:systemctl disable firewalld.service 查看服务是否开机启动:systemctl is-enabled firewalld.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl –failed

3.配置firewalld-cmd

查看版本: firewall-cmd –version 查看帮助: firewall-cmd –help 显示状态: firewall-cmd –state 查看所有打开的端口: firewall-cmd –zone=public –list-ports 更新防火墙规则: firewall-cmd –reload 查看区域信息: firewall-cmd –get-active-zones 查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0 拒绝所有包:firewall-cmd –panic-on 取消拒绝状态: firewall-cmd –panic-off 查看是否拒绝: firewall-cmd –query-panic

那怎么开启一个端口呢 添加 firewall-cmd –zone=public –add-port=2333/tcp –permanent (–permanent永久生效,没有此参数重启后失效) 重新载入 firewall-cmd –reload 查看 firewall-cmd –zone=public –query-port=2333/tcp 删除 firewall-cmd –zone=public –remove-port=8848/tcp –permanent

firewall-cmd –zone=public –add-port=22/tcp –permanent

  • open.sh
firewall-cmd --zone=public --add-port=2333/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=2333/tcp

参考

教你一步一步自己搭梯子—— SS篇

vultr 搭建&配置ssh + Google bbr 加速

  • 端口

https://www.cnblogs.com/justuntil/p/7767783.html

https://www.cnblogs.com/mliudong/p/4529612.html

端口扫描工具

拓展阅读

WireGuard