如何在一个接口上链接多个子网?

如何在一个接口上链接多个子网?

我正在尝试划分我的网络,而不使用 VLAN。我想创建以下网络:

  • 10.0.0.1/24-网络0
  • 10.0.1.1/24-网络1
  • 10.0.3.1/24-网络2
  • 10.0.4.1/24-网络3

这些 IP 都属于一个接口eth0。我希望所有设备都能相互通信,但我不知道如何实现这一点。我应该将子网掩码设置为255.255.0.0而不是 吗255.255.255.0?我应该用防火墙规则伪装吗?最佳做法是什么?

谢谢

答案1

如果是 /24 子网,则网络掩码实际上是 /24。(长格式为 255.255.255.0。)

请注意,网络掩码不是接口的属性。它是地址在该接口上配置,并且当您为同一接口分配来自多个网络的地址时,它们完全有可能具有不同的网络掩码。

位于不同子网的设备将通过路由器(网关)进行通信。即使它们位于同一个物理以太网上,这也适用。路由器将在同一接口上拥有四个 IP 地址 - 每个网络一个,所有 IP 地址均配置为 /24s。

(如果您尝试使用 /16 或 /22 网络掩码,因为您希望不同子网中的设备无需网关即可直接通信,那么您没有四个网络——最终只会得到一个没有任何分离的大型 /16 网络。

总的来说,您尝试做的事情已经超出了“最佳实践”。它适用于 IPv4,但会对 IPv6 造成问题,并且它只能提供一些保护,但如果设备可能被攻击者控制并可以更改其 IP,则不会有帮助。

伪装或 NAT 不应涉及此过程。网络内部永远不需要使用伪装。

答案2

我认为你应该使用更大的子网:

10.0.0.1/22

因为 /22 涵盖了您在问题中提到的四个网络。

编辑:或者应该是 /21(因为您列出了 0、1、3 和 4,而不是 0、1、2 和 3)?

相关内容