具有默认网关的主机

具有默认网关的主机

我遇到了一个奇怪的问题。之前,我们的生产设置中有 4 个网络段,即段 A、B、C 和 D。A、B 和 C 能够相互通信,并与企业局域网和互联网通信。段 D 是完全独立的段,仅用于备份和管理。因此,仅在段 D 上的主机 Z 无法访问任何其他段。

我们最近在生产环境中引入了 vmvare vsphere 5.1 设置。我们在 vcenter 中创建了一个分布式交换机。分布式交换机具有来自所有 4 个网络段的上行链路。我们还为每个段创建了单独的端口组。

现在的问题是主机 D 现在可以与其他段通信,但只能与其他段通信,即连接到分布式交换机的主机。其他段中的物理机器仍然无法被机器 Z 访问。

这就是我对这个问题的分析。

  1. 检查主机 Z,如果发现默认网关被设置为主机 Z 本身。
  2. vSphere 分布式交换机的行为类似于 L2 交换机,端口组只是一组端口,并没有标记它们之间的任何隔离。
  3. 由于维护了默认网关,因此主机 Z 路由表中有所有其他段的路径。即,数据包到达 D 段交换机 [点 1]。然后,交换机通过上行链路将这些数据包发送到 vSphere 分布式交换机,记住第 2 点,数据包到达目标主机。

第 3 点是我感到困惑的地方[具体来说,粗体],可能是因为我对网络方面的了解较少。由于对于机器 Z,网关是它自己,所以发送给其他段的任何数据包都应该返回到它自己....!!.??..或者我知道有一种称为生成树协议的东西,它可以防止网络中出现循环。这有用吗....??数据包如何到达我的分布式交换机....??

如果有任何错误,请纠正我,提前谢谢您。

答案1

我终于找到了问题的答案。这是由于 Linux 实现 TCP/IP 堆栈的方式所致。默认情况下,它使用弱主机模型。[http://en.wikipedia.org/wiki/Host_model]。因此,连接到私有网络的远程主机网络适配器正在响应另一个适配器的 IP 上的请求。

主机 Z 始终只访问私有网络 D。正如 sean 所说,由于 Z 的默认网关设置为其自身,因此它会尝试将数据包直接发送到支持该行为的任何其他主机。

答案2

在我看来,您的网络实际上并没有像您描述的那样分段。分布式交换机是否可能对所有端口组使用相同的 VLAN 编号,或者根本不使用 VLAN?如果数据包未通过 VDS 进行 VLAN 标记,则这可以解释为什么 vSphere 内部存在不必要的连接,并且在物理上行链路上未观察到相同的连接。

提供有关您的环境中的 IP/掩码以及路由器接口的更多详细信息可能会有所帮助,以更详细地解释分段。

无论如何,我希望这些能对你有帮助。祝你好运。

相关内容