如何在Ubuntu中显示网络路由表

什么是Linux路由和路由表?

路由过程是指将IP数据包从网络上的一个点转发到另一点。当您向某人发送电子邮件时,实际上是在将一系列IP数据包或数据报从系统发送到其他人的计算机。计算机发送的数据包会通过多个网关或路由器到达目标计算机系统。相同的方法适用于所有Internet协议,例如HTTP,IRC和FTP。

在所有Linux和UNIX系统上,有关如何转发IP数据包的信息都存储在内核结构中。这些结构称为路由表。如果您希望系统与其他计算机通信,则可以配置这些路由表。首先,重要的是要学习如何在Linux系统上显示这些路由表。

在本文中,我将向您展示如何使用三个常用命令在Ubuntu中查看路由表:

  • netstat命令
  • 路线命令
  • ip route命令

本文中描述的命令和过程在Ubuntu 18.04 LTS系统上运行。

我正在使用Ubuntu命令行终端执行上述命令。您可以使用系统破折号或Ctrl + Alt + T快捷方式打开终端。

如何显示路由表

方法1:使用netstat命令

netstat命令始终是在Linux上打印路由表信息的最广泛使用的方法。但是,它已被ip route命令正式取代。无论如何,我都将其包括在内,因为它是一种获取所需信息的方法。

要使用此命令:

$ netstat -rn

-r此标志用于显示内核路由表

-n此标志用于显示数字地址

这是输出显示的内容:

目的地此列显示目标网络。
网关此列显示网络中定义的网关。如果在此列中看到*,则表示指定的网络不需要转发网关。
根面膜此列显示网络的子网掩码。
此列中的U输出表示路由已建立。 G输出显示指定的网关应用于此路由。 D表示动态安装,M表示已更改。
MSS此列显示此路由的TCP连接的默认最大段大小(MSS)。
此列显示此路由上TCP连接的默认窗口大小。
尔特此列显示此路线的初始往返时间。
面子Iface列显示网络接口。如果有多个接口,则会显示已安装的接口数量,例如lo(回送),eth0(第一个以太网设备),eth1(第二个以太网设备)等等。

方法2:使用route命令

route命令也属于不推荐使用的命令类别,以显示曾经广泛使用的路由表。该命令的手册页还指出该命令已被ip route命令替换。

您可以使用此命令显示与使用netstat命令完全相同的信息。使用方法如下:

$ route -n

-n此标志仅用于显示数字地址

route命令显示的路由列表

方法3:使用ip route命令

以下是在Linux上打印路由表信息的最推荐方法。要使用此命令:

$ ip route

使用ip命令列出路由

该信息不如上一个命令中的信息可读,但是足以配置路由器。

这些是在Ubuntu中显示路由表信息的一些命令。 ip route命令看起来不太好,但这是查找相关路由表信息的最推荐方法。其他命令被认为已过时,但在派生需要提取的内容时可能会非常有帮助。

如何在Ubuntu中显示网络路由表

Sidebar