跳转至

Hosts 与 TUN 排除

Hosts 配置

在「设置 → 高级 → Hosts 配置」中可以自定义本地域名解析,格式与系统 hosts 文件相同:

127.0.0.1  example.local
::1        example.local
192.168.1.1 router.local

生成规则

映射类型 转换方式
单域名映射 转换为 sing-box hosts 类型 DNS 服务器
泛域名映射(如 *.example.com 转换为 predefined 类型的 DNS 规则

Hosts 配置如何生效?

  1. Rover 读取 Hosts 配置中的每一行
  2. 单域名映射(如 127.0.0.1 example.local)生成一个 hosts 类型的 DNS 服务器
  3. 泛域名映射(如 192.168.1.1 *.example.com)生成一条 predefined 类型的 DNS 规则
  4. 这些规则优先级最高,在 DNS 规则匹配之前生效

使用场景

场景 配置示例
本地开发 127.0.0.1 dev.example.com
内网服务 10.0.1.100 gitlab.internal
广告拦截 0.0.0.0 ads.example.com
DNS 劫持测试 127.0.0.1 test.local

广告拦截

通过 Hosts 拦截广告是一种简单方法,但不如使用规则集(如 BanAD)灵活。Hosts 需要逐条添加,而规则集可自动更新。

TUN 排除地址

在「设置 → 高级 → TUN 排除地址」中可以配置 TUN 模式下不经过 Rover 的网段,每行一个:

192.168.0.0/16
10.0.0.0/8
172.16.0.0/12

生成规则

TUN 排除地址会被写入 sing-box 配置的 tun.inet4_route_exclude_address 字段,由内核在路由层面排除。

使用场景

场景 排除地址
内网访问 192.168.0.0/1610.0.0.0/8
局域网设备 192.168.1.0/24(打印机、NAS 等)
公司 VPN 公司 VPN 网段
特殊服务 需要直连的服务 IP 段

注意

  • TUN 排除地址仅在 TUN 模式下生效,系统代理模式不需要此配置
  • 排除的地址将完全绕过 Rover,包括分流规则也不会匹配
  • 排除后如果需要对这些地址使用代理,无法通过策略规则实现

默认排除

Rover 默认已排除常见的私有网段(127.0.0.0/8192.168.0.0/16 等)。通常只需排除额外的自定义网段。