六层网络里的解析服务从哪来
四层网络习惯用一个专门的配置选项下发解析服务器地址,六层没有沿用这套做法,而是把解析服务器信息直接放进路由器通告报文的扩展选项里。主机收到通告后就能拿到解析服务器地址与搜索域,不需要额外的配置服务参与,自动配置链路因此更简洁。
为什么还有配置服务的选项
通告里的解析选项只能携带有限数量的地址,搜索域也需要单独的选项扩展。当网络规模大、需要下发多项配置时,仍然会使用配置服务的对应选项来补充。两条路可以并行使用,实际部署中常见的做法是自动配置下发地址、配置服务下发搜索域与更多策略。
基本信息
| 通告方式 | 解析服务器地址放在邻居发现的扩展选项里 |
|---|---|
| 搜索域 | 由单独的扩展选项下发 |
| 配置服务方式 | 使用配置服务自身的选项下发同类信息 |
| 手动方式 | 服务器与网络设备上静态配置 |
| 常用场景 | 自动配置环境优先用通告方式 |
典型使用场景
- 排障解析失败:能通地址但解析不到域名时,先确认通告里是否携带了解析服务器信息
- 多子网部署:每个子网的通告各自携带本网的解析服务器,避免流量绕行
- 验证配置生效:主机侧查看当前生效的解析服务器与搜索域,确认来源与预期一致
- 抓包分析:过滤通告报文,查看扩展选项内容,判断是没下发还是主机没接收
- 与配置服务配合:按规模决定下发方式,规模较小时用通告即可,减少依赖组件
- 双栈环境:四层与六层各自下发解析信息,排查时要分清当前使用的是哪一条路径
查看与抓包
查看与抓包
resolvectl status | grep -A3 'DNS Servers'
# 查看当前生效的解析服务器与搜索域
rdisc6 -r eth0
# 直接打印通告报文中的解析服务器选项
tcpdump -ni eth0 'icmp6 and ip6[40] == 134'
# 过滤类型为一百三十四的通告报文,观察选项内容解析信息来源
| 来源 | 内容 | 是否需要额外服务 | 适用场景 |
|---|---|---|---|
| 通告扩展选项 | 解析服务器地址 | 不需要 | 自动配置环境首选 |
| 通告搜索域选项 | 搜索域 | 不需要 | 与地址配套下发 |
| 配置服务选项 | 地址与搜索域 | 需要部署服务 | 规模较大或策略复杂 |
| 手动配置 | 静态指定 | 不需要 | 固定设备与服务器 |
只发前缀不发解析信息是常见配置疏漏:主机能通地址却解析不到域名,现象看起来像网络不通,实际是缺少解析配置,先查通告内容最快。
不要假设解析信息必然来自配置服务:在自动配置环境里它通常来自通告报文,排查时先看通告选项是否存在,再看配置服务是否参与。