路由规则引擎

MintFlow 按 DNS 名称和目标 IP 选择流量出口。iOS 的应用分流匹配应用使用的域名/IP 范围,不通过 bundle ID 识别来源应用。简易模式选择一个普通出口,已保存的自定义规则保持停用。

规则模式包含两个相关决策:DNS 查询如何回答,以及数据包如何到达解析出的地址。不能用一个自上而下的顺序概括两者。

DNS 优先级:从高到低

只有生效且启用的配置参与。编译时因缺少 Pro 权限而排除的条目没有优先级。

顺序来源匹配与结果
1用户静态 DNS 记录精确匹配 [dns-hosts] 主机名;本地应答,不创建 DNS 所属的流量路由。
2Tailscale 派生 DNS先精确派生名称,再最具体的已启用派生子树,最后处理活动 tailnet 区域内的权威否定应答;名称留在本地。
3用户 DOMAIN-SET 路由选择最具体的后缀,与行位置无关;包括域名本身及子域名。
4用户 DOMAIN-KEYWORD 路由按已保存的关键词顺序选择第一个字面子串命中项。
5内置广告过滤仅在以上均未命中时查询所选列表;阻止时返回 NODATA,不访问上游。
6DNS-FALLBACK按所选动作/出口解析剩余名称,不作为广告过滤例外。

域名集合或关键词命中转发动作(DIRECT、L3VPN、L4PROXY)会绕过广告过滤;DROP 或 REJECT 保留原有 DNS 拒绝行为。更高优先级的静态应答也会优先于域名 Reject。DNS 规则不能替代 IP 防火墙。

活动 Tailscale 区域内的未知名称收到本地否定应答,不会发送到公共 DNS。静态记录和 Tailscale 名称仅在权限及 DNS 模式允许时启用。

域名集合、关键词与冲突

集合中的 example.com 匹配自身及 a.example.com,不匹配 badexample.com。更具体的 help.example.com 优先于 example.com,即使较宽规则是 Reject 且排在前面。

关键词匹配规范化 DNS 查询名称中的字面子串,不匹配 URL、路径、SNI 或 HTTP Host。ads 可匹配 ads.example.com 和 downloads.example.com,没有标签边界限制。匹配会规范化大小写和末尾点号,国际化名称使用 ASCII 形式。关键词支持 ASCII 字母、数字、点、连字符与下划线,不支持通配符或正则。最多 256 条关键词路由,付费出口限制仍适用。

域名集合始终优先于关键词。关键词内部按保存顺序决定,不自动按最长词或 Reject 优先。相同规范化后缀或关键词配置冲突的动作/目标会导致编译错误,不能用调整顺序解决。

示例

[domain-sets]
blocked=example.com
allowed=help.example.com

[routing]
DOMAIN-KEYWORD,help,REJECT
DOMAIN-SET,blocked,REJECT
DOMAIN-SET,allowed,DIRECT
DOMAIN-KEYWORD,ads,REJECT
CIDR,192.168.40.0/24,DIRECT
DNS-FALLBACK,DIRECT
DEFAULT,DIRECT
  • help.example.com 使用直连 DNS:较具体的集合优先于父域名 Reject 和前面的关键词,也会绕过广告过滤。
  • shop.example.com 命中较宽的集合,被拒绝。
  • ads.other.test 命中关键词,被拒绝。
  • 其他名称仍先经过广告过滤,再使用直连 DNS 兜底。
  • 若为其中某个名称配置精确静态记录,静态记录优先于上述所有域名规则。

宽泛的转发集合或关键词会让很多域名绕过过滤。处理误拦截时,优先添加范围较小的域名集合。使用 DNS 日志规则类型过滤和广告过滤检查器查看命中来源。

IP 路由与数据包转发

CIDR 和 CIDR-SET 会成为 IP 路由。匹配时最长前缀优先:192.168.40.10/32 比 192.168.40.0/24 更具体,后者又比 DEFAULT 更具体。将 CIDR 行移到域名行前,不会改变 DNS 优先级。

DNS 决策可为解析出的 IPv4 目标附加 VPN/代理或阻止策略。直连 DNS 结果继续经过普通 IP 路由,因此显式 CIDR 规则仍可为该地址选择 VPN/代理。用户静态记录也由 IP 规则决定数据包路径。DNS-FALLBACK 选择未匹配名称的策略,DEFAULT 是最终 IP 路由;请分别配置。

域名分流依赖查询进入 MintFlow DNS。共享 IP、缓存地址、应用自带加密 DNS 和直接使用 IP 的连接,都会限制域名规则的区分能力。调查意外出口时,请结合流量捕获和 DNS 日志检查。

保留规则与简易模式

VPN-DNS-SERVER-DOMAINS,L3VPN|L4PROXY,target 指定带域名的加密 VPN DNS 的引导路径。这是 DNS 基础设施保留规则,不是用户域名白名单。

简易模式不启用已保存的静态记录、Tailscale 派生 DNS、域名集合、关键词或自定义 CIDR 规则。DNS 广告拦截仍在所选出口之前执行。仅支持 TCP 的代理不能传输任意 UDP;简易模式会丢弃不支持的 UDP,不会静默直连。

保存配置修改,检查编译诊断,并按提示重启 VPN。纯过滤修改和明确的运行时控制可能实时应用。路由语法 · 内部 DNS

阅读本页 Markdown