通过上联承载两个组

LinuxBeginner
立即练习

介绍

Maple Hall 现在使用两台由共享线缆连接的软件交换机。本地访客组和工作人员组已经正确。你需要让两个组跨越上联,再将重新分配的设备放入目标工作人员组,同时不破坏原有设备。

请先完成第一个引导实验,或掌握其中的接入端口流程:读取端口规划、精确删除成员、添加目标 PVID 与无标签出站,并使用真实业务/ARP 观察。需要基本 MAC/IP 与子网知识。本独立场景不依赖上一虚拟机。

Switch A 与 Switch B 是同一实例内不同网络命名空间的独立持久终端,共享实例内核。Client Checks 观察端点;LAN Groups 显示实时状态和真实请求。只能修改两个 uplink 端口以及 Switch B 的 ticket 端口的 VLAN 成员、PVID 与标签属性。保留所有端点地址、其他端口、服务、网桥与防火墙。45 分钟为作者估计,未经初学者试学。

完成带标签上联

本步骤先区分可用本地组与未完成共享路径,再完成上联两端。打开 LAN Groups,再打开 Open device plan。访客使用 VLAN 10,工作人员使用 VLAN 20。本地服务器在 Switch A;远端服务器与票务设备在 Switch B。每个端点准备好的 /24 地址均已匹配目标组。

切换到 Client Checks,先用第一实验相同的工具测试两个已知正常的本地路径:

python3 /opt/labex/lan-groups/checks.py request visitor local
python3 /opt/labex/lan-groups/checks.py request staff local

阅读完整活动安排和工作人员说明。现在省略 local,访问上联另一端的同组服务器。由于上联没有允许的 VLAN,预期连接超时。工具会返回非零状态并报告连接超时。这是此处的预期结果,请继续下一命令:

python3 /opt/labex/lan-groups/checks.py request visitor

切换到 Switch A,读取实际端口成员:

bridge vlan show

切换到 Switch B,读取另一台交换机:

bridge vlan show

两个终端均起始于 /home/labex/project/lan-groups,但命令作用于不同交换机命名空间。每次修改前核对标签页名。uplink 行为空或不存在表示未允许任何组,并不表示端点线缆未接。即使共享路径未完成,本地两个接入组仍可正常工作。

ticket 端点已经使用工作人员地址 10.60.20.31/24,但其接入端口仍显示访客 VLAN 10。这个故意设置的不匹配将在上联完成后单独处理,不要通过修改 IP 地址修复。

在上联两端允许两个组

现在让两个组通过同一链路。带标签上联在每个以太网帧中加入 IEEE 802.1Q VLAN 标识,让下一台交换机知道帧属于哪个组。普通接入端点仍接收无标签帧,两端必须允许相同组。

从 Switch A 开始,为 uplink 添加访客与工作人员成员。命令故意省略 pvid 与 untagged:该链路承载带标签帧,没有原生无标签组:

bridge vlan add dev uplink vid 10
bridge vlan add dev uplink vid 20

切换到 Switch B,配置其上联端:

bridge vlan add dev uplink vid 10
bridge vlan add dev uplink vid 20
bridge vlan show dev uplink

预期看到 VLAN 10 与 20,没有 PVID 或 Egress Untagged 标志。返回 Switch A,也读取这一端:

bridge vlan show dev uplink

切换到 Client Checks,测试两个远端路径:

python3 /opt/labex/lan-groups/checks.py request visitor
python3 /opt/labex/lan-groups/checks.py request staff

在真实端点及上联两端捕获每个组:

python3 /opt/labex/lan-groups/checks.py broadcast visitor
python3 /opt/labex/lan-groups/checks.py broadcast staff

阅读 uplink-a 和 uplink-b:访客行包含 802.1Q 与 vlan 10,工作人员行包含 vlan 20。远端同组服务器收到无 VLAN 标签的 ARP,另一组服务器收到零个匹配帧。这证明共享路径确实带标签,而端点交付没有标签。

此时 ticket 仍收到访客广播、收不到工作人员广播,因为端口仍保留旧成员。下一步前这属于预期。如果远端服务器收不到自己组的广播,重试前先比较两端上联表;只配置正确一端是不够的。如果误加 VLAN,在相应交换机标签页中用已教的 bridge vlan del dev uplink vid ... 形式只删除那一行,再添加目标成员。

将重新分配的设备放入目标组

本步骤完成票务终端重新归组,同时保留两个远端组。从 Switch B 开始,先读取准确的当前端口:

bridge vlan show dev ticket

旧访客 VLAN 是 10,但已准备的地址和业务用途均属于工作人员。删除旧成员,再配置工作人员 PVID 与无标签出站:

bridge vlan del dev ticket vid 10
bridge vlan add dev ticket vid 20 pvid untagged
bridge vlan show dev ticket

预期仅有 20 PVID Egress Untagged。IP 地址与 VLAN 成员属于不同层,本任务不需要重新分配端点地址。

切换到 Client Checks,从重新分配的真实端点访问该组的工作人员服务:

python3 /opt/labex/lan-groups/checks.py request ticket

重复两个原有远端业务请求:

python3 /opt/labex/lan-groups/checks.py request visitor
python3 /opt/labex/lan-groups/checks.py request staff

再次捕获两个组:

python3 /opt/labex/lan-groups/checks.py broadcast visitor
python3 /opt/labex/lan-groups/checks.py broadcast staff

现在 ticket 收到工作人员广播,访客广播为零。两个带标签上联副本以及每个同组端点都必须仍然可见。停止服务无法通过正向业务检查,不同 IP 子网也无法掩盖 ARP 泄漏。

打开 LAN Groups,重新加载,在每张客户端卡片上请求服务,包括两台参考设备和票务设备。阅读完整资源。打开实时成员表,将两端及票务端口与规划比较。如果改错接入端口,按已教的删除/添加形式,只恢复规划中的原成员;不要重置虚拟机或删除网桥。

评分读取当前配置并发送有界只读探测,不修复配置。邻居学习、FDB(Forwarding Database)的 MAC 到端口学习以及普通服务访问日志可能自然变化。这些是同一共享内核训练实例中的临时有线组,不涉及 VLAN 间路由或重启持久化。

LAN Groups 中完成的真实服务请求

阅读各设备按钮下的完整响应。组标签描述规划;成功请求和实时端口表才显示实际结果。

总结

你区分了本地成功与完整跨交换机路径,在两端允许两个带标签 VLAN,并纠正重新分配的接入端口。真实 802.1Q 抓包、无标签端点抓包、完整业务响应与保留的参考设备共同证明结果。独立挑战会更换 VLAN ID,要求组合相同操作。