2021-05-12 14:32:11
如何在Ubuntu中檢視網路路由表
什麼是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命令在外觀上不是很整潔,但它仍然是查詢相關路由表資訊的推薦方法。雖然其他命令被認為是過時的,但它們有時確實有助於匯出需要提取的內容。
相關文章