Linux 中如何查詢預設閘道器

roc_guo發表於2022-12-12

閘道器是兩個網路之間的入口,路由器就是閘道器的一個例子。你的網路中所有的流量都是流向路由器,然後再透過路由器流向網際網路。
有時候你需要知道路由器的 IP 地址,閘道器 IP 其實就是正常設定中路由器的 IP 地址。
下面我們使用 ip  在命令列中顯示閘道器 IP,開啟一個終端,然後輸入如下命令:

ip route

會看到如下輸出:

default via 192.168.0.1 dev wlp58s0 proto dhcp metric 600
169.254.0.0/16 dev wlp58s0 scope link metric 1000
192.168.0.0/24 dev wlp58s0 proto kernel scope link src 192.168.0.106 metric 600

上面的輸出中,注意 default 開頭的那一行,後面跟的就是預設閘道器 IP 地址。
或者,可以將上述命令與 grep 結合使用:

ip route | grep default

這個命令的輸出只會給出預設閘道器 IP:

default via 192.168.0.1 dev wlp1s0 proto dhcp metric 600

如上所示,192.168.0.1 即為我們例子中的預設閘道器 IP。

查詢閘道器IP地址的其他方法

 中的 ip 命令提供了大多數網路相關的操作,如果用過一段時間的 Linux 系統,我們可能就會注意到,要完成某件事情,一般會有多種不同的方法。所以,要檢視預設閘道器,還有其他的一些方法,比如使用其他網路命令列工具,接下來我們就來看一下。

使用 route 命令查詢閘道器地址

我們可以在 route 命令中使用 -n 選項來顯示包含 IP 地址的路由表,如下所示:

route -n

輸出如下所示:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp58s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp58s0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp58s0

注意到其中的 U 和 G 標誌了嗎?U 表示路由“向上”,G 表示它是閘道器。

使用 netstat 命令查詢閘道器

我們還可以使用 netstat 命令顯示組成閘道器的路由表,以此來獲取閘道器地址。看如下命令:

netstat -r -n

其輸出與 route 命令的輸出相同:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 wlp58s0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlp58s0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp58s0

可以透過 G 標誌來找到閘道器地址。以上就是我們本次分享的關於獲取預設閘道器的相關內容,歡迎留言討論。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2927738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章