巧妹儿,点滴生活,生活点滴,都需要你来陪伴,往后余生,请多多指教。男人最幸福的事情是:一个好妻子,一份好工作,一个好身体。

2009-2022
DFHL
未分类

CentOS/RHEL 下安装 Shadowsocks 服务端

安装 Shadowsocks(如果实在太懒,可以把我下面所有得命令执行一遍就能安装好了)

执行安装 Shadowsocks 的命令之前,我们需要先切换到 root 用户

或者使用普通用户,但在每条命令前加上 sudo

cd /etc/yum.repos.d/ 

curl -O https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo 

yum install -y shadowsocks-libev


注:如果安装报类似如下错误:

Error: Package: shadowsocks-libev-3.1.3-1.el7.centos.x86_64 (librehat-shadowsocks) 

Requires: libsodium >= 1.0.4 

Error: Package: shadowsocks-libev-3.1.3-1.el7.centos.x86_64 (librehat-shadowsocks) 

Requires: mbedtls

说明系统没有启用 EPEL (Extra Packages for Entreprise Linux)。那么我们需要首先启用 EPEL(该如何启用自己查一下),再安装 shadowsocks-libev:

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y shadowsocks-libev

安装完成后,会有 ss-localss-managerss-natss-redirss-serverss-tunnel 命令可用(了解就好,无需执行)

验证安装

在继续后文的配置之前,我们先在命令行中执行一次 ss-server 命令,以确认 shadowsocks 及其依赖已正确安装。

ss-server

如果已经完成安装则会显示下面内容并停留,(需要你自己手动 ctrl+c 退出)

726934fcacc8f46dc5c5fc31ab51d0f5fd0.jpg

如运行正常,则跳过常见问题,继续添加配置文件

如果出现一下错误:

error while loading shared libraries: libmbedcrypto.so.0: cannot open shared object file: No such file or directory

使用 root 身份执行以下命令即可:

cd /usr/lib64 

ln -s libmbedcrypto.so.1 libmbedcrypto.so.0

添加配置文件

COPR 里的 shadowsocks-libev 默认读取位于 /etc/shadowsocks-libev/config.json 的配置文件,我们可以根据需要参考以下配置文件进行修改:

vi /etc/shadowsocks-libev/config.json

进入文件后进行修改

{ #原来的server是127.0.0.1 如果改成0.0.0.0 则不限制从什么地方访问的 "

server":"0.0.0.0"

#vpn的端口 "server_port":8388

"local_port":1080

#密码 

"password":"你的密码"

"timeout":60

#加密方式 

"method":"aes-256-cfb" 

}

  • "server": 选填,默认 "127.0.0.1"。配置客户端时填入服务器的实际 IP。

    "0.0.0.0" 表明服务端接受来自任何网络接口的连接。配置服务端时填入 "0.0.0.0" 总是能生效,而不必填入服务器自身的 IP。

  • "server_port": 必填。需要在客户端配置时填入相同的值。

    此处填入服务端要监听的端口。需要选择 1024 或以上的端口号,否则启动 ss-server 时将会需要 root 权限,而默认的服务文件则是以 nobody 用户启动 Shadowsocks 的。

    如需选用低于 1024 的端口,也可执行命令 sudo setcap 'cap_net_bind_service=+ep' /usr/bin/ss-server 赋予相应权限,后续就可以使用 nobody 用户或普通用户启动 Shadowsocks。

  • "password": 必填。需要在客户端配置时填入相同的值。

    连接服务端所需的密码,建议替换为复杂密码,避免被攻击者暴力破解。

  • "method": 选填,默认 "rc4-md5"。需要在客户端配置时填入相同的值。

    服务端所用的加密方法,推荐以下几种算法:

    1. "chacha20-ietf-poly1305" 具有优秀的安全性,更佳的性能,属于 AEAD 加密算法,少部分客户端(如 iOS Wingy)不支持此算法;
    2. "aes-256-cfb" 具有足够安全性,且被各服务端及客户端广泛支持;
    3. "rc4-md5" 算法快速,且具有一定的安全性,适合运算能力受限的设备如路由器等。
  • "mode": 选填,默认 "tcp_only"

    服务器所要监听的协议,可填 "tcp_only""udp_only" 和 "tcp_and_udp"
    填入 "tcp_and_udp" 相当于命令行上提供 -u 参数;填入 "udp_only" 相当于命令行上提供 -U 参数。如果你是要用来玩国外游戏的,最好是用tcp_and_udp,因为很多游戏都是用的upd协议

对于配置服务端,完成以上几项配置就足够了。 

如果想要变更默认的配置文件位置,或者提供其他命令行参数,我们可以修改 /etc/sysconfig/shadowsocks-libev

CONFFILE="/etc/shadowsocks-libev/config.json"

配置防火墙

看你上面的端口设置了什么  就要把什么端口打开  如果设置了tcp协议就打开tcp  如果是udp就打开udp  也可以都打开

#我们上面配置的端口是默认端口8388 

firewall-cmd --permanent --add-port=8388/tcp 

firewall-cmd --permanent --add-port=8388/udp 

firewall-cmd --reload

如果服务器是运行在 VPS 或云服务器上,则往往还需要在云服务商的控制面板中配置相应的防火墙规则。

启动 Shadowsocks 服务

systemctl start shadowsocks-libev

检查 Shadowsocks 服务状态

systemctl status shadowsocks-libev

要查看 Shadowsocks 服务的全部日志,我们可以执行命令:

journalctl -u shadowsocks-libev

配置服务开机自启

systemctl enable shadowsocks-libev

至此,服务端所需要的所有配置就都已经完成了。




文章如无特别注明均为原创! 作者: 等风也等你, 转载或复制请以 超链接形式 并注明出处 走近风的BLOG
原文地址《 CentOS/RHEL 下安装 Shadowsocks 服务端》发布于2021年3月10日

分享到:
打赏

评论

游客

看不清楚?点图切换