Linux

使用 0.0.0.0 作為預設網關?

  • July 28, 2013
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

為什麼這裡的 0.0.0.0 用作網關?0.0.0.0 作為網關意味著什麼?

據我了解,當數據包與路由表中的任何其他條目(表中的第一個條目)不匹配時,0.0.0.0 用作預設路由。其他兩個條目使用 0.0.0.0 作為網關。這有點混亂?

0.0.0.0取決於它所在的列,具有不同的含義。

Destination和的組合Genmask創建一個 IP 地址範圍。在 CIDR 表示法中,您的是:

0.0.0.0/0
169.254.0.0/16
192.168.1.0/24

發送 IP 數據包時,目的地與這些範圍相匹配,並相應地選擇網關。該範圍0.0.0.0/0匹配所有 IPv4 地址。此行是您的預設網關,如果沒有其他範圍匹配,將使用此行。您的預設網關是192.168.1.1.

對於目的地是本地的數據包,不需要網關,數據包被發送到交換機以直接發送到正確的機器。(集線器與交換機的細節在這裡並不重要。重要的部分是本地數據包不需要網關。)

Gateway此輸出的列中,0.0.0.0表示沒有網關,應在本地發送數據包。


此處對 Linux 路由進行了簡單介紹,此處對 Linux 路由進行了更深入的了解

引用自:https://serverfault.com/questions/526857