8. DNS 相关设置¶
8.1 DNS 相关逻辑¶
查询逻辑¶
所有DNS查询分为两类:
- 第一类是常规DNS查询
- 第二类是加密DNS查询(DoH/DoQ/DoH3),在同时配置了加密DNS和常规DNS服务器时,只会进行加密DNS查询,会并发向所有有效的DNS服务器发起查询,使用响应最快的查询结果。
缓存逻辑¶
两种DNS缓存:
- 第一种是内存缓存,采用LRU算法缓存100条数据(iOS15后增加到200),在Loon启动过程中有效,关闭后缓存全部清除;
- 第二种是磁盘缓存,根据TTL是否过期进行自动删除。同时允许关闭磁盘缓存逻辑。
查询、缓存命中逻辑¶
在对一个域名进行查询前,会在内存缓存中查询:
- 如果命中缓存,会直接使用缓存结果;如果缓存IP的TTL过期,会进行一次查询,并使用查询结果更新缓存;
- 如果没有命中内存缓存,会进一步查询磁盘缓存,磁盘缓存命中逻辑和内存缓存命中逻辑一致;
- 如果没有缓存,会根据配置的DNS服务器并发查询,使用最先响应的结果,并更新缓存。
查询回落¶
在使用加密的DNS查询IP时,如果查询失败将会使用常规的DNS进行查询,可以在App的DNS服务器页面进行关闭
8.2 DNS 服务器¶
「配置标签页」-「DNS」区域 - DNS服务器
注意
以下主要讲的是 [General]
区块下的内容,所以示例都以 [General]
开头表明在其之下,并不是让你每个参数字段前都加上 [General]
。
- 包含系统 DNS 地址
开启后,将会在常规 DNS 服务器中添加 system
参数,表示系统服务器;
Loon会优先使用自定义 DNS 服务器,但当自定义服务器丢包严重时,会切回系统自带 DNS
- 查询回落
开启后,如果加密 DNS 查询失败,将会回落到 DNS over UDP(常规DNS) 再次查询
加密 DNS¶
注意
如果配置了 DNS-over-HTTPS, DNS-over-QUIC, DNS-over-HTTP3服务器,将不会进行传统的DNS查询,Loon会并发查询,并使用最快的响应
- DNS over HTTPS
提示
DoH server,标准的 url 格式,以,
分割多个地址
- DNS over QUIC
提示
DNS-over-QUIC 服务地址必须以quic://
开头,默认端口784
- DNS over HTTP3
提示
DNS-over-HTTP3 服务地址可以以 https://
或者 h3://
开头,默认端口 443
常规 DNS¶
8.3 DNS映射¶
当需要对特定域名指定 DNS 服务或者固定 IP 时,可以使用此功能
「配置标签页」-「DNS」区域 - DNS映射
注意
以下主要讲的是 [Host]
区块下的内容,所以示例都以 [Host]
开头表明在其之下,并不是让你每个参数字段前都加上 [Host]
。
域名映射 IP¶
支持域名/通配符
域名映射域名¶
域名指定查询DNS服务器¶
system
表示系统 DNS 服务器
特定SSID环境下指定DNS查询的服务器¶
ssid类型: ssid:WiFi SSID