在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命令在外觀上不是很整潔,但它仍然是查找相關路由表信息的推薦方法。雖然其他命令被認為是過時的,但它們有時確實有助于導出需要提取的內容。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對linuxboy的支持。