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 作为备用,通常无需手动干预。

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

相关推荐
xiaoye-duck20 分钟前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(中):全量响应实现和测试
网络·c++·语言模型·chatgpt
无言听风雨丶2 小时前
systemd 与信号 / 僵尸进程:Linux 进程管理的底层逻辑与排错
linux·服务器·网络
g5zhu58962 小时前
没有公网ip的情况下,本地能ping服务器服务器不能ping本地,让服务器能访问本地某端口的简单方法
服务器·网络协议·tcp/ip
SDWAN_Cheap3 小时前
BGP是什么,广播IP是什么?两个容易混淆的概念拆解
网络·tcp/ip·bgp·广播ip
程序员JerrySUN3 小时前
PCIe Gen5 SSD 为什么读得快、写得慢?从存储原理到 Linux 性能实测
linux·服务器·网络
guizhoumen3 小时前
net core下WebSocket请求总是断开的解决方案
网络·websocket·网络协议
HKT_China3 小时前
香港电讯河套区创新科技中心暨AI机楼揭幕,以网络基建助力北部都会区发展
网络·ai
云边云科技_云网融合3 小时前
案例分享 | 某运动零售品牌多云治理实战:一套框架解决权限失控、网络混乱与成本黑箱
网络·零售
Liuqy-054 小时前
IO模型与并发服务器
服务器·网络·select·多线程·epoll·并发服务器·io多路复用
小园子的小菜4 小时前
Netty 核心组件 Channel、ChannelHandler 与简易 RPC 架构实战详解
网络协议·rpc·架构