路由命令输出

路由命令输出

路由命令输出:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.10    0.0.0.0         UG    0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
$

从上面的输出来看,我有以下疑问:

  1. 目的地和网关列中的 0.0.0.0 是什么意思
  2. 如果数据包从 192.168.2.36 ip 发送,那么它的网关是什么。它使用 192.168.2.10 或 0.0.0.0
  3. 假设我还有一个网络,其 IP 为 192.168.1.0。如果数据包是从该网络中的任何主机发送的,那么该 IP 的网关是什么。
  4. 什么是默认网关。

答案1

目的地和网关列中的 0.0.0.0 是什么意思

“destination” 列与 “genmask” 一起构成面具目标地址必须匹配: 。因此,带有目标和掩码的(packet_destination & route_mask) == route_destination路由将匹配所有内容 - 它是默认路由。0.0.0.00.0.0.0

在“网关”列中,0.0.0.0只是一个占位符,表示根本没有网关,所有匹配的主机都可以直接访问。因此,第二条路由是当地的一。

按以下格式书写路由表会更清晰一些ip route

$ ip -n route show
0.0.0.0/0 via 192.168.2.10 dev eth0
192.168.2.0/24 dev eth0

如果数据包从 192.168.2.36 ip 发送,那么它的网关是什么。它使用 192.168.2.10 或 0.0.0.0

你的路由表没有描述来源,唯一目的地,因此,仅基于这一点是无法回答这个问题的。

如果数据包被发送 192.168.2.36,那么它将匹配192.168.2.0/24路由并且不会使用任何网关。

如果你真的想传入数据包,那么你的路由表根本不适用于这些数据包——只有发件人的路由表决定网关,而不是接收者的网关。

假设我还有一个网络,其 IP 为 192.168.1.0。如果数据包是从该网络中的任何主机发送的,那么该 IP 的网关是什么。

如果你是接收那么你的路由表就无关紧要了。因此,这个问题只能基于发件人的路由表。

如果你是发送数据包至 192.168.1.x,它们只匹配0.0.0.0/0路由,所以它们会用作192.168.2.10网关。

什么是默认网关。

“默认网关”是指默认路由有。

“默认路由”是0.0.0.0/0(目标0.0.0.0掩码0.0.0.0)。

因此您的“默认网关”是192.168.2.10

相关内容