如何在 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代表恢復。
社會保障部此列指示此路由的 TCP 連接的默認最大段大小 (MSS)。
窗戶此列指示通過此路由的 TCP 連接的默認窗口大小。
伊爾特此列指示此路線的初始往返時間。
我面對Iface 列顯示網絡接口。 如果您有多個接口,您會看到 lo(用於環回)、eth0(第一個以太網設備)和 eth1(用於第二個以太網設備)等,以表示已安裝的接口數量。

方法二:通過route命令

route 命令也屬於曾經廣泛使用但現在已過時的查看路由表的命令的類別。 該命令的手冊頁還提到該命令現在已被 ip route 命令替換。

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

$ route -n

-n 此標誌僅用於顯示數字地址

方法三:通過ip route命令

最後但並非最不重要的是,這是在 Linux 中最推薦的打印路由表信息的方式。 下面是這個命令的使用方法:

$ ip route

雖然這些信息不像前面提到的命令那樣易於閱讀,但仍然足以讓您配置路由器。

這些是在 Ubuntu 中查看路由表信息的一些命令。 雖然 ip route 命令看起來不整潔,但它仍然是最推薦的查找相關路由表信息的方式。 儘管其他命令被認為已過時,但它們有時確實有助於推導出您需要提取的內容。