返回

Linux使用Docker搭建Shadowsocks服务端

2024-12-17 Linux Docker Shadowsocks 104 0

使用 Docker 搭建 Shadowsocks 服务端是一种快速、简便且隔离性强的部署方法。以下是具体的步骤:

1. 安装 Docker

确保你的系统已安装 Docker。如果未安装,可以按照以下步骤安装:

在 Linux服务器 上安装 Docker:

sudo yum update -y
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER

注意:执行 usermod 后需重新登录才能生效。

验证 Docker 是否安装成功:

docker --version

2. 拉取 Shadowsocks Docker 镜像

官方推荐的 Shadowsocks Docker 镜像为 shadowsocks/shadowsocks-libev,这是由 C 语言实现的高性能版本。

拉取镜像:

docker pull shadowsocks/shadowsocks-libev

3. 运行 Shadowsocks 服务端

运行 Docker 容器时需要指定端口、密码和加密方式。以下是运行命令:

docker run -d \
  --name ssserver \
  -p 8388:8388 \
  -p 8388:8388/udp \
  shadowsocks/shadowsocks-libev \
  -s 0.0.0.0 \
  -p 8388 \
  -k your_password \
  -m aes-256-gcm

参数解释:

  • -d:以守护模式运行容器。
  • --name ssserver:容器名称。
  • -p 8388:8388:将宿主机的 8388 端口映射到容器的 8388 端口(TCP)。
  • -p 8388:8388/udp:将宿主机的 8388 UDP 端口映射到容器的 8388 UDP 端口。
  • -s 0.0.0.0:监听所有网络接口。
  • -p 8388:服务端监听的端口。
  • -k your_password:连接的密码。
  • -m aes-256-gcm:加密方式(推荐 aes-256-gcm 或 chacha20-ietf-poly1305)。

4. 验证Shadowsocks服务是否运行

查看运行中的容器:

docker ps

输出示例:

CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS       PORTS                    NAMES
abcdef123456   shadowsocks/shadowsocks-libev "/usr/bin/ss-server…"   5 seconds ago Up 5 seconds 0.0.0.0:8388->8388/tcp, 0.0.0.0:8388->8388/udp ssserver

测试服务端是否正常运行,可以通过 Shadowsocks 客户端连接服务器,使用配置:

  • IP 地址:你的服务器公网 IP
  • 端口:8388
  • 密码:your_password
  • 加密方式:aes-256-gcm

5. 防火墙与安全组配置

确保 Shadowsocks 使用的端口(如 8388)已在防火墙和 AWS 安全组中开放。

配置 AWS 安全组:

登录 AWS 控制台。

找到你的 EC2 实例关联的安全组。

添加入站规则:

  • 类型:自定义 TCP/UDP
  • 协议:TCP 和 UDP
  • 端口范围:8388
  • 来源:0.0.0.0/0(允许所有 IP)或指定 IP 段。

配置防火墙(如果适用):

sudo firewall-cmd --add-port=8388/tcp --permanent
sudo firewall-cmd --add-port=8388/udp --permanent
sudo firewall-cmd --reload

6. 持久化配置(可选)

为了方便管理,可以将 Shadowsocks 配置持久化到一个配置文件中,并通过挂载配置文件来运行。

创建配置文件

在主机上创建一个配置文件,例如 /etc/shadowsocks/config.json:

{
    "server": "0.0.0.0",
    "server_port": 8388,
    "password": "your_password",
    "method": "aes-256-gcm",
    "timeout": 300
}

使用挂载运行容器

运行 Docker 容器时挂载配置文件:

docker run -d \
  --name ssserver \
  -p 8388:8388 \
  -p 8388:8388/udp \
  -v /etc/shadowsocks/config.json:/etc/shadowsocks-libev/config.json \
  shadowsocks/shadowsocks-libev \
  -c /etc/shadowsocks-libev/config.json

7. 管理 Shadowsocks 容器

停止服务:docker stop ssserver

启动服务:docker start ssserver

查看日志:docker logs ssserver

删除容器:docker rm -f ssserver

8. 安全与优化建议

  • 更改默认端口:避免使用默认端口(如 8388),防止端口扫描或者被封。
  • 使用强密码:确保密码复杂,避免被暴力破解。
  • 启用流量混淆:可以结合 obfs 插件使用,增加抗检测能力。

通过 Docker 搭建 Shadowsocks 服务端可以简化安装流程,同时容器化管理也让服务更加灵活和高效。

您可能感兴趣:

阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价

领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!

DOVE 网络加速器 梯子 免费 试用

顶部