Linux系统如何查看路由表详细内容?

Linux系统中,路由表是网络层核心组件,它记录了数据包的转发路径,决定目标IP地址该如何被送达——是直接发送到本地网络,还是通过网关转发到其他网络,查看路由表是网络管理、故障排查(如无法访问特定网络、网关异常等)和服务配置(如多宿主主机、负载均衡)的基础操作,Linux查看路由表主要有两种命令:ip route(现代Linux推荐,功能全面)和route(旧版命令,逐渐被替代)。

linux 如何看路由表

使用ip route命令查看路由表(推荐)

ip routeiproute2工具包的一部分,自Linux 2.2起成为主流工具,功能比route更强大,支持IPv4/IPv6、多路由表等高级特性,其基本语法为ip route [show|list] [选项],常用选项包括按接口过滤、按路由表过滤、按协议过滤等。

基本查看:显示所有路由条目

执行ip routeip route show(可简写为ip r),会输出当前系统的路由表信息。

default via 192.168.1.1 dev eth0 proto dhcp metric 100 
10.0.0.0/24 dev ens33 proto kernel scope link src 10.0.0.100 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.102 metric 100 
192.168.1.0/24 dev eth0 proto dhcp scope link metric 100 
broadcast 192.168.1.255 dev eth0 proto kernel scope link src 192.168.1.102 

输出字段详解

路由表条目由多个字段组成,每个字段含义如下(可通过表格更直观理解):

字段名 含义 示例
destination 目标网络/主机地址 default(默认路由)、168.1.0/24(目标子网)
via/gateway 下一跳地址(非直连路由) via 192.168.1.1(通过网关192.168.1.1转发)
dev 输出网络接口 dev eth0(从eth0接口发出)、dev ens33
src 源IP地址(可选) src 10.0.0.100(发送数据包时使用的源IP)
metric 跃点数(路由优先级) metric 100(值越小优先级越高,0为直连路由)
scope 路由作用范围 link(直连网络)、host(本地主机)、global(全局路由)
proto 路由协议 kernel(内核直连)、dhcp(DHCP分配)、static(静态配置)、ospf(动态路由协议)
table 所属路由表(可选) table main(默认表)、table default(默认路由表)

常用过滤查询

  • 按接口过滤:查看特定接口的路由,如ip route show dev eth0(仅显示eth0相关的路由)。
  • 查看默认路由ip route show defaultip route show 0.0.0.0/0(IPv4默认路由)。
  • 查看不可达路由ip route show unreachable(如手动配置的黑洞路由,丢弃匹配数据包)。
  • 查看多路由表:Linux支持多路由表(如mainlocaldefault),通过ip route show table <表名>查看,如ip route show table local(本地路由表)。

使用route命令查看路由表(旧版)

route是早期Linux网络工具(net-tools包的一部分),功能相对有限,仅支持IPv4,且逐渐被iproute2取代,但在一些旧系统(如CentOS 6及之前)中仍可能使用,其基本语法为route [选项],常用选项:

linux 如何看路由表

  • -n:不解析主机名,直接显示IP地址(避免DNS查询延迟,推荐使用)。
  • -e:显示额外信息(如netmask)。

route -n输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0      eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0      ens33
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0      eth0

其中Flags字段含义:U(路由可用)、G(通过网关)、H(目标主机)、(拒绝路由)。

路由表应用场景

查看路由表的核心价值在于解决实际问题:

  • 网络连通性排查:若无法访问某个IP,先检查路由表中是否存在目标网络的路由条目(如访问10.10.10时,需确认是否有10.10.0/24或默认路由)。
  • 网关可达性检查:默认路由的网关(如168.1.1)是否可达,可通过ping测试。
  • 多路径路由验证:若配置了多网卡负载均衡,可通过路由表确认多条路径是否存在(如metric值是否不同)。

相关问答FAQs

为什么ip route show中部分路由没有“gateway”字段?
答:这类路由通常是“直连路由”或“本地主机路由”,直连路由(如168.1.0/24 dev eth0)表示目标网络与本地接口直接相连,无需通过网关转发,gateway”字段为空;本地主机路由(如0.0.0/8 dev lo)作用范围为host,仅限本地通信,也不需要网关。

linux 如何看路由表

如何查看Linux系统中的多路由表?如何确认路由表名称?
答:使用ip route show table <表名>查看指定路由表,如ip route show table main(默认表)、ip route show table default(默认路由表),若需查看所有路由表名称,执行ip route list tables,输出类似“table main local default”等内容,列出系统中定义的所有路由表名称(通常包括mainlocaldefaultcache等)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34001.html

(0)
酷番叔酷番叔
上一篇 2025年10月1日 21:11
下一篇 2025年10月1日 21:25

相关推荐

  • linux如何进入系统检测

    nux进入系统检测通常通过查看系统日志、运行硬件检测工具及检查系统服务状态等方式进行

    2025年8月19日
    11600
  • 在Linux中如何正确重启网卡?命令行操作步骤及注意事项详解?

    在Linux系统中,重启网卡是常见的网络故障排查或配置更新操作,通常用于解决网络连接异常、IP地址冲突、服务未响应等问题,不同Linux发行版可能采用不同的网络管理工具(如传统的ifconfig/ifupdown、现代的NetworkManager、systemd等),但重启网卡的逻辑基本一致,本文将详细介绍多……

    2025年9月29日
    11000
  • Linux虚拟机如何设置IP地址?静态IP配置方法步骤

    Linux虚拟机IP设置是搭建开发、测试环境的基础操作,正确的IP配置确保虚拟机能与宿主机、外部网络或其他虚拟机稳定通信,影响远程访问、服务部署、文件共享等场景,本文将详细讲解Linux虚拟机IP设置的全流程,涵盖网络模式选择、静态/动态IP配置、多发行版适配及问题排查,虚拟机网络模式简介在配置IP前,需先理解……

    2025年8月31日
    12800
  • Linux命令行如何输入中文?正确操作方法是什么?

    在Linux命令行环境中输入中文,通常涉及系统语言环境配置、终端模拟器设置以及输入法支持等多个环节,由于Linux命令行默认以英文为操作语言,若要正确输入和显示中文,需确保系统环境支持UTF-8编码,并正确配置终端与输入法的联动,以下是具体操作步骤和注意事项,检查并配置系统语言环境语言环境是Linux系统处理文……

    2025年10月3日
    10000
  • Linux如何保存分区表?操作步骤与命令有哪些?

    在Linux系统中,分区表是磁盘管理的基础,记录了磁盘分区的布局、类型、起始和结束位置等信息,由于误操作、磁盘故障或系统异常可能导致分区表损坏,进而引发数据丢失风险,因此定期保存分区表至关重要,本文将详细介绍Linux中保存分区表的方法,涵盖不同分区表类型(MBR和GPT)及常用工具的使用,分区表类型与备份必要……

    2025年9月24日
    13200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信