Routing

不明白linux路由表中Genmask的含義

  • June 29, 2017
lanix@lanix ~ $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.138      0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     9      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

我在理解 Gateway 和 Genmask 列中的 0.0.0.0 條目時遇到了一些困難。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
   0.0.0.0         10.0.0.138      0.0.0.0         UG    0      0        0 wlan

我知道目的地(0.0.0.0)是最不具體的匹配,這意味著與其他路由不匹配的數據包將使用此路由。但是我不明白相應的 Genmask 條目(0.0.0.0)。與其他路由不匹配的數據包將被發送到網關 10.0.0.138 但子網遮罩是什麼?0? 10.0.0.138/0 看起來有點奇怪。不應該是 /32 之類的嗎?正如在網關中是一個單一的地址..

謝謝。

一個簡單的誤解:網路遮罩指的是目的地址,當然不是網關地址。網關必須是單個地址,因為您無法將數據包發送到子網。即它是 0.0.0.0/0.0.0.0 (正如您已經理解的那樣)只是描述了預設路由。

你應該習慣使用ip route而不是route.

引用自:https://unix.stackexchange.com/questions/183607