DNS 和连通性测验
最后更新:2026 年 9 月 15 日
请使用课程区分观测结果与推论。内部实验环境的客户端为 192.0.2.10/24,服务器为 192.0.2.20/24;服务器上没有 DNS 服务。
问题
/etc/hosts将server.netlab.test映射到.20。getent ahostsv4成功,但dig @192.0.2.20超时。哪种解释正确?- A) 所有名称解析都失败
- B) 本地 NSS 查找成功,而查询的服务器未提供预期的 DNS 服务
- C) 必须删除管理默认路由
- D) hosts 条目会自动在服务器上创建 DNS 监听器
显示答案
答案:B) 本地 NSS 查找成功,而查询的服务器未提供预期的 DNS 服务
说明:getent 会使用系统名称服务来源;dig 会向指定服务器发送 DNS 查询。实验环境有意不在 .20 上运行 DNS 监听器。超时表示在时限内没有收到可用应答,并不表示收到 NXDOMAIN 应答。应保留有效的 hosts 映射,而不是将系统 DNS 指向 .20。
- 在 Ubuntu 上,
dig @127.0.0.53 server.netlab.test. A返回了/etc/hosts中的地址。发生了什么?- A) Dig 直接通过 NSS 查找所查询的名称
- B) 公共权威服务器获知了本地 hosts 条目
- C) 客户端变成了路由器
- D) Dig 查询了 resolved 的 stub,而它可以根据本地 hosts 数据作答
显示答案
答案:D) Dig 查询了 resolved 的 stub,而它可以根据本地 hosts 数据作答
说明:Dig 本身不会通过 NSS 解析所查询的名称。不过,systemd-resolved 通常会读取 hosts 数据,并可通过自身的 DNS stub 提供该结果。查询本地 stub 与查询无关的上游服务器是两种不同实验;如果禁用了本地行为,应检查配置。
- 某 DNS 应答包含
status: NXDOMAIN,另一次查询则超时。两者有什么区别?- A) NXDOMAIN 是否定 DNS 应答;超时表示在时限内没有收到可用应答
- B) 两者都能证明所查询的名称不存在
- C) NXDOMAIN 证明所有 IP 路由都缺失
- D) 超时证明权威服务器删除了记录
显示答案
答案:A) NXDOMAIN 是否定 DNS 应答;超时表示在时限内没有收到可用应答
说明:遇到 NXDOMAIN 时,应检查拼写、解析器视图和缓存的否定数据。遇到超时时,应检查路由、解析器可达性和策略。收到 NXDOMAIN 后 dig 仍可能以 0 退出,因此应查看 DNS 状态和应答内容,不要只依赖 shell 退出状态。
- 某记录的 TTL 为 300。你降低了其权威 TTL,并清除了 resolved 的本地缓存。可以得出什么结论?
- A) 每个客户端都会立即看到新记录
- B) 该记录能经过的路由器正好有 300 台
- C) DNS TTL 是缓存有效期;其他缓存可能保留旧数据,且与 IP TTL 无关
- D)
/etc/hosts也被清空
显示答案
答案:C) DNS TTL 是缓存有效期;其他缓存可能保留旧数据,且与 IP TTL 无关
说明:清除某个本地服务的 DNS 缓存并不会清除应用程序或上游缓存。更改权威 TTL 也不会改写之前已缓存数据的有效期。IP TTL 限制转发跳数;DNS TTL 以秒为单位,两者的单位和机制不同。
- 客户端执行
ip route get 192.0.2.20后显示dev LAB_NIC src 192.0.2.10,且没有via。这说明什么?- A) 服务器上的 HTTP 应用运行正常
- B) 本地路由会为链路上的对端选择实验接口和源地址;但尚未测试可达性
- C) VM 上不存在任何默认路由
- D) DNS 选择了对端的 MAC 地址
显示答案
答案:B) 本地路由会为链路上的对端选择实验接口和源地址;但尚未测试可达性
说明:路由查找只反映本地情况,本身不会发送探测包。链路上的 /24 对端不需要下一跳路由器。独立的管理默认路由可以保留。邻居发现、对端/返回路径行为以及应用测试都需要分别检查。
- ping 客户端自己的
192.0.2.10成功,但它针对.20的邻居条目变成FAILED。首先应检查什么?- A) 在实验 NIC 上安装公共 DNS
- B) 将 ping 自身视为虚拟网线正常工作的证明
- C) 清空管理路由表
- D) 检查两个内部网络连接、对端地址、carrier 状态和可能的地址冲突
显示答案
答案:D) 检查两个内部网络连接、对端地址、carrier 状态和可能的地址冲突
说明:发往本地地址的请求通常会在本机处理,并不会测试虚拟链路。邻居条目失败意味着下一跳 MAC 地址解析失败,因此应先检查链路/地址证据,再检查应用层 DNS。相比之下,STALE 本身并不表示映射失败。
- traceroute 输出了
*,但客户端对同一服务器的 HTTP 请求成功。哪项说法有依据?- A) 探测未能在时限内收到匹配的应答;普通应用流量转发仍可能正常
- B) 显示星号的那一跳会丢弃每个数据包
- C) HTTP 结果一定是 traceroute 缓存的
- D) 每台虚拟交换机都会显示为一个 IP 跳点
显示答案
答案:A) 探测未能在时限内收到匹配的应答;普通应用流量转发仍可能正常
说明:探测协议和控制应答策略与应用流量不同。过滤、应答速率限制和返回路径都可能导致应答不可见。以太网交换机不像路由器那样递减 IP TTL。单独一个星号不能测量应用数据包丢失。
nc -z或ncat -z成功连接到端口 18080,但尚未发送 HTTP 请求。这说明什么通过了测试?- A) DNS 权威性验证
- B) HTTP 身份验证和网页渲染
- C) 到该端点的 TCP 连接已建立
- D) 已完成 HTTPS 证书检查
显示答案
答案:C) 到该端点的 TCP 连接已建立
说明:零 I/O 连接探测不会发送预期的 HTTP 请求,也不会验证应答。之后应使用 curl 检查状态码、标头和消息体。即使 TCP 连接成功,也不能证明服务使用了预期协议。
- 服务器向自身发出的请求返回 200,监听器绑定到
.20:18080,但客户端的 TCP 请求超时。哪种报告最合适?- A) 端到端 HTTP 完全正常
- B) 本地服务正常;仍需调查远程路由、邻居/返回路径证据和主机策略
- C) 即使客户端使用数字地址,DNS 仍一定故障
- D) 全局禁用服务器防火墙
显示答案
答案:B) 本地服务正常;仍需调查远程路由、邻居/返回路径证据和主机策略
说明:服务器对自身发起请求无法证明客户端能够访问。防火墙只是一个可能原因,单凭超时不能下结论。应保留证据,以供第 06 章中有范围限定的策略工作使用。不要以本地成功替代受阻的远程测试,也不要绕过防火墙来强行获得成功。
- Curl 对
/missing-page返回 HTTP 404,但退出码为 0。这意味着什么?
- A) 没有建立 TCP 连接
- B) 服务器名称没有 DNS 记录
- C) Curl 一定忽略了服务器应答
- D) HTTP 返回了资源缺失应答;未使用
--fail时,curl 仍可能成功退出
显示答案
答案:D) HTTP 返回了资源缺失应答;未使用 --fail 时,curl 仍可能成功退出
说明:传输层已正常工作,足以交换 HTTP 信息,但所请求的资源不存在。应阅读 HTTP 状态行并调查路径/应用。不要通过更改 DNS 来修复这一有意设置的应用层失败。
- 数字地址的 HTTP 请求成功,使用名称的请求失败;添加
--resolve server.netlab.test:18080:192.0.2.20后,名称请求成功。接下来应做什么?
- A) 使用 getent/NSS 检查常规名称查找;该覆盖只影响这次 curl 调用
- B) 删除到
.20的永久路由 - C) 假定 curl 已更新公共 DNS 区域
- D) 全局禁用 TLS 验证
显示答案
答案:A) 使用 getent/NSS 检查常规名称查找;该覆盖只影响这次 curl 调用
说明:该覆盖会在请求中保留主机名,同时为 curl 提供已知地址。它不会更改 hosts 文件或 DNS 记录,也无需回滚。对于 HTTPS,还需要考虑主机名/SNI/证书行为;不能以此 HTTP 练习为由绕过证书验证。
- 哪项完成/清理说明正确?
- A) 隔离实验要通过,就必须先成功解析公共 DNS
- B) 删除
/tmp下的每个文件,并重置整个 hosts 文件 - C) 停止自己启动的服务器,删除其确切文件/目录和带标记的 hosts 条目,保留静态实验地址,并将公共 DNS 视为可选项
- D) 将管理 NIC 改为使用公共 DNS,使所有观测结果保持一致
显示答案
答案:C) 停止自己启动的服务器,删除其确切文件/目录和带标记的 hosts 条目,保留静态实验地址,并将公共 DNS 视为可选项
说明:清理应遵循资源所有权:前台服务器有 5 分钟限制,且已记录临时目录,hosts 区块也有标记。应保留无关编辑和第 03 章中的地址以供 SSH 使用。公共查询依赖现有的外网访问/策略,不能作为隔离对等路径的证据。