ip route show 命令详解

《Linux 中 ip route show 输出结果解析及关键概念》

以下是对 ip route show 输出结果的详细解析,帮助你理解每条路由的含义及作用:

一、路由表整体结构

Linux 路由表中的每条条目包含 目标网络 / 主机下一跳网关出接口路由协议作用域源地址度量值 等信息。当前输出(以 [root@VM-20-4-centos ~]# ip route show 为例)共有 3 条路由:

二、逐条解析路由条目

1. 默认路由(Default Route)
复制代码
default via 10.2.20.1 dev eth0 

目标网络default(等价于 0.0.0.0/0),匹配所有未明确匹配其他路由的流量。

下一跳网关(via)10.2.20.1,所有匹配默认路由的流量将被发送到该网关。

出接口(dev)eth0,流量从物理网卡 eth0 发出。

作用 :这是系统访问互联网或非本地网络的 "默认出口"。例如,当访问 8.8.8.8 时,若没有更具体的路由匹配,流量会通过 eth0 发送到 10.2.20.1 网关。

2. 本地网络路由(直连路由)
复制代码
10.2.20.0/22 dev eth0 proto kernel scope link src 10.2.20.4 

目标网络10.2.20.0/22,子网掩码为 255.255.252.0,表示网络范围是 10.2.20.0`` ~ ``10.2.23.255(共 1024 个 IP)。

出接口(dev)eth0,该网络直接通过 eth0 接口连接。

路由协议(proto kernel):表示这条路由由内核自动生成(通常通过 DHCP 或静态配置)。

作用域(scope link) :表示该路由的作用范围是 "链路本地",即仅在当前网络接口(eth0)所在的链路内有效。

源地址(src 10.2.20.4 :当从该接口发送数据包时,默认使用 10.2.20.4 作为源 IP 地址(通常是接口的 IP 地址)。

作用:这是本地网络的直连路由,内核通过该路由直接与同一子网内的设备通信(无需经过网关)。

复制代码
169.254.0.0/16 dev eth0 scope link metric 1002 

目标网络169.254.0.0/16,属于 APIPA(自动专用 IP 寻址) 地址段,用于当设备无法获取 DHCP 地址时的临时通信。

出接口(dev)eth0,该网络通过 eth0 接口访问。

作用域(scope link):仅在当前链路内有效,不能用于跨网段通信。

度量值(metric 1002) :表示路由的优先级,数值越小优先级越高。此处 1002 较高,说明这是一条备用路由(当主路由失效时才会使用)。

作用 :若 eth0 未获取到有效 IP 地址(如 DHCP 失败),系统会自动分配 169.254.x.x 地址,通过此路由与同网段设备通信(仅限本地链路)。

三、关键概念补充

1. 路由优先级(Metric)

度量值(metric)决定路由的优先级,数值越小越优先。

例如:默认路由通常没有显式 metric(优先级最高),而链路本地路由的 metric 较高(仅作备用)。

2. 直连路由(Direct Route)

当目标网络是接口所在的子网时,内核会自动添加直连路由(如 10.2.20.0/22),无需指定网关,直接通过接口通信。

3. 默认路由的重要性

若系统需要访问互联网,必须存在指向有效网关的默认路由(如 default via ``10.2.20.1`` dev eth0)。

四、验证与常见操作

1. 查看接口 IP 地址
复制代码
ip addr show eth0 

\# 输出应包含 \`10.2.20.4/22\`,与路由条目中的 \`src 10.2.20.4\` 对应。
2. 测试网络连通性

访问默认网关ping ``10.2.20.1(验证网关可达)。

访问本地网络ping ``10.2.20.5(同一子网内设备,直接通信)。

访问外部网络ping ``8.8.8.8(通过默认路由转发)。

3. 修改路由(需谨慎)

添加默认路由:ip route add default via <网关> dev <接口>

删除路由:ip route del <目标网络> dev <接口>

总结

当前路由表配置表明:

服务器通过 eth0 连接到 10.2.20.0/22 本地网络,IP 地址为 10.2.20.4

默认网关为 10.2.20.1,用于访问外部网络。

链路本地路由 169.254.0.0/16 作为备用,通常无需手动干预。

若网络配置正常,上述路由已满足基本通信需求。如需调整网络(如更换网关、添加新子网),需根据实际场景修改路由表或接口配置。

相关推荐
sdszoe492215 小时前
思科DHCP服务1
网络·思科网络·dhcp服务基础
JANG102415 小时前
【Linux】进程
linux·网络·chrome
wha the fuck40415 小时前
(渗透脚本)TCP创建连接脚本----解题----极客大挑战2019HTTP
python·网络协议·tcp/ip·网络安全·脚本书写
濊繵16 小时前
Linux网络--网络层协议 IP
服务器·网络·tcp/ip
Upper99916 小时前
简单记录:TCP数据包的抓取--3次握手、4次挥手
网络·网络协议·tcp/ip
ZeroNews内网穿透16 小时前
Dify AI 结合ZeroNews 实现公网快速访问
网络·人工智能·网络协议·tcp/ip·安全·web安全
yBmZlQzJ16 小时前
内网穿透 + 域名解析:到底解决了什么核心问题?
运维·经验分享·网络协议·docker·容器
ShiMetaPi16 小时前
GM-3568JHF丨ARM+FPGA异构开发板系列教程:外设教程 04 WIFI
网络·arm开发·fpga开发·智能路由器·fpga
黑贝是条狗16 小时前
用mormot2 orm模式搭建一个http服务验证设备的注册信息
网络·网络协议·http
wearegogog12316 小时前
基于C#的FTP客户端实现方案
java·网络·c#