Fake-IP 到底做了什么
开了 fake-ip 之后,程序问「example.com 的地址是多少」,内核不去真的解析,直接从一个保留网段里挑一个没用过的地址回给它,常见是 198.18.0.0/16。程序拿着这个假地址来连,内核一查表就知道对应的是哪个域名,然后按域名去匹配规则。
省下来的是一次真实解析:不解析,就没有被投毒的机会,也不用等国外权威服务器的往返。代价是——所有想看真实 IP 的东西都会看到一个 198.18 开头的假货。局域网设备发现、部分 P2P、某些游戏的直连打洞,都可能因此不正常。
合作推荐订阅链接从哪来?本站合作机场注册即送 1GB 香港高速体验流量,可直接一键导入。获取高速节点一份能用的起点
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
- "+.pool.ntp.org"
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- https://dns.google/dns-query
- tls://1.0.0.1:853
nameserver 是默认用的解析器,一般填你所在网络能快速响应的那几个。fallback 是给不放心的域名准备的加密解析,走 DoH 或 DoT。两者不是主备关系——内核会按自己的策略决定采信哪一边的结果,所以 fallback 里放的必须是你信得过的。
fake-ip-filter 要放什么
- 本地域名。
*.lan、*.local、路由器后台的域名。给它们假 IP,你就再也连不上自己家的设备。 - 需要真实 IP 才能工作的服务。时间同步、某些内网服务发现、部分下载工具的 tracker。
- 被你规则放直连的域名。它们本来就要走本地网络,拿假地址没有意义。
- 游戏。这类最难一概而论:有的游戏用域名连大厅、用 IP 连对战服务器,fake-ip 会让它对战阶段找不到路。发现某个游戏在 TUN 下进不去房间,先把它的域名加进 filter 试试。
什么时候退回 redir-host
redir-host 是老办法:正常解析域名拿到真实 IP,同时把域名记下来,转发的时候仍然按域名匹配规则。它慢一点,也要承担被污染的风险,但因为地址是真的,兼容性问题少得多。
判断标准很直接:如果你只是上网、看视频、用开发工具,fake-ip 更省心;如果你在跑 P2P、玩联机游戏、需要访问大量局域网设备,或者已经为了 fake-ip 往 filter 里加了十几条例外,那就换回 redir-host,别跟它较劲。
nameserver-policy 处理特例
有些域名必须用指定的 DNS 才能拿到正确结果,典型是公司内网域名和某些只对国内解析器返回正确 CDN 的站点。nameserver-policy 按域名指定解析器,比把整个 nameserver 改掉精准得多。
nameserver-policy:
"+.corp.example.com": 10.0.0.53
"geosite:cn": [223.5.5.5, 119.29.29.29]
改完 dns 段一定要断开已有连接再测,否则你测的还是旧解析结果的缓存。系统那层缓存也要清(Windows 上是
ipconfig /flushdns)。还有:在 fake-ip 模式下用 nslookup 查出来的 198.18 开头的地址是设计如此,不是故障。