【问题标题】:What is the correct way to define routes on continuous subnets?在连续子网上定义路由的正确方法是什么?
【发布时间】:2021-10-15 09:45:46
【问题描述】:

我将一个 192.168.0.0/24 网络划分为四个子网:

  • 192.168.0.0/26(子网 A)
  • 192.168.0.64/26(子网 B)
  • 192.168.0.128/26(子网 C)
  • 192.168.0.192/26(子网 D)

每个子网的第一个主机是网关,例如192.168.0.1、192.168.0.65 等。但是,这不是默认网关,所以我必须定义单独的路由。 现在,我可以为属于这些子网的每个系统设置一个静态路由吗? 例如对于子网 A:

route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eno2

不确定广播如何受到这样的影响。那么,是否需要为所有子网分别声明静态路由?

route add -net 192.168.0.0 netmask 255.255.255.192 gw 192.168.0.1 dev eno2route add -net 192.168.0.64 netmask 255.255.255.192 gw 192.168.0.1 dev eno2route add -net 192.168.0.128 netmask 255.255.255.192 gw 192.168.0.1 dev eno2route add -net 192.168.0.192 netmask 255.255.255.192 gw 192.168.0.1 dev eno2

在最后一种情况下,不确定是否需要第一个条目,因为系统已经是子网 A 的成员。

【问题讨论】:

  • “广播”是什么意思?你想广播做什么?
  • 不,终端系统应该配置自己的网络和掩码(创建条目以在本地同一子网内发送流量),然后为每个系统添加网关(您的第一个 sn-p)。如何在子网之间路由,然后是网关的问题,而不是主机。第二个片段中的第一个条目不正确,同一子网的流量未路由,它使用第 2 层发送到设备。
  • 我知道广播地址是一个 IP 地址,用于针对特定子网网络上的所有系统而不是单个主机。每个子网都有自己的广播地址。但是一个子网会广播到其他子网吗?如果是这样,如果我使用 192.168.0.0/24 作为路由,我猜它只会在 192.168.0.255 上广播,这与 192.168.0.192/26 的地址相同。有关系吗?
  • 简单的答案是否定的。网络的广播地址被称为“本地链路”广播,即它只向同一第 2 层网段(即一个子网)中的系统广播。并且您应该不能使用另一个网络的广播地址。我不认为在单独的局域网中进行广播会那么简单。您必须配置网关以进行 IP 多播。如果您的子网实际上能够仅通过第 2 层就可以相互连接,您也许可以欺骗它们进行广播,但我不知道如何。
  • 你确定需要局域网之间的广播吗?

标签: networking


【解决方案1】:

您需要最后 3 个,而不是第一个(假设您的主机位于 192.168.0.0/26,例如 192.168.0.2)。有4个广播地址;每个子网一个:192.168.0.63、192.168.0.127、192.168.0.191 和 192.168.0.255 - 无需配置。除了极少数例外,路由器不会转发广播,顺便说一句。

【讨论】:

  • 我已经提到第一个路由可能过多,因为它描述了一个被视为本地的子网。我提出这个问题的原因是检查整个网络 (/24) 的 1 条路由规则与每个其他子网 (/26) 的 3 条路由规则是否有任何区别。到目前为止,我了解到广播正在本地使用,除了极少数情况。我相信,如果一个端点需要在另一个子网上广播某些内容,则该地址属于 /24 网络,并且网关知道目的地。那么,一条全网的路由规则不都是对的吗?
  • 我需要查看拓扑才能走得更远。您没有“已经提到[原文如此]”,而是您“不确定”。什么是“一条路线规则”;你有参考吗?
猜你喜欢
  • 2015-02-10
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
相关资源
最近更新 更多