DNS配置与匹配规则
1. multi dns ip
对于一个主机配置多个DNS IP
1.1. 作用
1.1.1. 冗余和容错
- 当第一个DNS服务器无法响应时,主机会自动尝试使用第二个、第三个DNS IP
- 提高DNS解析的可靠性,即使一个DNS服务器宕机,仍可通过其他DNS服务器进行域名解析
1.1.2. 负载均衡
- 多个DNS IP可以分散解析请求
- 减轻单个DNS服务器的负载压力
1.2. 协调机制
- 默认按照配置顺序轮询,解析过程是串行的,而非并行
- 第一个DNS IP优先使用,如果第一个DNS服务器在一定时间内(通常是几秒钟)未响应,则会尝试下一个DNS IP
域名服务器响应存在以下可能
- 域名不存在(NXDOMAIN):通常会立即返回错误
- 服务器暂时不可用(SERVFAIL):会触发切换到备用DNS
[!note]
在NXDOMAIN(Non-Existent Domain)的情况下,不会再通过下一个DNS服务器查询。XDOMAIN表域名definitively不存在,这是一个权威的否定响应,意味着在权威DNS服务器上确认该域名不存在。NXDOMAIN是一个确定性的响应,更换DNS服务器不会改变域名不存在的事实。
2. longest_suffix与wildcard
2.1. 标准域名分级匹配wildcard
- 基于域名的层次结构,从右到左逐级匹配
- 严格按照域名注册体系的规则进行匹配
- 以"."作为分隔符,按照标准TLD(顶级域名)、SLD(二级域名)等层级划分
- 例如:对于 example.com,先匹配 com(TLD),再匹配 example(SLD)
2.2. 最长尾缀匹配
- 优先匹配最具体、最长的尾缀部分
- 主要用于公共后缀列表(PSL)如Mozilla维护的列表中
- 能够有效处理特殊情况,如 co.uk、github.io 等公共后缀
- 例如:对于 blog.github.io,传统方法会将io视为TLD,而最长尾缀匹配会将整个 github.io 视为有效公共后缀
2.3. 实际应用区别
- 在处理 example.co.uk 时:
- 标准匹配会将 uk 视为TLD,co 为SLD
- 最长尾缀匹配会将 co.uk 整体视为有效公共后缀
最长尾缀匹配在处理现代域名系统中的复杂情况(如国家代码二级域名、新通用顶级域名等)时更为灵活有效,特别是在确定有效注册域名和Cookie域范围时具有明显优势。