Loading... # 背景 众所周知,将任何设备直接暴露于公网都会显著增加受攻击风险,对于家用物联网、NAS这类设备并不适合直接开放到公网上。而在年初飞牛OS就被曝存在路径穿越漏洞,任何暴露于公网的飞牛设备(包括使用fn Connect 内网穿透服务 )均存在被入侵风险,攻击者可绕过所有身份验证,直接读取任意文件。 但对于平时有公网访问需求的情况下,仅开放局域网内访问是不现实的。在各种访问家庭内网的方案中,考虑到安全性与便捷性的平衡,最终采用了动态公网 IPv6 + DDNS + SS 这一方案。 # 方案简介 该方案仅开放一个高强度加密的单端口,攻击者无法直接扫描到内网服务,如飞牛 Web 管理页、SMB 等,极大降低了攻击面 部署前需确认家庭宽带拥有公网 IPv4 或 IPv6 # 部署过程 ## DDNS ### 0.准备域名 如果还没有域名,可以购买一个 ### 1.创建专用子用户,添加DNS管理权限 以阿里云为例,创建一个RAM用户[^1],并在权限管理中新增授权,添加DNS管理权限( `AliyunDNSFullAccess` ),用于更新DNS解析记录  ### 2.创建 AccessKey 进入对应RAM用户的管理页面,找到 AccessKey 模块开始创建 AccessKey ,获取 `AccessKey ID` 和 `AccessKey Secret` ### 3.飞牛配置DDNS 进入 系统设置 > 远程访问 > DDNS 模块,新增DDNS 选择服务商、输入域名,并将上一步获取到的 `AccessKey ID` 和 `AccessKey Secret` 填入 完成配置后可点击 `测试连接` 确认是否配置成功 ## SS服务端部署 SS服务直接使用飞牛自带的Docker管理界面部署,傻瓜式操作 ### 0.镜像下载 从镜像仓库中搜索获取镜像 `shadowsocks-libev` 并下载 ### 1.创建容器 到本地镜像中,找到刚下载的镜像文件,点击创建容器实例 ### 2.配置容器 配置容器端口映射参数 配置环境变量,主要关注以下参数 ```json { "SERVER_ADDR":"::", "SERVER_PORT":8910, "PASSWORD":"atfield", "METHOD":"aes-256-gcm", } ``` `SERVER_ADDR` 配置监听本机IPv6和IPv4地址 `SERVER_PORT` 服务监听端口 `PASSWORD` 加密通信密码 `METHOD` 采用的加密算法 将网络模式( `network_mode` ) 配置为 `host` 勾选“开机自动开启”选项 完成以上配置后运行 ## SS客户端配置 ### YAML 配置文件 完成服务部署后,该对现有客户端的配置文件进行修改适配 以 CFW 配置为例,在现有配置文件添加修改以下内容 `proxies` 添加代理节点,与服务端配置相对应 ```yaml proxies: - name: home type: ss server: ddns.example.com port: "8910" cipher: aes-256-gcm password: atfield ``` `server` 改为DDNS配置的域名 `proxy-groups` 添加策略组 ```yaml proxy-groups: - name: HOME type: select proxies: - home ``` `rules` 添加规则 ```yaml rules: - IP-CIDR,192.168.1.0/24,HOME,no-resolve ``` 将目标 IP 地址为 `192.168.1.0/24` 的数据包路由到 `HOME`,该地址需改为 NAS 所在内网网段 ### Bypass Domain/IPNet 配置 `bypass` 检查绕过代理规则 移除需要代理的局域网网段配置,确保请求能正常走代理 0. 进入 Settings > System Proxy 页面 1. 点击 Bypass Domain/IPNet 右边 Edit 小字打开编辑界面 2. 根据实际网段修改,确保局域网网段没有出现在 bypass 列表 ```yaml bypass: # - 192.168.* # - 192.168.1.* ``` ## 飞牛OS防火墙 ### 启用防火墙 进入 系统设置 > 安全性 > 防火墙 模块,启用防火墙 在 高级设置 > 局域网 中,勾选 `默认允许访问` 选项 将出入站策略修改为默认拒绝 ## 修改入站规则 添加入站规则,开放 ss-server 端口的TCP 和 UDP 入站流量,并启用规则 将其它所有入站规则都禁用,确保仅开放 ss-server 服务对应的端口 # 验证 完成以上配置后,在 CFW 客户端中前往 `Proxies` 模块,找到对应 home 节点,点击 Check 测试节点是否可用 # TUN模式 以上配置仅对走系统代理的应用生效,因此如网络驱动器映射这类场景是无法访问到 NAS 的。对应此类场景,我们还可以使用工作在网络层的 TUN Mode 来接管系统所有流量,实现全局代理 [^1]: 由于主账号 AccessKey 有资源完全的权限,一旦泄露风险巨大,为了保证权限最小化不建议使用 最后修改:2026 年 04 月 14 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