目录
Shadowsocks简介
Shadowsocks 是一个开源的加密代理软件,广泛应用于突破网络封锁,访问被屏蔽的网站和服务。它采用自定义协议,通过加密的方式将流量转发到代理服务器,从而实现科学上网。Shadowsocks 在各大操作系统上都有对应的客户端,本文主要介绍如何在 Ubuntu 系统上优化使用 Shadowsocks。
Shadowsocks在Ubuntu上的安装
安装Shadowsocks客户端
在Ubuntu上安装Shadowsocks客户端有多种方式,以下是常见的几种:
-
通过
apt
包管理器安装:sudo apt-get update sudo apt-get install shadowsocks-libev
-
通过
pip
包管理器安装:sudo apt-get install python3-pip sudo pip3 install shadowsocks
-
通过
snap
包管理器安装:sudo snap install shadowsocks-libev
配置Shadowsocks客户端
Shadowsocks客户端安装完成后,需要对其进行配置才能正常使用。配置步骤如下:
-
创建 Shadowsocks 配置文件:
sudo nano /etc/shadowsocks-libev/config.json
-
在配置文件中填写以下信息:
{ “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb” }
其中,
your_server_ip
、your_server_port
和your_password
需要替换为实际的服务器 IP、端口和密码。 -
保存并退出配置文件。
-
启动 Shadowsocks 服务:
sudo systemctl start shadowsocks-libev
-
检查 Shadowsocks 服务状态:
sudo systemctl status shadowsocks-libev
Shadowsocks在Ubuntu上的优化
开启UDP转发
Shadowsocks 默认只支持 TCP 协议,如果需要使用 UDP 协议,需要手动开启 UDP 转发。操作步骤如下:
-
编辑 Shadowsocks 配置文件:
sudo nano /etc/shadowsocks-libev/config.json
-
在配置文件中添加
"mode":"tcp_and_udp"
字段:{ “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb”, “mode”:”tcp_and_udp” }
-
保存并退出配置文件。
-
重启 Shadowsocks 服务:
sudo systemctl restart shadowsocks-libev
修改缓存大小
Shadowsocks 默认的缓存大小可能不够优化,可以适当增大缓存大小以提高性能。操作步骤如下:
-
编辑 Shadowsocks 服务的系统配置文件:
sudo nano /etc/systemd/system/shadowsocks-libev.service
-
在
[Service]
部分添加以下行:LimitNOFILE=65535
-
保存并退出配置文件。
-
重新加载系统配置并重启 Shadowsocks 服务:
sudo systemctl daemon-reload sudo systemctl restart shadowsocks-libev
开启TCP快速打开
TCP 快速打开可以减少 TCP 连接的建立时间,从而提高网络传输效率。操作步骤如下:
-
编辑 Shadowsocks 服务的系统配置文件:
sudo nano /etc/sysctl.conf
-
在文件末尾添加以下行:
net.ipv4.tcp_fastopen = 3
-
保存并退出配置文件。
-
应用配置更改:
sudo sysctl -p
优化MTU值
MTU (Maximum Transmission Unit) 值决定了数据包的最大大小,合理设置 MTU 值可以提高网络传输效率。操作步骤如下:
-
编辑 Shadowsocks 客户端的配置文件:
sudo nano /etc/shadowsocks-libev/config.json
-
在配置文件中添加
"mtu":1480
字段:{ “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb”, “mtu”:1480 }
-
保存并退出配置文件。
-
重启 Shadowsocks 服务:
sudo systemctl restart shadowsocks-libev
Shadowsocks在Ubuntu上的加速
使用BBR算法加速
BBR (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 开发的一种 TCP 拥塞控制算法,可以有效提高网络传输速度。操作步骤如下:
-
更新系统软件包:
sudo apt-get update sudo apt-get upgrade
-
安装 BBR 内核:
sudo apt-get install linux-headers-$(uname -r) sudo apt-get install –install-recommends linux-generic-hwe-18.04
-
重启系统:
sudo reboot
-
检查 BBR 是否已启用:
sudo sysctl net.ipv4.tcp_congestion_control
如果输出
net.ipv4.tcp_congestion_control = bbr
,说明 BBR 已成功启用。
使用魔改版Shadowsocks加速
魔改版 Shadowsocks 在原有 Shadowsocks 的基础上进行了优化,可以提高网络传输速度。操作步骤如下:
-
安装依赖包:
sudo apt-get install git python3-pip
-
克隆魔改版 Shadowsocks 仓库:
git clone https://github.com/Akkariiin/shadowsocks-libev.git
-
进入仓库目录,编译并安装:
cd shadowsocks-libev ./configure –prefix=/usr –disable-documentation make sudo make install
-
配置并启动魔改版 Shadowsocks:
sudo ssserver -c /etc/shadowsocks-libev/config.json -d start
使用Kcptun加速
Kcptun 是一个基于 KCP 协议的网络加速工具,可以有效提高 Shadowsocks 的传输速度。操作步骤如下:
-
下载并安装 Kcptun:
wget https://github.com/xtaci/kcptun/releases/download/v20.8.0/kcptun-linux-amd64-20.8.0.tar.gz tar xzf kcptun-linux-amd64-20.8.0.tar.gz sudo mv client_linux_amd64 /usr/local/bin/kcptun-client
-
编辑 Kcptun 配置文件:
sudo nano /etc/kcptun/config.json
-
在配置文件中填写以下信息:
{ “localaddr”: “:12948”, “remoteaddr”: “your_server_ip:29900”, “key”: “your_password”, “crypt”: “aes”, “mode”: “fast” }
其中,
your_server_ip
和your_password
需要替换为实际的服务器 IP 和密码。 -
保存并退出配置文件。
-
启动 Kcptun 服务:
sudo systemctl start kcptun
-
在 Shadowsocks 客户端中配置 Kcptun 代理:
“local_address”: “127.0.0.1”, “local_port”: 1080, “server”: “127.0.0.1”, “server_port”: 12948, “password”: “your_password”, “method”: “aes-256-cfb”
常见问题FAQ
Q: Shadowsocks 为什么连接不上? A: 可能是服务器端或客户端的配置有问题,请检查以下内容:
- 服务器 IP 和端口是否正确
- 密码是否正确
- 加密方式是否正确
- 防火墙是否允许 Shadowsocks 端口的访问
Q: Shadowsocks 为什么速度很慢? A: 可能是网络环境或配置问题导致的,可以尝试以下优化措施:
- 开启 UDP 转发
- 增大缓存大小
- 开启 TCP 快速打开
- 优化 MTU 值
- 使用 BBR 算法加速
- 使用魔改版 Shadowsocks
- 使用 Kcptun 加速
Q: Shadowsocks 如何实现自动重连? A: 可以使用 systemd
服务来实现 Shadowsocks 的自动重连:
-
创建 Shadowsocks 服务文件:
sudo nano /etc/systemd/system/shadowsocks-libev.service
-
在文件中添加以下内容:
[Unit] Description=Shadowsocks-libev Server After=network.target
[Service] ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json Restart=always User=root
[Install] WantedBy=multi-user.target
-
保存并退出文件。
-
启用并启动 Shadowsocks 服务:
sudo systemctl enable shadowsocks-libev sudo systemctl start shadowsocks-libev
Q: Shadowsocks 如何实现多用户管理? A: 可以使用 ssserver
命令来实现 Shadowsocks 的多用户管理:
-
编辑 Shadowsocks 配置文件:
sudo nano /etc/shadowsocks-libev/config.json
-
在配置文件中添加多个用户信息:
{ “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “method”:”aes-256-cfb”, “users”: [ { “password”: “user1_password”, “method”: “aes-256-cfb”, “port”: 8001 }, { “password”: “user2_password”, “method”: “aes-256-cfb”, “port”: 8002 } ] }
-
保存并退出配置文件。
-
启动 Shadowsocks 服务:
sudo ssserver -c /etc/shadowsocks-libev/config.json -d start
Q: Shadowsocks 如何实现流量统计? A: 可以使用 ssadmin
命令来实现 Shadowsocks 的流量统计:
-
安装
ssadmin
工具:sudo pip3 install ssadmin
-
编辑 Shadowsocks 配置文件:
sudo nano /etc/shadowsocks-libev/config.json
-
在配置文件中添加
"plugin": "ss-manager"
字段:{ “server”:”your_server_ip”, “server_port”:your_server_port,