如何在 Ubuntu 中查看网络路由表

Linux 中的路由和路由表是什么?

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

在所有 Linux 和 UNIX 系统中,有关如何转发 IP 数据包的信息都存储在内核结构中。 这些结构称为路由表。 当您希望您的系统与其他计算机通信时,您可能需要配置这些路由表。 首先,了解如何在 Linux 系统上查看这些路由表很重要。

在本文中,我们将通过以下三个流行的命令来解释如何在 Ubuntu 中查看路由表:

  • netstat 命令
  • 路由命令
  • ip 路由命令

我们已经在 Ubuntu 18.04 LTS 系统上运行了本文中提到的命令和过程。

我们使用 Ubuntu 命令行终端来运行上述命令。 您可以通过系统 Dash 或 Ctrl+Alt+T 快捷方式打开终端。

如何查看路由表?

方法一:通过netstat命令

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

以下是如何使用此命令:

$ netstat -rn

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

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

这是输出指示的内容:

目的地 此列指示目标网络。
网关 此列指示为网络定义的网关。 如果您在此列中看到 *,则表示指定网络不需要转发网关。
基因掩码 此列指示网络的网络掩码。
标志 此列中的 U 输出表示路由已启动。 G 输出表明该路由应使用指定的网关。 D代表动态安装,M代表修改,R代表恢复。
MSS 此列指示此路由的 TCP 连接的默认最大分段大小 (MSS)。
窗户 此列指示通过此路由的 TCP 连接的默认窗口大小。
伊尔特 此列指示此路线的初始往返时间。
我面对 Iface 列显示网络接口。 如果您有多个接口,您会看到 lo(用于环回)、eth0(第一个以太网设备)和 eth1(用于第二个以太网设备),等等,以显示您已安装的接口数量。

方法二:通过route命令

route 命令也属于曾经广泛使用但现在已过时的查看路由表的命令。 该命令的手册页还提到该命令现在已替换为 ip route 命令。

通过此命令,您可以查看与 netstat 命令完全相同的信息。 以下是如何使用它:

$ route -n

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