Clash 的 fake-ip 和 redir-host 是什么?DNS 模式的区别与怎么选

Clash DNS 里有两种常见的工作方式:fake-ip 和 redir-host。fake-ip 的思路是:客户端先给应用一个“假的 IP”,等真正要联网时再决定怎么出去;redir-host 则先把域名真实解析出来。默认设置通常已经够用,只有遇到解析异常、局域网访问不了、ping 出奇怪地址时,才需要弄懂 Clash DNS 这一层。这篇把原理、区别和常见问题讲清楚。

为什么代理客户端要关心 DNS

规则分流(国内直连、国外走代理)需要知道你访问的是哪个域名。可是应用最后连接的是 IP 地址。客户端要把“域名”和“IP”对上,才能按域名规则决定走哪条路。这就带来了 DNS 的两种处理思路:

  • redir-host:先把域名真实解析成 IP,再根据 IP 或反查的信息去匹配规则;
  • fake-ip:应用问 DNS 时,客户端立刻返回一个从保留段里分配的“假 IP”,并记下“假 IP 对应哪个域名”,应用连接这个假 IP 时,客户端就知道真实域名是什么。

fake-ip 是怎么工作的

以“应用访问某个网站”为例:

  1. 应用向系统 DNS 查询域名;
  2. 客户端接管 DNS,不真实解析,直接返回一个假地址,常见的是 198.18 开头的保留段(具体范围可在配置里设置);
  3. 应用向这个假地址发起连接;
  4. 客户端根据“假地址对应的域名”匹配规则,决定直连还是走代理;
  5. 走代理的,把域名交给节点那一端去解析,这样本地不需要等真实解析。

好处是规则匹配更稳定,且省去了本地解析的等待,对走代理的流量尤其明显。

两种模式对比

对比项 fake-ip redir-host
返回给应用的地址 假地址(保留段) 真实解析结果
规则匹配依据 域名,更准确 解析出来的 IP 或反查信息
速度 走代理时通常更快 多一次本地解析
兼容性 个别应用、局域网服务可能出问题 更直接,兼容性问题较少
常见现象 ping 出 198.18 开头的地址 ping 出真实地址
解析被干扰的风险 走代理的部分不受本地解析影响 本地解析可能被污染,需要配合可靠的 DNS

常见问题与处理

  1. ping 出 198.18 开头的地址:正常现象,不是故障。要看真实地址,在客户端的连接页面查看,或用工具指定 DNS 查询;
  2. 局域网设备、路由器管理页打不开:这些内部域名不应该被 fake-ip 接管,需要把它们加入 fake-ip-filter(一个不使用假地址的域名过滤列表);
  3. 某些程序按 IP 缓存:程序重启后拿到的假地址变了,个别应用会因此异常,处理方式同上,把相关域名加入过滤;
  4. 联网检测提示“没有网络”:系统联网检测依赖特定域名,如果被假地址接管可能误判,通常也靠过滤列表解决;
  5. 游戏或点对点软件异常:这类流量依赖真实地址或 UDP,开 TUN 或调整规则,参见 TUN 模式怎么开。

怎么选:默认优先,遇到问题再改

  • 没有问题:保持客户端和订阅给出的默认设置,不要为了“优化”乱改;
  • 局域网访问异常:先加入 fake-ip-filter,而不是直接换模式;
  • 某个应用连不上:先用 分流规则怎么设 里的方法确认它走的是直连还是代理,再决定是否调整;
  • 怀疑 DNS 泄漏:先用 DNS 泄漏检测 的办法检查,再调整 DNS 设置;
  • 想换模式:一次只改一项,记下改了什么,方便还原。

改动前的自检

  • 已经备份当前配置,能一键还原;
  • 明确知道要解决的具体现象,而不是“听说这样更好”;
  • 一次只改一个参数;
  • 改完用几个常用网站和应用验证,包括国内和国外各一个;
  • 系统代理没有生效的情况,先看 Clash 系统代理不生效怎么办,排除接入问题再动 DNS。

今天就做

  1. 打开客户端,找到 DNS 设置,确认现在用的是哪种模式;
  2. ping 一个网站,看是否出现 198.18 开头的地址,理解它的含义;
  3. 如果有局域网访问异常,把相关域名加入过滤列表。

还在选机场的,先去 机场推荐排行榜 看资料。软件界面和配置项会随版本变化,以实际显示和项目官方说明为准。使用代理服务请遵守所在地法律法规,机场牛不提供法律意见。

Clash DNS常见问题

我 ping 一个网站,结果是 198.18 开头的地址,是出问题了吗?

通常不是。这正是 fake-ip 模式的表现:客户端返回的是一个保留段里的假地址,真正的解析在代理那一端完成。ping 这类工具看到的不是网站真实地址。要查看真实地址,需要在客户端里看连接信息,或者换 nslookup 配合指定 DNS 来测。

fake-ip 和 redir-host 哪个更好?

没有标准答案。fake-ip 速度快、规则匹配稳定,兼容性问题多出在个别程序上;redir-host 兼容性更直接,但可能出现解析延迟和污染问题。新手通常保持客户端默认设置,遇到具体问题再针对性调整。

开了 fake-ip 之后,局域网里的设备访问不了怎么办?

局域网域名、路由器管理页面这类内部服务,需要加入 fake-ip-filter,让它们按真实解析处理。具体写法见客户端的覆写或配置文件,改之前先备份。如果不会写,可以暂时切回默认的真实解析模式验证是不是它的原因。

这些设置要不要自己改?

多数用户不需要。订阅和客户端默认已经给出可用的组合。只有在遇到解析异常、局域网访问不了、个别应用连不上时,才需要看这一层,并且一次只改一项,记下改了什么,方便还原。

延伸阅读

还没想好选哪家?先看夯到拉榜

机场牛把 28 家机场按资料透明度分成夯到拉完了六档,价格、线路和来源一页摆清楚。打开机场推荐排行榜,或者直接看便宜机场、专线机场、优惠码。