UniFi / UBNT 分流教程

约 7 分钟阅读 · Network List / Static Route / NAT
示例 UniFi 网关为 192.168.1.1,CMSingBox 为 192.168.1.20。不同 UniFi Network 版本的菜单名称略有差异,但核心始终是 DNS 转发、目标静态路由和防环回。

一、CMSingBox 端准备

开启独立 DNS、透明代理并应用配置。DNS 监听为 0.0.0.0:53,代理上游为 127.0.0.1:1053,直连 DNS 指向网关 192.168.1.1。确认 192.168.1.20:53、:2080 和 :9090 正常。

二、建立客户端列表

进入 Settings → Profiles → Network Lists(部分版本叫 IP Groups),新建 proxy_device,加入需要分流的终端固定 IP。先在 DHCP 中为这些设备保留地址。

排除基础设施不要加入 UniFi 网关、CMSingBox、DNS/NAS 等基础服务地址,特别是 192.168.1.20。

三、DNS 转发

有两种可选方式:

  • 整个网络:在对应 LAN 的 DHCP Name Server 中手动填写 192.168.1.20。
  • 指定设备:DHCP 继续下发网关地址,并建立目的 NAT,将来源 proxy_device 的 TCP/UDP 53 转发到 192.168.1.20:53。

若仅下发 CMSingBox DNS,可在 CMSingBox 的例外设备中控制哪些来源直连。

四、创建目标静态路由

为下列目标分别建立静态路由,下一跳统一为 192.168.1.20:

198.18.0.0/15
91.108.4.0/22
91.108.8.0/22
91.108.12.0/22
91.108.16.0/22
91.108.20.0/22
91.108.56.0/22
91.105.192.0/23
149.154.160.0/20
185.76.151.0/24

如当前 UniFi 固件支持基于来源设备的 Policy-Based Route,可把来源限制为 proxy_device;否则静态路由将对整个 LAN 生效。

五、NAT 与防火墙

  1. 建立 DNS Destination NAT 时同时覆盖 TCP 和 UDP。
  2. 为 LAN → CMSingBox 的同网段转发建立 Masquerade/SNAT,避免回程绕开网关。
  3. 允许 proxy_device 访问 198.18.0.0/15 和纯 IP 目标段。
  4. 把相关允许与策略规则放在最终 Drop/默认路由之前。

六、验证与撤销

  1. 客户端重新获取 DHCP,检查 DNS。
  2. 查询代理域名,确认得到 FakeIP。
  3. 在 Traffic/Firewall 统计中检查路由和 NAT 命中。
  4. 在 CMSingBox DNS 监控及代理控制台确认流量。

断网时依次停用 Policy Route/Static Route、DNS DNAT,并恢复 DHCP DNS。无需删除 CMSingBox 容器或数据。