Hosts 与 TUN 排除¶
Hosts 配置¶
在「设置 → 高级 → Hosts 配置」中可以自定义本地域名解析,格式与系统 hosts 文件相同:
生成规则¶
| 映射类型 | 转换方式 |
|---|---|
| 单域名映射 | 转换为 sing-box hosts 类型 DNS 服务器 |
泛域名映射(如 *.example.com) |
转换为 predefined 类型的 DNS 规则 |
Hosts 配置如何生效?
- Rover 读取 Hosts 配置中的每一行
- 单域名映射(如
127.0.0.1 example.local)生成一个hosts类型的 DNS 服务器 - 泛域名映射(如
192.168.1.1 *.example.com)生成一条predefined类型的 DNS 规则 - 这些规则优先级最高,在 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 的网段,每行一个:
生成规则¶
TUN 排除地址会被写入 sing-box 配置的 tun.inet4_route_exclude_address 字段,由内核在路由层面排除。
使用场景¶
| 场景 | 排除地址 |
|---|---|
| 内网访问 | 192.168.0.0/16、10.0.0.0/8 |
| 局域网设备 | 192.168.1.0/24(打印机、NAS 等) |
| 公司 VPN | 公司 VPN 网段 |
| 特殊服务 | 需要直连的服务 IP 段 |
注意
- TUN 排除地址仅在 TUN 模式下生效,系统代理模式不需要此配置
- 排除的地址将完全绕过 Rover,包括分流规则也不会匹配
- 排除后如果需要对这些地址使用代理,无法通过策略规则实现
默认排除
Rover 默认已排除常见的私有网段(127.0.0.0/8、192.168.0.0/16 等)。通常只需排除额外的自定义网段。