使用 0.0.0.0 作为默认网关?

使用 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 作为网关。这有点令人困惑?

答案1

0.0.0.0根据其所在的列有不同的含义。

Destination和的组合Genmask会创建一个 IP 地址范围。以 CIDR 表示法表示,您的 IP 地址范围为:

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 路由

相关内容