Sum*_*han -1 linux routing gateway
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
Run Code Online (Sandbox Code Playgroud)
为什么这里使用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
Run Code Online (Sandbox Code Playgroud)
发送 IP 数据包时,目的地与这些范围相匹配,并相应地选择网关。该范围0.0.0.0/0匹配所有 IPv4 地址。此行是您的默认网关,如果没有其他范围匹配,则将使用该行。您的默认网关是192.168.1.1.
对于目的地是本地的数据包,不需要网关,数据包被发送到交换机直接发送到正确的机器。(集线器与交换机的细节在这里并不重要。重要的部分是本地数据包不需要网关。)
在Gateway此输出的列中,0.0.0.0表示没有网关,应在本地发送数据包。
这里有对 Linux 路由的简单介绍,这里有对 Linux 路由的更深入了解。