内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
本文档风哥主要介绍Linux系统路由故障排查方法,特别是无法访问外网的问题诊断与解决,包括路由表查看、网关配置、DNS解析等排查步骤,适合系统管理员在网络故障排查时参考。
from PG视频:www.itpux.com
Part01-基础概念与理论知识
1.1 Linux路由基础
路由是网络通信的核心机制,理解路由原理对于故障排查至关重要。
## 路由表
– 存储网络路径信息
– 决定数据包转发方向
– 包含目标网络、网关、接口等信息
## 路由类型
– 直连路由:直接连接的网络
– 静态路由:手动配置的路由
– 动态路由:通过路由协议学习
– 默认路由:默认网关
## 路由优先级
– 更具体的路由优先
– 管理距离越小越优先
– 度量值越小越优先
1.2 常见路由故障原因
- 网关配置错误:默认网关未配置或配置错误
- 路由表错误:缺少必要的路由条目
- DNS解析失败:DNS服务器配置错误
- 防火墙阻断:防火墙规则阻止出站流量
- NAT配置问题:NAT未正确配置
Part02-生产环境规划与建议
2.1 路由排查工具
## 路由查看工具
1. ip route – 查看和管理路由表
2. route – 传统路由查看工具
3. netstat -r – 查看路由表
4. nmcli – NetworkManager路由管理
## 连通性测试工具
1. ping – 测试网络连通性
2. traceroute – 路由追踪
3. tracepath – 路径MTU发现
4. mtr – 实时路由诊断
## DNS测试工具
1. nslookup – DNS查询
2. dig – DNS诊断
3. host – DNS查询
4. getent – 名称服务查询
Part03-生产环境项目实施方案
3.1 路由表查看与分析
$ ip route show
default via 192.168.1.1 dev ens33 proto dhcp metric 100
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
# 查看详细路由信息
$ ip route show table all
default via 192.168.1.1 dev ens33 proto dhcp metric 100
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
# 添加默认网关
$ sudo ip route add default via 192.168.1.1
# 删除默认网关
$ sudo ip route del default
# 添加静态路由
$ sudo ip route add 10.0.0.0/24 via 192.168.1.254
# 测试到网关的连通性
$ ping -c 3 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.523 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.456 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.489 ms
3.2 DNS解析测试
$ nslookup www.baidu.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: www.baidu.com
Address: 110.242.68.3
Name: www.baidu.com
Address: 110.242.68.4
# 使用dig测试
$ dig www.baidu.com
; <<>> DiG 9.16.1-Ubuntu <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 300 IN A 110.242.68.3
www.baidu.com. 300 IN A 110.242.68.4
# 查看DNS配置
$ cat /etc/resolv.conf
# Generated by NetworkManager
search fgedu.net.cn
nameserver 192.168.1.1
nameserver 8.8.8.8
# 临时修改DNS
$ sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
3.3 路由追踪
$ traceroute www.baidu.com
traceroute to www.baidu.com (110.242.68.3), 30 hops max, 60 byte packets
1 gateway (192.168.1.1) 0.523 ms 0.456 ms 0.489 ms
2 10.0.0.学习交流加群风哥微信: itpux-com1 (10.0.0.1) 1.234 ms 1.123 ms 1.345 ms
3 172.16.0.1 (172.16.0.1) 2.345 ms 2.234 ms 2.456 ms
4 * * *
5 110.242.68.3 (110.242.68.3) 5.678 ms 5.567 ms 5.789 ms
# 使用mtr实时监控
$ mtr www.baidu.com
My traceroute [v0.93]
server1 (192.更多视频教程www.fgedu.net.cn168.1.100) 2026-04-06T10:30:25+0800
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host %Loss Rcv Snt Last Best Avg Wrst StDev
1. gateway 0.0% 10 10 0.5 0.4 0.5 0.6 0.1
2. 10.0.0.1 0.0% 10 10 1.2 1.1 1.3 1.5 0.1
3. 172.16.0.1 0.0% 10 10 2.3 2.2 2.4 2.6 0.1
4. ??? 更多学习教程公众号风哥教程itpux_com 100.0 0 10 0.0 0.0 0.0 0.0 0.0
5. 110.242.68.3 0.0% 10 10 5.6 5.5 5.7 5.9 0.1
Part04-生产案例与实战讲解
4.1 案例:无法访问外网
$ ping www.baidu.com
ping: www.baidu.com: Name or service not known
# 排查步骤
## 1. 检查网络接口
$ ip a学习交流加群风哥QQ113257174ddr show
2: ens33:
link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33
valid_lft 86345sec preferred_lft 86345sec
## 2. 检查路由表
$ ip route show
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
# 问题:缺少默认路由
## 3. 添加默认网关
$ sudo ip route add default via 192.168.1.1
## 4. 验证路由
$ ip route show
default via 192.168.1.1 dev ens33
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
## 5. 测试连通性
$ ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=12.345 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=12.234 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=12.456 ms
## 6. 测试DNS解析
$ ping www.baidu.com
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3: icmp_seq=1 ttl=52 time=5.678 ms
64 bytes from 110.242.68.3: icmp_seq=2 ttl=52 time=5.567 ms
64 bytes from 110.242.68.3: icmp_seq=3 ttl=52 time=5.789 ms
# 故障解决
Part05-风哥经验总结与分享
5.1 路由排查经验总结
## 1. 排查顺序
– 检查网络接口状态
– 检查IP地址配置
– 检查路由表
– 测试网关连通性
– 测试DNS解析
– 测试外网连通性
## 2. 常见问题
– 默认路由缺失
– DNS配置错误
– 防火墙阻断
– NAT配置问题
## 3. 快速诊断
– ping 127.0.0.1 – 测试本地协议栈
– ping 网关IP – 测试本地网络
– ping 8.8.8.8 – 测试外网连通性
– ping 域名 – 测试DNS解析
风哥提示:
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
