首頁 > 軟體

如何在Ubuntu中檢視網路路由表

2020-06-16 16:41:22

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

路由的過程意味著IP包在網路上從一點傳輸到另一點。當你向某人傳送電子郵件時,你實際上是在將一系列IP封包或資料包從你的系統傳輸到另一個人的計算機上。從計算機傳送的封包通過幾個閘道器或路由器到達目標計算機系統。同樣的方法適用於所有internet協定,如HTTP、IRC和FTP等。

在所有Linux和UNIX系統中,有關如何轉發IP封包的資訊都儲存在核心結構中。這些結構稱為路由表。當您希望系統與其他計算機通訊時,可能需要設定這些路由表。首先,了解如何在Linux系統上檢視這些路由表非常重要。

在本文中,我們將通過以下三個常用的命令來解釋如何在Ubuntu中檢視路由表:

  • netstat命令
  • route命令
  • ip route命令

我們在Ubuntu 18.04 LTS系統上執行了本文中提到的命令和過程。

我們使用Ubuntu命令列終端,以便執行上述命令。您可以通過系統Dash或Ctrl + Alt + T快捷方式開啟終端。

如何檢視路由表?

方法1:通過netstat命令

netstat命令一直是Linux中列印路由表資訊一種廣泛使用的方法。然而,它被ip route命令正式取代。無論如何,我們都需要它,因為它仍然是檢索所需資訊的一種方法。

以下是使用此命令的方法:

$ netstat -rn

-r此標誌用於顯示核心路由表

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

這是輸出的結果:

Destination 此列指示目標網路。
Gateway 此列指示網路的已定義閘道器。 如果在此列中看到*,則表示指定的網路不需要轉發閘道器。
Genmask 此列指示網路的網路掩碼。
Flags 此列中的U輸出表示路線已啟動。 G輸出表示應該為此路由使用指定的閘道器。 D代表動態安裝,M代表修改,R代表恢復。
MSS 此列指示此路由的TCP連線的預設最大段大小(MSS)。
Window 此列指示此路由上TCP連線的預設視窗大小。
Irtt 此列指示此路線的初始往返時間。
Iface Iface列顯示網路介面。 如果您有多個介面,您會看到lo(用於環回),eth0(第一個乙太網裝置)和eth1(用於第二個乙太網裝置),依此類推您已安裝的介面數量。

方法2:通過route命令

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

通過此命令,您可以通過netstat命令檢視完全相同的資訊。 以下是如何使用它:

$ route -n

核心 IP 路由表
目標            閘道器            子網掩碼        標誌  躍點  參照  使用 介面
0.0.0.0        192.168.182.2  0.0.0.0        UG    20100  0        0 ens33
169.254.0.0    0.0.0.0        255.255.0.0    U    1000  0        0 ens33
172.17.0.0      0.0.0.0        255.255.0.0    U    0      0        0 docker0
192.168.182.0  0.0.0.0        255.255.255.0  U    100    0        0 ens33

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

方法3:通過ip route命令

最後但同樣重要的是,這是在Linux中列印路由表資訊的最佳方法。 以下是使用此命令的方法:

$ ip route

雖然這些資訊不像前面提到的命令那樣對讀者友好,但是它仍然足夠您設定路由器。

這是幾個在Ubuntu中檢視路由表資訊的命令。雖然ip route命令在外觀上不是很整潔,但它仍然是查詢相關路由表資訊的推薦方法。雖然其他命令被認為是過時的,但它們有時確實有助於匯出需要提取的內容。


IT145.com E-mail:sddin#qq.com