linux系统查看路由命令大全
linux系统查看路由命令大全详细介绍
在 Linux 系统中,查看路由表的常用命令主要涉及 ip、route、netstat 等工具,以下是详细的命令大全及用法说明:
一、常用路由查看命令
1.
ip route(推荐,现代 Linux 通用)
- 语法:bash
route show list 选项 - 说明:
属于iproute2工具集,功能强大且推荐使用,替代传统的route命令。 - 常用选项:
ip route或ip r:显示当前路由表(默认包含详细信息)。ip route show table all:显示所有路由表(如主表、自定义表)。ip -4 route或ip -6 route:分别查看 IPv4 或 IPv6 路由。ip route show dev <接口名>:仅显示指定网络接口的路由(如eth0、wlan0)。ip route -n:不解析主机名,直接显示 IP 地址(输出更简洁)。
- 示例输出:plaintext
default via 192.168.1.1 dev enp0s3 proto dhcp src 192.168.1.100 metric 100192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.100
2.
route(传统命令,逐渐被
ip 替代)
- 语法:bash
route -n - 说明:
属于net-tools工具集,老旧但简单易用,部分轻量系统(如 Alpine)可能默认安装。 - 常用选项:
-n:不解析主机名,显示纯 IP 地址(必加,否则可能卡顿)。
- 示例输出:plaintext
Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 enp0s3
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
3.
netstat -rn(显示路由表,附带网络统计)
- 语法:bash
-rn - 说明:
属于net-tools工具,显示路由表及网络连接统计信息。 - 常用选项:
-r:显示路由表(route别名)。-n:不解析主机名,显示 IP 地址。
- 输出类似
route -n,但额外包含Iface(接口)列。
4. 直接读取路由文件(底层方法)
- 语法:bash
/proc/net/route - 说明:
直接读取内核路由文件,格式原始(二进制掩码需转换),适合脚本解析。 - 示例字段:plaintext
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTTenp0s3 00000000 C0A80101 0021 0 0 100 00000000 0 0 0
Destination和Gateway为十六进制 IP,需转换(如C0A80101是192.168.1.1)。
二、命令输出字段解析(以
route -n 为例)
| 字段 | 含义 |
|---|---|
| Destination | 目标网络或主机(0.0.0.0 表示默认路由)。 |
| Gateway | 下一跳网关 IP(0.0.0.0 表示直接连接,无需经过网关)。 |
| Genmask | 子网掩码(255.255.255.0 对应 /24)。 |
| Flags | 路由标志(常用:U= 启用,G= 需要网关,H= 目标是主机)。 |
| Metric | 路由优先级(数值越小优先级越高)。 |
| Iface | 网络接口(如 enp0s3、wlan0)。 |
三、补充:IPv6 路由查看
1.
ip -6 route
- 语法:bash
route show - 示例:plaintext
default via 2001:db8::1 dev enp0s3 proto dhcp metric 1002001:db8::/64 dev enp0s3 proto kernel metric 256
2.
route -A inet6(传统 IPv6 路由查看)
- 语法:bash
route inet6
四、命令工具对比
| 工具 | 优势 | 缺点 | 推荐场景 |
|---|---|---|---|
ip route |
功能强大,支持现代特性(如多表) | 语法稍复杂 | 所有新 Linux 系统 |
route -n |
简单易用,轻量 | 功能有限,属于老旧工具 | 快速查看 IPv4 路由 |
netstat -rn |
附带网络统计信息 | 属于老旧工具,可能被弃用 | 同时需要路由和连接统计 |
/proc/net/route |
底层接口,适合脚本解析 | 格式不友好,需手动转换 | 编程或内核级路由分析 |
五、注意事项
- 权限:查看路由表无需管理员权限,配置路由才需要
sudo。 - 工具安装:
net-tools(含route、netstat):多数系统默认安装,缺失时可通过apt install net-tools(Debian/Ubuntu)或yum install net-tools(RHEL/CentOS)安装。iproute2(含ip命令):Linux 内核自带,无需额外安装。
通过以上命令,可全面查看 Linux 系统的 IPv4/IPv6 路由表,满足不同场景的需求。推荐优先使用 ip route 命令,因其支持更丰富的功能和现代网络特性。