第二单元: 系统运维与排障

DNS 排障进阶 (本土化实践)

黄玮

2026-01

Topic 1: DNS 排障的重要性

典型故障现象

# 能 ping 通 IP,但无法访问域名
ping 1.1.1.1          # 通 ✓
ping www.baidu.com    # 不通 ✗

这说明:网络层正常,DNS 解析出问题

Topic 2: DNS 配置与排查

查看当前 DNS 配置

# 传统方式 (注意: 在 WSL 中可能是自动生成的)
cat /etc/resolv.conf

# 查看 WSL 专用配置
cat /etc/wsl.conf

# systemd 系统使用 resolvectl
resolvectl status

注意: WSL 的 /etc/resolv.conf 文件头会提示: “This file was automatically generated by WSL”

DNS 排障命令

# dig - 功能更强大的 DNS 查询工具
dig www.baidu.com
dig @172.16.28.9 www.cuc.edu.cn    # 指定 DNS 服务器

# 查询 NS 记录 (查看域名的权威 DNS)
dig NS cuc.edu.cn

# nslookup - 交互式查询
nslookup www.baidu.com

Topic 3: 国内 DNS 选择建议

不推荐使用的公共 DNS

DNS 地址 问题
8.8.8.8 被重点监控,服务质量不稳定,影响 CDN 加速
8.8.4.4 Google DNS,同上
1.1.1.1 Cloudflare DNS,国内访问质量差

“在国内,奉劝大家不要用 8.8.8.8”

推荐的 DNS 服务器

# 校内用户首选 (中国传媒大学)
172.16.228.9

# 国内公共 DNS
阿里 DNS: 223.5.5.5, 223.6.6.6
腾讯 DNS: 119.29.29.29

# 百度作为连通性测试基准
ping www.baidu.com

为什么不用 8.8.8.8?

  1. 监管关注: 使用该地址会被重点监控
  2. 服务不稳定: 经常被干扰,质量受影响
  3. CDN 误判: 游戏/视频服务会误判你的位置,推荐境外节点导致卡顿
  4. 延迟较高: 物理距离远,响应慢

除非你有特殊需求,否则建议使用运营商或校内 DNS

Topic 4: 故障排查流程

自底向上的排查顺序

  1. 物理层: 网线插好了吗?WiFi 连接正常吗?
  2. 链路层: ip link 查看网卡状态 (UP/DOWN)
  3. 网络层: ip addr 查看 IP,ping 网关
  4. DNS 层: dig www.baidu.com 测试域名解析
  5. 传输层: nc -z -v host port 测试端口连通
  6. 应用层: curl -v url 测试 HTTP 服务

排查示例

# 步骤1: 检查网卡
ip link

# 步骤2: 检查 IP 和路由
ip addr
ip route | grep default    # 查看网关

# 步骤3: 测试网关连通性
ping <gateway_ip>

# 步骤4: 测试 DNS 解析
dig www.baidu.com

# 步骤5: 测试 HTTP 访问
curl -v http://www.baidu.com

Topic 5: traceroute 与路由追踪

追踪路由路径

# 查看经过的路由器
# -n: 不进行域名逆向解析,加快速度
traceroute -n www.baidu.com

# 观察输出中的星号 (*)
# 表示该跳路由器不响应 ICMP,可能是防火墙拦截

安全提示: 云环境通常会过滤 traceroute 探测,隐藏内部拓扑

理解路由输出

traceroute to www.baidu.com (110.242.68.3), 30 hops max
 1  10.0.0.1    1.2 ms      # 本地网关
 2  10.3.0.1    2.3 ms      # 校园网核心路由器
 3  202.205.*   5.6 ms      # 教育网出口
 4  * * *                   # 防火墙过滤,不响应
 5  * * *

加防火墙后,网络行为会与教科书描述有所不同