现在我有一个简单的拓扑,其中包含 debian 网关、几个托管交换机和接入点。
我想在我的拓扑中添加 3 个 VLAN,并且可能在 Debian 网关上使用 802.1Q,这样 VLAN 之间的所有流量都会通过网关防火墙。
网络中很多主机都手动配置了网关的IP。
这就是我需要帮助的地方。
我想在 Debian 网关上使用 Linux 桥接接口功能,这样我的网络 (eth1) 内部的物理端口将接受新的 VLAN、没有 VLAN-id(未标记)的帧,同时还可通过所有新 VLAN 使用相同的旧 IP 进行访问。类似于家用 Wi-Fi 路由器的功能。
假设我使用 /etc/network/interfaces 和 VLAN 包,我的拓扑和配置应该是什么样子?
我是否只需在 eth0 上创建 VLAN,为每个 VLAN 输入“vlan_raw_device eth0”,并仅为 eth0 本身设置 IP 地址?
或者我应该创建一个网桥,将所有 VLAN 接口和 eth0 放入其中,然后将 IP 地址从 eth0 移动到网桥?
如果我将在端点 Devian 上进行这样的配置(而不是网关),如果指定为默认网关的设备也同时具有两个 VLAN,那么哪个端点的 VLAN 接口将用于传出到互联网的流量?
我是否必须将交换机侧的端口置于中继模式?
是否存在任何环路问题,因为交换机可能无法支持 PVST。
答案1
这样,我的网络 (eth1) 内部的物理端口就可以接受新的 VLAN 和没有 VLAN-id(未标记)的帧
这行不通。您需要在 NIC 上为从交换机端口中继的每个标记 VLAN 配置一个具有 802.1q VLAN 标记的子接口。
同时还可通过所有新 VLAN 使用相同的旧 IP 进行访问
这也是不可能的:VLAN 是第 2 层网段,需要使用自己的 IP 子网才能启用路由。由于终端节点使用的每个网关都需要成为终端节点子网的一部分,因此您不能在新子网中使用旧网关 IP。
您不能将旧的 IP 地址和子网与新的 VLAN 一起使用,因为要使路由正常工作,您需要明确的、不重叠的子网。
如果将 VLAN 桥接在一起,它们本质上会成为一个 VLAN,而您将一无所获。
正确的做法是:
- 在 Debian 网关上配置子接口,在连接交换机上配置 VLAN。在交换机和网关之间中继 VLAN(如标记的)。为每个子接口和 VLAN 配置一个(新)IP 子网。测试连通性。
- 将新的 VLAN 中继到其他交换机。测试连通性。
- 将现有主机移至目标 VLAN(交换机端口处于访问模式,VLAN 为未标记/本机)- 如果需要,逐个移动。分配新的 IP 地址和默认网关。我建议使用 DHCP 进行集中 IP 管理。
如果您不在网关上桥接,也不在交换机之间创建冗余链路,则无需 RSTP/MSTP/RPVST+。无论如何,我建议考虑它,因为它提供了良好的环路保护,以防有人意外创建反向链路。只需确保选择一个好的根桥,并将所有边缘端口置于portfast
或admin-edge-port
模式,具体取决于交换机供应商。当然,全部交换机需要使用相同的协议参与(RSTP 和默认 MSTP 互操作,RPVST+ 不互操作)。