VLAN 是否可以拥有 IP 地址超出其子网 IP 范围范围的主机?

网络工程 转变 局域网 子网 dhcp 网络
2022-02-12 20:32:20

我的网络中有 3 个实体。充当 DHCP/PXE 服务器的服务器、交换机和设备。当服务器启动时,DHCP 服务器必须 PXE 引导服务器。为 PXE 引导安装分配了一个单独的 VLAN (1234),并且 IP 范围与此 VLAN (192.168.123.1 - 192.168.123.254) 相关联。子网 - 192.168.123.0。我将我的设备接口连接到 VLAN 1234,但分配的 IP 地址为 192.168.122.3,DHCP IP 范围为 192.168.122.50 - 192.168.122.100。请注意,这些 IP 范围不在为 VLAN 1234 定义的 IP 地址范围内。即它不在子网 192.168.123.0 中,但这些 IP 地址属于与另一个 VLAN 关联的另一个子网。但是服务器仍然可以成功进行 PXE 引导,但我不确定如何。

1个回答

VLAN 是第 2 层的概念,它不了解第 3 层。每个 VLAN 由分配给该 VLAN 的多个端口和一个 MAC 地址表组成,仅适用于该 VLAN。绝对可以在同一个 VLAN 上使用多个子网(尽管请参阅答案后面的警告)。VLAN 关心的只是学习该 VLAN 中设备的 MAC 地址并在这些设备之间转发流量。此转发在第 2 层完成,因此它仅检查帧的目标 MAC 地址。它不关心帧所携带的 IP 数据包中的 IP 地址。

混淆可能是因为许多交换机是第 3 层,它们允许您将 IP 地址分配给 VLAN,有时称为 VLAN 接口或交换虚拟接口 (SVI)。如果您将 IP 地址分配给第 3 层交换机上的 VLAN,就好像您已将路由器添加到具有该 IP 地址的 VLAN。然后可以路由到达 SVI 的任何流量,但路由过程是第 3 层过程。如果 IP 地址作为 VLAN 上 PC 的默认网关,则 VLAN 只关心 PC 和 SVI 之间的帧传递,根据帧的目的 MAC 地址进行转发。一旦到达 SVI,一个单独的第 3 层进程将参与在第 3 层(基于 IP)转发流量。

因此,尽管这是不好的做法,但您可以在同一个 VLAN 上拥有不同的子网,就像在不支持 VLAN 的同一物理 LAN 交换机上可以拥有不同的子网一样。

如果您在同一个 VLAN 上有多个子网,并且您需要这些子网上的设备与其他子网通信,您可以为 VLAN 接口分配多个 IP 地址。另一个地址有时在 CLI 中称为辅助地址。您不能做的一件事是在同一交换机上的两个不同 VLAN 接口上拥有来自同一子网的 IP 地址,因为路由器不知道如何转发该子网的流量,它不知道最终目的地所在的接口on 因为它认为它们都是同一个子网并且不知道各个主机。

我认为在您的情况下,您正在使用 VLAN 内的子网,该子网也分配给交换机上的另一个 VLAN 接口?如果是这种情况,并且这些设备不需要与其他子网通信,那么这将起作用。这可能会产生几个问题:

如果子网中的设备要与另一个 VLAN 上同一 IP 子网中的设备通话,则无法进行通信,因为它们是单独的 VLAN。一个 VLAN 上的设备将直接为另一个 VLAN 上的设备进行 ARP,由于它们是独立的 VLAN,ARP 广播不会到达目标设备。

另一个问题是您是否想与另一个子网通话。如果该子网存在于另一个 SVI 上,则无法将 SVI 添加到 VLAN,因此该子网将没有默认网关。