dns:
enable: true #是否启用,如为 false ,则使用系统 DNS 解析
cache-algorithm: lru #支持的算法:lru: Least Recently Used, 默认值 arc: Adaptive Replacement Cache
prefer-h3: true #DOH 优先使用 http/3
listen: 0.0.0.0:1053 #DNS 服务监听,支持 udp, tcp
ipv6: true #是否解析 IPV6, 如为 false, 则回应 AAAA 的空解析
enhanced-mode: fake-ip #mihomo 的 DNS 处理模式
fake-ip-range: 198.18.0.1/16 #fakeip 下的 IP 段设置,tun 的默认 IPV4 地址 也使用此值作为参考
fake-ip-filter: #fakeip 过滤,以下地址不会下发 fakeip 映射用于连接
- 'geosite:private'
fake-ip-filter-mode: blacklist #可选 blacklist/whitelist ,默认 blacklist ,whitelist 即只有匹配成功才返回 fake-ip
use-hosts: false #是否回应配置中的 hosts ,默认 true
use-system-hosts: true #是否查询系统 hosts ,默认 true
respect-rules: true #dns 连接遵守路由规则,需配置 proxy-server-nameserver
default-nameserver: #默认 DNS, 用于解析 DNS 服务器 的域名,必须为 IP, 可为加密 DNS
- tls://1.12.12.12:853
- tls://223.5.5.5:853
nameserver-policy:
"geosite:private,cn,geolocation-cn": system
"geoip:cn": system
proxy-server-nameserver: #代理节点域名解析服务器,仅用于解析代理节点的域名,如果不填则遵循 nameserver-policy 、nameserver 和 fallback 的配置
- https://dns.alidns.com/dns-query
- https://dns.pub/dns-query
direct-nameserver: #用于 direct 出口域名解析的 DNS 服务器,如果不填则遵循 nameserver-policy 、nameserver 和 fallback 的配置
- system
direct-nameserver-follow-policy: false #是否遵循 nameserver-policy ,默认为不遵守,仅当 direct-nameserver 不为空时生效
nameserver: #默认的域名解析服务器
- https://dns.cloudflare.com/dns-query
- https://dns.google/dns-query
我打算让国内的网站直接走系统 DNS,其他网站走国外 DNS
规则部分的配置如下:
rules:
- IP-CIDR,0.0.0.0/32,REJECT
- DOMAIN-REGEX,^ad\..*,REJECT
- DOMAIN-REGEX,.*\.ad\..*,REJECT
- GEOSITE,category-ads-all,REJECT
- DOMAIN-KEYWORD,teracloud,DIRECT
- GEOSITE,geolocation-cn,DIRECT
- GEOSITE,private,DIRECT
- GEOIP,cn,DIRECT
- GEOSITE,CATEGORY-AI-!CN,🧠人工智能🧠
- GEOSITE,DLSITE,🎌日本网站🎌
- DOMAIN-SUFFIX,jp,🎌日本网站🎌
- GEOSITE,category-cryptocurrency,🪙加密货币🪙
- GEOSITE,youtube,🌍国外媒体🌍
- MATCH,⚡自动选择⚡
但是在使用 Clash 时能观察到 udp://8.8.4.4:443 走 DIRECT
查了一下日志:
Log(logLevel: LogLevel.info, payload: [TCP] mihomo --> dns.google:443 match Match using ⚡自动选择⚡[中国 - 台湾 - Pittqiao Network Information Co., Ltd. - 148], dateTime: 2026-03-02 17:13:37)
Log(logLevel: LogLevel.debug, payload: probing TLS: opening TLS connection: tls: either ServerName or InsecureSkipVerify must be specified in the tls.Config, dateTime: 2026-03-02 17:13:37)
Log(logLevel: LogLevel.debug, payload: [https://dns.google:443/dns-query] using HTTP/3 for this upstream: QUIC was faster, dateTime: 2026-03-02 17:13:37)
Log(logLevel: LogLevel.debug, payload: [Rule] use default rules, dateTime: 2026-03-02 17:13:37)
Log(logLevel: LogLevel.debug, payload: ⚡自动选择⚡ UDP is not supported, dateTime: 2026-03-02 17:13:37)
Log(logLevel: LogLevel.info, payload: [UDP] mihomo --> 8.8.4.4:443 doesn't match any rule using DIRECT, dateTime: 2026-03-02 17:13:37)
想问一下大家为什么日志前面说 Google 的 dns 走 Match 了,后面的 IP 又走直连
Clash 匹配域名和 IP 是什么顺序,什么情况下直接匹配域名,什么情况下解析出 IP 再进行匹配
我配置的 Googledns 是 DOH 加密,那现在 udp://8.8.4.4:443 走直连是否还能起到加密的作用

