前言#不在家庭网络时,比如外出,可能需要访问家中不方便暴露在公网的局域网服务。通过搭建 shadowsocks 代理,你可以”回家”,就像身处局域网一样访问这些资源。相比于 WireGuard 组网,shadowsocks 可以通过代理工具编写复杂的规则,实现更灵活的代理策略。

准备工作#

一台拥有公网 IP 的设备,IPv4 或 IPv6 均可

设备上已安装 Docker

确保设备和设备网关的 8388 端口(或你自定义的端口)已开放

服务端安装 shadowsocks#首先,创建配置文件目录:

Terminal window1mkdir -p ~/ss-server && cd ~/ss-server编写配置文件 config.json:

1{2 "server": "::",3 "server_port": 8388,4 "password": "your_strong_password_here",5 "method": "chacha20-ietf-poly1305",6 "mode": "tcp_and_udp"7}然后启动 shadowsocks 服务器:

Terminal window1docker run -d --name ss-server --restart always --network host \2 -v ~/ss-server/config.json:/etc/shadowsocks-rust/config.json \3 ghcr.io/shadowsocks/ssserver-rust:latest

安全提示:请务必将配置中的 password 替换为强密码,避免使用默认值!

客户端安装 shadowsocks#根据你的设备选择适合的客户端:

安卓设备:

shadowsocks Android

v2rayNG

Windows 设备:

shadowsocks Windows

Clash Verge Rev

配置客户端#以安卓 shadowsocks 为例:

打开 shadowsocks 应用

点击右上角 ”+” 添加配置

手动配置以下信息:

配置名称:自定义(如”家庭网络”)

服务器地址:服务端公网 IP

服务器端口:8388(或你自定义的端口)

密码:你在服务端设置的密码

加密方法:chacha20-ietf-poly1305

路由:全局模式(或根据需要选择)

保存并启用配置

测试连接#

客户端已连接到 shadowsocks

尝试访问家庭网络中的资源,如:

局域网服务

NAS 管理界面

常见问题排查#无法连接#

检查服务器防火墙是否已开放 8388 端口

确认配置文件中的密码和加密方法与客户端一致

查看服务器日志:docker logs ss-server

连接速度慢#

尝试更换加密方法,如 aes-256-gcm

检查服务器带宽限制

考虑更换网络质量更好的服务器