如何在Debian 10 VPS上安装Shadowsocks-Libev代理服务器

本教程将向您展示如何 在Debian 10 VPS(虚拟专用服务器)上安装Shadowsocks代理服务器。 Shadowsocks是一种轻量级,超快速和安全的Socks5代理,可用于绕过Internet审查。 您还将学习如何 在Debian 10桌面上设置Shadosocks-libev客户端

Shadowsocks的实现有很多,本教程向您展示如何使用Shadowsocks-libev,因为

  • 它用C编写,即使在低端计算机上也非常快。
  • 维护良好。
  • 这是功能最丰富的实现。 支持TCP快速打开,多用户,管理API,重定向模式,隧道模式,UDP中继,AEAD密码和插件。

先决条件

要完成本教程,您将需要:

  • VPS(虚拟专用服务器)。 我推荐Vultr。 他们以每月2.5美元的价格提供512M内存的高性能KVM VPS,非常适合您的私有代理服务器。
  • 然后在您的VPS上安装Debian 10。

如何在Debian 10 VPS上安装Shadowsocks-libev服务器

在VPS上安装Debian 10之后。 通过SSH登录到服务器。 Shadowsocks-libev包含在默认的Debian 10存储库中,但是已经过时了。 实际上,过时的版本不再在我的服务器上运行。 我建议从Debian 10 buster-backports存储库中安装它,该存储库包含Shadowsocks-libev的最新版本,以便获得安全更新和错误修复。

要启用buster-backports存储库,请运行以下命令。

echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list

然后更新本地包索引。

sudo apt update

之后,从buster-backports存储库安装Shadowsocks-libev。

sudo apt -t buster-backports install shadowsocks-libev

要检查版本号,请运行

ss-server -v

样本输出:

shadowsocks-libev 3.3.4

钠密码库(libsodium)将与shadowsocks-libev一起安装。 如果要使用安全快速的ChaCha20-Poly1305加密方法,这是必需的。 安装完成后,Shadowsocks-libev将自动以默认配置文件启动。 您可以通过以下方式查看其状态:

systemctl status shadowsocks-libev

输出:

