Linux使用Docker搭建Shadowsocks服务端
2024-12-17
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 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!