FakeDNS 是 V2Ray 的一种 DNS 模式:收到查询时立即返回保留网段的虚假 IP(如 198.18.0.0/15),把真实解析推迟到出站阶段,从而减少 DNS 往返、降低首包延迟。它最适合与 TUN 模式搭配,但要注意按 IP 匹配的路由规则可能失效。
FakeDNS 的工作流程
FakeDNS 是 V2Ray 的一种特殊 DNS 模式。开启后,当收到 DNS 查询时,V2Ray 会立即返回一个保留网段的虚假 IP(如 198.18.0.0/15),而不会等待真实 DNS 解析。这样,应用可以立即发起连接,减少了等待时间。
打个比方
传统 DNS 就像「先查好地址再出门」,每次出门前都要花时间查地址;FakeDNS 则是「先随便给个门牌号就出门,到了门口再问具体地址」。对于需要频繁访问大量域名的场景(如刷网页、用聊天软件),后者能明显减少等待。
收到 DNS 查询
应用请求解析某个域名,V2Ray 的 DNS 模块拦截该查询。
返回虚假 IP
V2Ray 立即返回保留网段内的一个虚假 IP,应用马上发起连接。
出站还原域名
流量进入路由阶段,V2Ray 根据映射表把虚假 IP 还原为真实域名。
按域名转发
路由规则按域名匹配出站,流量走代理或直连。
FakeDNS 能提速的场景
FakeDNS 特别适合需要频繁解析域名的场景,例如浏览网页、使用聊天应用。在这些场景中,传统 DNS 解析需要多次往返,而 FakeDNS 可以立即返回结果,显著减少延迟。
哪些场景收益最大
网页浏览、视频流媒体、即时通讯这类「域名多、解析频繁」的场景,FakeDNS 的收益最明显;而像在线游戏、某些需要真实 IP 校验的金融应用,FakeDNS 反而可能带来问题。是否开启,取决于你的主要使用场景。
开启 FakeDNS
推荐DNS 查询即时应答,首包延迟低,适合网页浏览、聊天、视频等高频解析场景。
关闭 FakeDNS
每次解析都走真实 DNS,延迟略高,但按 IP 匹配的规则能正常工作。
与路由规则的配合
使用 FakeDNS 时,建议优先使用域名规则,避免使用 IP 规则。因为 FakeDNS 返回的是虚假 IP,按 IP 匹配的规则可能无法正确工作。在 v2rayN 中,可以通过「参数设置」→「DNS」开启 FakeDNS,并在「路由设置」中调整规则。
域名规则
推荐按域名匹配,与 FakeDNS 的映射机制天然契合,分流准确。
IP 规则
按 IP 匹配,但 FakeDNS 返回的是虚假 IP,规则可能失效。
如果路由规则中包含按 IP 匹配的规则,FakeDNS 可能无法正确匹配。建议将域名规则放在 IP 规则之前。
FakeDNS 与 TUN 模式搭配
FakeDNS 与 TUN 模式搭配使用时效果最佳。TUN 模式接管全部流量,FakeDNS 可以加速所有的 DNS 查询。但需要注意的是,FakeDNS 并不适用于所有场景,例如按 IP 匹配的路由规则可能无法正确匹配虚假 IP。
在 TUN 模式下,所有应用的 DNS 查询都会被内核接管,因此 FakeDNS 的收益会被放大。如果你同时开启了 TUN 模式与 FakeDNS,建议把路由规则中的域名规则放在最前面,确保分流准确。
如何开启 FakeDNS
在 v2rayN 中,进入「参数设置」→「DNS」→「开启 FakeDNS」。开启后,v2rayN 会在生成的配置中添加 fake-dns 服务器。在 v2rayNG 中,进入「设置」→「DNS」→「开启 FakeDNS」。
{
"dns": {
"servers": [
{
"address": "fake-dns",
"domains": [
"geosite:geolocation-!cn"
]
}
]
}
}
上面的示例中,fake-dns 被配置为处理非中国大陆域名的解析。这样,非中国大陆域名会立即返回虚假 IP,而中国大陆域名仍然使用真实 DNS 服务器。
想让所有域名都走 FakeDNS?
可以把 domains 改为 ["geosite:geolocation-!cn", "geosite:cn"],或直接省略 domains 字段。但要注意,把中国大陆域名也交给 FakeDNS 后,国内网站的解析也会被推迟到出站阶段,可能影响直连速度。
FakeDNS 的局限性
FakeDNS 并非万能。对于需要真实 IP 的场景(如某些应用会校验 IP 地址),FakeDNS 可能导致问题。此外,FakeDNS 会增加内核的内存占用,因为内核需要维护域名与虚假 IP 的映射表。在低配置设备上,需要权衡是否开启。
容易被忽略的问题
FakeDNS 返回的虚假 IP 属于保留网段(如 198.18.0.0/15),如果某个应用或游戏对目标 IP 做了硬编码校验,或使用了「按 IP 直连」的策略,就可能出现连接异常。遇到这类情况,把相关域名加入直连规则,或直接关闭 FakeDNS 即可。
推荐配置
- DNS 服务器
- fake-dns + 真实 DNS 兜底
- 路由规则
- 以域名规则为主
- 适用场景
- TUN 模式 + 高频解析
不推荐配置
- DNS 服务器
- 仅 fake-dns
- 路由规则
- 大量 IP 规则
- 适用场景
- 对真实 IP 敏感的应用
开启后部分应用打不开
这些应用可能校验了真实 IP。尝试关闭 FakeDNS,或把相关域名加入直连规则。
按 IP 的规则不生效
FakeDNS 返回的是虚假 IP,按 IP 匹配会失效。改用域名规则,并把域名规则放在 IP 规则之前。
内存占用升高
内核需要维护域名与虚假 IP 的映射表。低配置设备上可关闭 FakeDNS,改用普通 DNS。
什么时候值得开
如果你用 TUN 模式接管全部流量,且路由以域名规则为主,FakeDNS 能明显降低首包延迟。反之,如果路由大量依赖 IP 规则,或应用对真实 IP 敏感,建议保持关闭。
FakeDNS 会泄露 DNS 吗?
不会。FakeDNS 只是把解析推迟到出站阶段,真实解析仍由你配置的 DNS 服务器完成,域名不会明文暴露给代理服务器。
FakeDNS 和普通 DNS 能同时用吗?
可以。你可以让 FakeDNS 只处理部分域名(如 geosite:geolocation-!cn),其余域名走真实 DNS 服务器。