● shadowsocks-libev.service - Shadowsocks-libev Default Server Service
   Loaded: loaded (/lib/systemd/system/shadowsocks-libev.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-06-23 13:33:46 UTC; 14s ago
     Docs: man:shadowsocks-libev(8)
 Main PID: 20316 (ss-server)
    Tasks: 1 (limit: 558)
   Memory: 552.0K
   CGroup: /system.slice/shadowsocks-libev.service
           └─20316 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json

提示:如果上述命令没有立即退出,请按 获得对终端的控制权。

如您所见,它正在运行,并且在启动时启用了自动启动。 如果它没有运行,则可以使用以下命令启动它:

sudo systemctl start shadowsocks-libev

要在引导时启用自动启动,请运行:

sudo systemctl enable shadowsocks-libev

现在我们需要编辑默认配置文件。

sudo nano /etc/shadowsocks-libev/config.json

文件的默认内容如下。

{
 "server":"127.0.0.1",
 "server_port":8388,
 "local_port":1080,
 "password":"focobguph",
 "timeout":60,
 "method":null
}

将127.0.0.1替换为Debian服务器的公共IP地址。 你可以改变 server_port 到其他端口号,但不要使用端口8388。然后设置您的首选密码,该密码用于加密流量。 建议您更换 nullchacha20-ietf-poly1305 作为加密方法。 这是我的配置示例。

保存并关闭文件。 然后重新启动Shadowsocks-libev,以使更改生效。

sudo systemctl restart shadowsocks-libev

在Debian 10桌面上安装和配置Shadowsocks-libev客户端

shadowsocks-libev软件包同时包含服务器软件和客户端软件。 因此,只需使用上述方法在Debian 10桌面上安装Shadowsocks-libev。

注意:在Debian 10上,Shadowsocks-libev(服务器)将在安装后自动启动。 您需要在Debian 10桌面上停止Shadowsocks服务器。

sudo systemctl stop shadowsocks-libev

另外,在引导时禁用自动启动。

sudo systemctl disable shadowsocks-libev

Shadowsocks客户端二进制文件名为 ss-local。 有一个模板系统服务单元: /lib/systemd/system/[email protected]。 在启动客户端之前,我们需要创建客户端配置文件。

sudo nano /etc/shadowsocks-libev/location-of-your-server.json

您可以更换 location-of-your-server 使用SFO,LAX之类的东西。 将Shadowsocks-libev服务器配置复制到客户端配置文件,然后添加以下行告诉客户端监听127.0.0.1。

"local_address":"127.0.0.1",

因此客户端配置文件将如下所示:

{
 "server":"your-server-ip-address",
 "server_port":8388,
 "local_address":"127.0.0.1",
 "local_port":1080,
 "password":"focobguph",
 "timeout":60,
 "method":"chacha20-ietf-poly1305"
}

保存并关闭文件。 然后,我们可以通过以下方式启动客户端:

sudo systemctl start [email protected]

并在引导时启用自动启动。

sudo systemctl enable [email protected]

检查其状态。 确保它正在运行。

systemctl status [email protected]

现在 ss-local 进程在Ubuntu桌面上侦听127.0.0.1:1080,并将其连接到Shadowsocks服务器。

配置Web浏览器以使用Socks代理

为了让您的程序使用袜子代理,该程序必须支持袜子代理。 诸如Firefox Quantum,谷歌浏览器和Dropbox之类的程序允许用户使用代理。 我将向您展示如何配置Firefox和Google Chrome。

火狐浏览器

在Firefox中,转到 编辑 > 优先 > 一般。 然后向下滚动到底部并单击 设定值网络代理。 在里面 连接设定 窗口中,选择 手动代理配置。 然后选择 袜子v5 因为Shadowsocks是Socks5代理。 在“ SOCKS主机”字段中输入127.0.0.1,在“端口”字段中输入1080。 确保 使用SOCKS v5时的代理DNS 已启用。 单击确定以应用这些修改。

shadowsocks-libev-debian-9

谷歌浏览器

Google Chrome和Chromium Linux版本没有用于配置代理的GUI,但是您可以使用以下命令行选项。

google-chrome --proxy-server="socks5://127.0.0.1:1080"

要么

chromium-browser --proxy-server="socks5://127.0.0.1:1080"

您还可以安装和使用SwitchOmega扩展配置代理,因此不必在终端窗口中键入命令。

DNS泄漏测试

转到dnsleaktest.com。 您将看到Shadowsocks服务器的IP地址,表明您的代理正在工作。

shadowsocks-libev-debian-9-stretch-install

单击Standardard测试。 确保您的本地ISP不在测试结果中。

shadowsocks-libev-debian-9-server

启用TCP BBR

TCP BBR是一种TCP拥塞控制算法,可以大大提高连接速度。 请按照以下教程在Debian 10服务器上启用TCP BBR。 您不必在Debian 10桌面上启用它。 以下链接的教程适用于Ubuntu,但也适用于Debian。

  • 如何通过启用TCP BBR轻松提升Ubuntu网络性能

启用TCP快速打开

您可以通过启用TCP快速打开来加快Shadowsocks的速度。 TCP是面向连接的协议,这意味着数据只能在建立连接后进行交换,这是通过三向握手完成的。 换句话说,传统上,数据只能在三向握手完成后才能交换。 TCP快速开放(TFO)是一种机制,它允许在三向握手完成之前交换数据,从而节省多达1个往返时间(RTT)。

从3.7版开始,TCP快速打开支持已合并到Linux内核,从3.13版开始默认启用。 您可以通过运行以下命令检查内核版本:

uname -r

要检查Debian服务器上的TCP快速打开配置,请运行

cat /proc/sys/net/ipv4/tcp_fastopen

它可以返回4个值。

  • 0表示禁用。
  • 1表示已启用传出连接(作为客户端)。
  • 2表示已启用传入连接(作为服务器)。
  • 3表示已启用传出和传入连接。

我所有的Debian服务器都退货了 1 运行以上命令后。 我们希望在服务器上将tcp_fastopen设置为3。 为此,我们可以编辑sysctl配置文件。

sudo nano /etc/sysctl.conf

然后将以下行粘贴到文件末尾。

net.ipv4.tcp_fastopen=3

重新加载sysctl设置以使更改生效。

sudo sysctl -p

然后,您还需要在Shadowsocks配置文件中启用TCP快速打开。

sudo nano /etc/shadowsocks-libev/config.json

添加以下行。

"fast_open": true

因此,您的Shadowsocks服务器配置文件将如下所示:

{
 "server":"your-server-ip-address",
 "server_port":8388,
 "local_port":1080,
 "password":"focobguph",
 "timeout":60,
 "method":"chacha20-ietf-poly1305",
 "fast_open": true
}

请注意,最后一个配置行没有逗号。 保存并关闭文件。 然后重新启动Shadowsocks服务器。

sudo systemctl restart shadowsocks-libev

检查它是否正在运行。 (配置文件中的错误可以阻止其重新启动。)

systemctl status shadowsocks-libev

您还需要编辑Shadowsocks客户端配置文件并重新启动它,以在Debian 10桌面上启用TCP快速打开。

有关Shadowsocks的更多用法,请查看手册。

man shadowsocks-libev

包起来

而已! 我希望本教程可以帮助您在Debian 10服务器和桌面上安装Shadowsocks-libev代理。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。 照顾自己。

Sidebar