Linux ip 命令:查看接口、IP 地址与路由,分层排查网络
ip 是 iproute2 提供的 Linux 网络管理命令,可以查询接口、IP 地址、路由及邻居信息,也可以修改这些对象。排查连接问题时,先区分接口、地址和路由;有地址或显示 UP,都不等于已经能够访问互联网。
link 管理网络接口,address 管理接口上的地址,route 管理数据包的路径,neigh 管理同一链路上的邻居映射。查询通常使用 show;add、del、set 和 flush 等操作可能立即改变连接,不能把所有 ip 命令都当作只读查询。
基本语法与查询前提
ip [options] object command [arguments]
这是说明性语法,方括号和占位名称不需要原样输入。先用 ip -Version、ip help 或 man ip 确认本机实现与支持选项。接口名称可能是 eth0、ens 开头的名称或其他名称,应以实际查询结果为准。
本篇示例用于读取当前网络命名空间中的状态。命名空间是 Linux 隔离网络设备与配置的范围,容器内和宿主机看到的接口、地址与路由可能不同。查不到预期接口时,先确认命令运行的位置,不要立即新建地址或删除路由。
先看地址,再看路由
简要查看接口状态及地址。
ip -br address show
通常每个接口一行,显示名称、运行状态和配置的 IPv4、IPv6 地址。同一接口可以有多个地址;输出为空或缺少某种地址时,应结合筛选条件、错误消息和所在命名空间判断。
查看默认 IPv4 主路由表。
ip route show
常见单播路由中,default 表示默认路由,via 后面是下一跳网关,dev 后面是出口接口,src 可表示首选源地址。并非每行都有全部字段,直连网段通常不需要 via。
这条命令默认并不展示所有 IPv4、IPv6 路由表。IPv6 可另查 ip -6 route show;涉及策略路由时,可结合 ip rule show 与 ip route show table all。策略规则可以按源地址等条件选择不同表,不能只看主表就断定实际路径。
查询指定目的地址的路由选择。
ip route get 192.0.2.1
get 查询内核对给定条件的路由选择,通常可看到出口、源地址及可能的下一跳;它不会实际发送探测包。成功返回路径不证明对端在线、回程路由正常或应用端口开放。复杂策略还可能取决于源地址、标记等条件。
192.0.2.1 属于 RFC 5737 规定的文档示例地址段,不是本机测试得到的可用服务地址。实际排查时,应换成获准检查的真实目标;不要把文档地址配置到生产接口上。
怎样读懂 UP、UNKNOWN 与前缀
-brief 与 -br 是同一简要选项的形式。下面再次展示地址查询,随后两行是人为构造的说明性输出,不是对前述路由查询的实测结果:
ip -brief address
示例输出:
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.0.2.10/24
lo 是回环接口,127.0.0.1 与 ::1 用于本机回环通信。UNKNOWN 表示运行状态未被明确设置,不等于接口损坏;回环和部分虚拟设备可能出现这种状态。eth0 只是示例接口名。
简要输出中的 UP 是运行状态。内核还区分管理员是否启用接口的管理状态;即使接口显示运行正常,仍需单独判断地址、路由、名称解析和具体服务。不能把 UP 当作端到端连接测试。
/24 表示 IPv4 网络前缀长 24 位,示例 192.0.2.10/24 所属网段为 192.0.2.0/24。这个前缀不会自动说明默认网关地址,也不能据此推断网关一定是某个固定末尾数字。
主要对象与输出选项
| 形式 | 用途与范围 |
|---|---|
link show |
查看网络接口及链路信息。 |
address show |
查看配置的协议地址与属性。 |
route show |
查看所选路由表;无额外条件时通常为 IPv4 主表。 |
neigh show |
查看同一链路上的协议地址与链路层地址映射;IPv4 涉及 ARP 地址解析,IPv6 涉及 NDP 邻居发现。 |
-br |
简要表格输出;只对支持的查询有效,不是任意对象都支持。 |
-4 / -6 |
选择 IPv4 或 IPv6 协议族;这里的斜线表示两种备选形式。 |
例如查看邻居可输入 ip neigh show。STALE 表示缓存信息需要进一步确认,不应直接等同于不可达;FAILED 则表示邻居验证失败。邻居表不是路由表,也不是远端所有主机的在线清单。
分层排查与修改前的准备
- 用简要地址查询确认实际接口、运行状态、地址和前缀,必要时查看更详细的 link、address 信息。
- 按目标协议族检查路由,并用 route get 查询真实目标的选择;存在策略路由时一起查看规则与相关表。
- 将名称解析与连接测试分开:DNS 是域名系统,解析成功不表示端口可用;ping 无响应也可能是探测报文受限。
- 若确需修改,先记录原配置,准备控制台或其他恢复入口,确定网络管理服务与持久配置位置,再执行并重新验证。
例如 ip link set ... down 只是带占位符的修改操作示意,不应直接复制。关闭远程会话使用的接口、删除地址或改变默认路由,都可能立即断开会话;断线后不能指望在同一 SSH 窗口里撤销操作。
直接通过 ip 修改的运行时状态,可能被网络管理服务重新应用配置覆盖,也可能在重启后消失。持久设置应遵循发行版及实际管理服务的方式;恢复应使用先前记录的准确参数,不能靠清空地址、路由或重启网络来猜测修复。
常见问题
ip address 与 ip route 有什么区别?
ip address 说明接口上有哪些地址,ip route 说明数据包如何选择路径和下一跳。地址正确仍可能缺少合适路由;没有默认路由也不代表所有目标都不可达,直连网段或更具体的路由仍可能有效。
官方文档
ip 通用命令手册说明语法与选项;ip-address 手册说明地址;ip-route 手册说明路由查询;ip-rule 手册说明策略规则;ip-neighbour 手册说明邻居状态;Linux 内核运行状态文档说明管理状态与运行状态的区别。




