1. 首页 > Linux教程 > 正文

Linux教程FG222-路由故障(无法访问外网)排查命令

内容简介:本文风哥教程参考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解析测试

# 测试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追踪路由
$ 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: mtu 1500 qdisc fq_codel state UP group default qlen 1000
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

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息