Linux
使用 0.0.0.0 作為預設網關?
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 路由進行了更深入的了解。