最直接、最可靠的方式是运行 ip route show,它能准确读取内核当前生效的路由规则,兼容 ipv4 和 ipv6,无需额外安装;执行 ip route show 列出主路由表全部条目,ip route | grep 'default via' 精准提取默认网关,ip -4 route 和 ip -6 route 分离查看协议路由。

最直接、最可靠的方式是运行 ip route show,它能准确读取内核当前生效的路由规则,兼容 IPv4 和 IPv6,无需额外安装。
用 ip route 查主路由表(含默认网关)
这是日常排查的第一步。执行:
- ip route show —— 列出主路由表(table main)全部条目
-
ip route | grep 'default via' —— 精准提取默认网关(注意必须带 via,有些系统写的是
default dev eth0 scope link,表示直连无下一跳) - ip route show 192.168.1.0/24 —— 检查某子网是否存在对应路由,无输出说明不匹配
- ip -4 route 和 ip -6 route —— 分开查看 IPv4/IPv6 路由,避免混杂干扰判断
route -n:传统方式,适合快速人工阅读
输出字段直观(Destination、Gateway、Iface 等),但需 net-tools 包支持:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- 运行 route -n,看 Destination 为
0.0.0.0的行,其 Gateway 列即默认网关 - 若提示
command not found,说明未装 net-tools:
• Ubuntu/Debian:执行 sudo apt install net-tools
• RHEL/CentOS:执行 sudo yum install net-tools 或 sudo dnf install net-tools
• Alpine:执行 apk add net-tools - 务必加
-n参数,否则 route 会尝试反向 DNS 查询,导致卡顿几秒
netstat -rn:兼容旧场景,慎用于动态网络环境
虽仍可用,但在 NetworkManager 或 systemd-networkd 管理的系统中容易滞后:
- 执行 netstat -rn,找 Destination 是
0.0.0.0的行,Gateway 列即默认网关 - 有时它显示
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 eth0(无 gateway),而ip route明确显示default via 192.168.1.1—— 这是解析逻辑老旧所致,应以ip route为准 - 适合与连接状态联合分析,比如排查“能连但不通”的复合问题
/proc/net/route:脚本解析用,不推荐人工查看
这是内核暴露的原始十六进制数据,适合自动化处理:
- 执行 cat /proc/net/route 可看到原始内容
- 第二列为目标网络(十六进制),第四列为网关地址(同样十六进制),需手动转换才可读
- 普通用户排查时不建议用,仅在写监控脚本或调试底层行为时参考










