CClash 下载中心下载入口

配置笔记

Clash 改 DNS 监听端口后有哪些依赖需要同步

Clash 改 DNS 监听端口后有哪些依赖需要同步。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4 · Clash 编辑组

修改 Clash(mihomo)DNS 的 listen 端口后,需要同步的是所有把查询发到「旧端口」的依赖,而不是上游服务器列表。手册中 listen 表示 DNS 服务监听,支持 UDP 与 TCP,示例为 0.0.0.0:1053。端口只出现在这一入口上;nameserver、fallback、default-nameserver 等描述的是 Clash 出去问谁,不会因为本地监听端口变化而自动更改。同步工作的目标是:查询发起方仍能把报文送到新的地址端口,且 UDP 与 TCP 两侧一致。

适用条件:哪些改动算「改了监听端口」

把 listen 从某一端口改到另一端口,或从 0.0.0.0:1053 改成只绑回环但仍换端口,都属于本项维护。仅修改 nameserver 的 URL、仅调整 fake-ip-range、仅开关 ipv6,不属于改监听端口,不必按本文清单去改客户端 DNS 端口。

前提是 enable 为 true。手册写明如为 false 则使用系统 DNS 解析,此时改 listen 端口对实际解析路径没有入口意义,应先确认是否启用内置 DNS。enhanced-mode 为 fake-ip 或 redir-host 也不随端口变化;fake-ip-range 是假 IP 网段,手册指出 TUN 的默认 IPv4 地址也使用此值作为参考,它与监听端口无替换关系,换端口后不要「顺便」改网段,除非 TUN 地址规划本身要变。

需要同步的依赖与操作步骤

第一类依赖是本机操作系统或其他应用里写死的 DNS 服务器。若它们指向 127.0.0.1:旧端口 或主机局域网 IP 加旧端口,必须改成新端口。判断依据:应用配置或系统 DNS 中的端口数字与当前 listen 是否一致。只改 IP 不改端口,查询仍打到已关闭的套接字。

第二类依赖是同一网络中的其他客户端,包括手机、虚拟机、容器、旁路设备。它们各自维护 DNS。手册示例使用 1053 说明入口可以不是 53,因此这些设备不能假设「改了 Clash 就会占用 53」。操作上逐台把 DNS 端口改为新值,或在这些设备前方的转发规则中把目的端口改到新 listen。判断依据:客户端发出的 DNS 报文目的端口等于新端口。

第三类依赖是把 53 转到 Clash 监听端口的本机或网关转发。若过去用防火墙或操作系统的端口转发,把到达 53 的 UDP/TCP 转到 1053,那么 Clash 改到新端口后,转发的目的端口必须一起改。只改 listen、不改转发,外部看起来仍在问 53,实际后端已无人接听。手册要求监听支持 UDP 与 TCP,转发规则应两种协议都同步,避免只转 TCP。

第四类依赖是探测与文档。运维脚本、健康检查、说明文字里写死的 dig/nslookup 端口、监控探活端口,需要改成新端口,否则会误报「DNS 挂了」。这不属于手册字段,但是端口变更的直接依赖。

不需要当作「监听端口依赖」去改的包括:nameserver 与 fallback 列表、nameserver-policy 的键值、default-nameserver(用于解析 DNS 服务器域名,必须为 IP)、proxy-server-nameserver 与 direct-nameserver、附加在上游 URL 后的 #proxy、ecs、h3 等参数、respect-rules。它们不读取 listen 的端口。节点域名解析失败仍应按手册检查是否配置了 proxy-server-nameserver 以避免鸡蛋问题,而不是回滚监听端口。

操作顺序建议:先确认新端口空闲且进程能完成 UDP 与 TCP 绑定,再改 listen,再改转发规则,最后改各客户端。若先改客户端、Clash 尚未监听新端口,会出现短暂全员解析失败,这是顺序问题,不能用增加 fallback 弥补。

判断依据与失败时下一步

同步完成的判断依据:生效配置中的端口、本机转发目的端口、每一类客户端 DNS 端口三者一致;用显式指定新端口的查询能够进入 Clash DNS;指向旧端口的查询失败或落到其他软件。

若部分设备正常、部分仍失败,下一步按设备列出其 DNS 端口,找出仍写旧端口的项,而不是修改 fallback-filter。若本机正常、局域网失败,下一步检查 listen 地址是否改为仅回环,以及防火墙是否仍只放行旧端口。若客户端已改新端口但无应答,下一步回到占用与权限:新端口是否被占、是否落到需要特权的低端口。若入口已通、解析策略不对,说明监听依赖已同步,下一步只处理上游字段:nameserver-policy 优先于 nameserver/fallback,direct-nameserver 为空则遵循那一套,geosite 作为 fallback-filter 字段已废弃、应使用 nameserver-policy。不要把策略问题重新当成端口未同步。

https://wiki.metacubex.one/config/dns/

← 返回全部文章