路由适用于网络掩码 255.255.255.0,但不适用于 255.255.0.0

路由适用于网络掩码 255.255.255.0,但不适用于 255.255.0.0

我有一个多 WAN 路由器,其 LAN 地址为192.168.10.1/24

另外,我有一个地址为 的设备192.168.100.1,它连接在接口WAN1后面。

为了访问此设备,我已向路由器添加了静态路由

route add 192.168.100.1 mask 255.255.255.0 WAN1

并且它正在发挥作用。

现在我已将我的网络掩码LAN从扩展255.255.255.0255.255.0.0,之后静态路由停止工作或变为非法。

为何以及如何修复?

答案1

所以如果你仔细想想,它停止工作是有道理的。关键信息如下:

我更改了路由器上的网络掩码。这自动导致 DHCP 发生变化,进而更改了所有客户端上的网络掩码(当然是在租约到期时)。

现在,我可以解释为什么这不起作用 - 但为了获得更全面的理解,你应该阅读有关网络的一般知识。

因此,您提到您的 LAN 接口具有 的网络空间192.168.10.0/24。 DCHP 将确保该网络上的所有客户端也存在于该 IP 空间中。 这意味着路由表可能如下所示:

Destination     Netmask         Route Type  Gateway         
192.168.10.0    255.255.255.0   connected   *               
0.0.0.0         0.0.0.0         default     192.168.10.1

要理解这个路由表,您需要了解一些有关路由的知识。

  • 已连接 - 这是与接口地址和网络掩码关联的路由。此网络空间中存在的 IP 地址直接连接。也就是说,主机将针对该地址进行 ARP,然后直接向该主机发送流量。无需中间路由器(网关)。
  • 默认 - 此路由是所有不属于表中其他路由范围的流量的路由。这通常是访问互联网所需的路由。这也是静态路由

如果网络上有一个客户端192.168.10.0/24,比如说192.168.10.10,想要与 IP 地址通信,192.168.10.15它会查阅路由表以了解应该如何操作。这将匹配连接的路由(它会通过对路由表中的目标 IP 和网络掩码执行按位与操作来实现)。192.168.10.10然后会执行 ARP 操作192.168.10.15,通信将从那里继续。

然而,在这种情况下192.168.100.1,网络上的计算机192.168.10.0/24会检查路由表并仅在默认路由上找到匹配项,因此它会将流量发送到具有到该网络的路由的路由器(网关)。

当您将网络从一个网络扩展到192.168.10.0/24另一个192.168.0.0/16网络时,您也会更改路由表。路由表现在如下所示:

Destination     Netmask         Route Type  Gateway         
192.168.0.0     255.255.0.0     connected   *           
0.0.0.0         0.0.0.0         default     192.168.10.1

因此,现在当您尝试查找192.168.100.1路由表时,将匹配连接的路由。因此,您的主机正在执行 ARP 查询以查找设备,而不是将流量发送到路由器。ARP 查询失败,因为设备不存在于同一个 LAN 上,而是需要经过路由器跳转。

现在,可以让路由器为设备执行“代理 arp”,但这取决于路由器软件。

从更严谨和教学的角度来看,通常认为,拥有一条连接路由,然后在该连接路由内创建一条较小的静态路由是一种不好的做法。这可能会导致后续出现许多问题。在这种情况下,您有一个,/16从中开辟出一个/24以转到另一个接口。即使您创建了/24主机路由,这仍然是不好的做法。大多数路由器软件甚至不允许您这样做,如果您尝试,则会抛出错误。现在,虽然使用这样的设置可以运行,但建议您使用完全独立的 IP 空间。

看起来你对做很多网络工作很感兴趣,这很好。这是一个困难的领域,有很多东西需要你去理解。我建议你读一点这方面的书,这样你就能了解实际情况。

我喜欢的一本书是 O'Reilly Media 的《网络战士》。这本书讲授了很多网络基础知识。当然,这只是我的看法,还有很多其他资源,无论是免费的还是收费的。

答案2

当您更改网络掩码时,它比简单地在一台机器上使用不同的网络掩码要复杂一些。您必须更改所有连接的网络设备(即路由器、交换机)的网络掩码以及所有机器上的以太网接口以匹配。此外,您还需要更改任何相关的 DHCP 网络掩码。如果您不这样做,事情就不会像您看到的那样顺利进行。

最有可能的情况是,一台或多台机器或网络设备的网络掩码不正确。

相关内容