第3章 网络配置与故障排查

本章聚焦面试中最常遇到的网络排查问题:路由不可达、DNS解析失败、TCP连接超时。你需要掌握自底向上的排查思路(物理→链路→网络→传输→应用),并理解不同规模公司对网络知识的侧重——小公司看重基础命令和问题解决速度,大厂则关注排查方法论、网络协议原理和系统化思维。本章提供3道高频问答和1个真实项目模板,帮你建立可迁移的排查框架。

1. 确认现象 2. 链路层检查 3. 路由层检查 4. DNS解析检查 5. 应用层检查 ping? 报错信息? ping本地/网关 traceroute / route -n nslookup / dig curl / telnet 排查思路:自底向上

▍面试问答卡片

面试问题服务器无法访问外网(如 curl google.com 超时),如何排查?
面试官考察点• 是否掌握分层排查思路
• 能否区分路由、DNS、防火墙问题
• 命令工具熟练度(ping / traceroute / route / iptables)
回答框架1. 确认现象:具体报错?能否ping通网关?
2. 链路层:ping 127.0.0.1 → 网关 → 外部IP
3. 路由层:route -n 看缺省网关,traceroute 看哪一跳丢包
4. DNS:nslookup 域名确认解析
5. 防火墙:iptables -L 查看是否被DROP
简短示例回答先 ping 127.0.0.1 确认本地协议栈正常,再 ping 网关看链路,接着 ping 公网IP(如8.8.8.8)判断路由,最后 nslookup 验证DNS。若公网IP通但域名不通,重点排查DNS配置。
可能追问• traceroute 在目标禁ICMP时怎么办?(改用 tcping)
• 如何查看默认路由优先级?
避坑提醒不要一上来就查DNS;先排除链路和路由问题。很多候选者直接 dig 域名,却忘了检查网关是否可达。
面试问题客户端能 ping 通服务器 IP,但域名解析失败,如何排查?
面试官考察点• DNS 解析流程理解
• hosts / resolv.conf 配置知识
• nslookup / dig 高级用法
回答框架1. 检查 /etc/hosts 是否有静态映射
2. 检查 /etc/resolv.conf nameserver 配置
3. nslookup 指定域名和nameserver 测试
4. dig +trace 查看递归解析过程
5. 检查系统缓存(nscd / systemd-resolved)
简短示例回答先 cat /etc/hosts 排除本地覆盖,然后 nslookup example.com 看返回。若超时,dig @8.8.8.8 example.com 测试外部DNS。仍失败则检查防火墙是否阻断了53端口 UDP。
可能追问• /etc/nsswitch.conf 中 hosts 顺序影响?
• systemd-resolved 和传统 resolv.conf 冲突怎么处理?
避坑提醒不要只改 resolv.conf 而不重启 NetworkManager 或 systemd-resolved;很多发行版会自动覆盖配置文件。
面试问题TCP 连接建立超时(SYN发送后无响应),如何定位?
面试官考察点• TCP 三次握手状态理解
• 抓包分析能力(tcpdump)
• 防火墙/iptables 规则影响
• 内核参数(tcp_syn_retries)
回答框架1. 确认目标IP/端口可达性:telnet/ nc 测试
2. 服务端 netstat -an 看端口是否监听
3. tcpdump 抓包看是否收到SYN/ACK
4. 检查 iptables INPUT 链是否DROP
5. 检查内核参数 net.ipv4.tcp_syn_retries
简短示例回答先用 telnet ip port 看是否超时,服务端 ss -tln 确认端口在监听。客户端 tcpdump host server_ip 抓包,若只有SYN无SYN/ACK,大概率是被防火墙丢弃。检查 iptables -L INPUT。
可能追问• tcpdump 如何只抓SYN包?
• 如何调整 tcp_syn_retries 避免长时间等待?
避坑提醒不要假设服务端一定在监听;先确认端口是否开放。另外注意 iptables 规则顺序,DROP 规则可能被后面的 ACCEPT 覆盖。

▍项目案例

项目名称云服务迁移网络故障排查与优化
业务背景某电商核心业务从物理机迁移至公有云VPC,迁移后部分用户反馈延迟高、偶发连接超时。
规模指标• 日活用户 50w+
• 涉及服务器 60 台
• 网络吞吐量峰值 800Mbps
技术栈Linux(CentOS 7/8)、iptables、Keepalived、Nginx、tcpdump、Wireshark
核心难点• 云环境VPC路由表配置错误导致部分子网无法互相访问
• 安全组规则遗漏UDP 53端口导致DNS解析超时
• MTU不一致(物理机1500 vs 云内1400)造成分片丢包
面试高频追问1. 你怎么确定是MTU问题?
2. 云安全组 vs iptables 有什么区别?
3. Keepalived 引入的虚IP导致路由环路怎么排查?
可迁移回答话术“我采用自底向上的分层排查:先用ping测试网关确认物理链路,再用traceroute发现丢包节点;然后使用tcpdump抓包分析MTU分片标记;最后通过修改云平台MTU策略并调整安全组规则解决。这套思路同样适用于企业IDC与混合云网络问题。”
💡 面试加分项: 主动提及 ss -t(新工具替代 netstat)、ip route(替代 route)、curl -v 显示连接细节。展示对网络命名空间、VPC、Overlay网络的理解,会让面试官高看一眼。
⚠️ 常见扣分点: 1)仅凭“ping不通”就下结论;2)回答时缺乏逻辑分层;3)忘记检查防火墙状态(iptables / ufw / firewalld)。