陈工每天出摊:trunk链路是干嘛的?用“包裹”讲透原理・第4天

事先是这样:我一个做网维的朋友跑来找我求助。他们公司好几栋楼,每栋楼里又把部门分成好几个 VLAN。交换机要串起来,大家就直接把线拉过去,结果所有流量都混在一根线上,像快递把不同包裹往同一个袋子里一丢,回头谁也找不着自个儿的东西。广播和组播有时候乱窜,查起来特费劲。最后他把那条链路改成 trunk,问题马上迎刃而解——不同 VLAN 的帧都贴了标签,到了对端再按标签拆包,各走各的路。

陈工每天出摊:trunk链路是干嘛的?用“包裹”讲透原理・第4天

讲得通俗点,trunk 就是把好几条逻辑流合并到一根物理线上,用标签区分来源。把 VLAN 想象成几种颜色的包裹,普通 access 口一次只能传一种颜色,trunk 会在每个包外面贴个颜色条,到了另一端再按颜色分拣。常见的标签方式是 802.1Q:帧里插个字段,交换机看到就知道这是哪个 VLAN 的。于是同一根线可以同时运 VLAN10 的办公流量、VLAN20 的文件流量、VLAN30 的访客流量,互不干扰。

过程里有些细节,不能忽视。我朋友先在实验室做了验证:先把两台交换机用普通 access 接口连起来,一台口放 VLAN10,另一台放 VLAN20,结果各自孤立,数据根本互通不了。把端口改成 trunk,允许 VLAN10、20 通过后,马上能互通。测试中踩到两个坑:一是 native VLAN 的问题——未打标签的帧会走 native VLAN,必须确认两端的 native VLAN 一致,否则会落到错的 VLAN;二是别把所有 VLAN 全放通,不必要的广播会被一股脑带过去,既浪费带宽也带来安全隐患,所以提议只允许需要的 VLAN。

陈工每天出摊:trunk链路是干嘛的?用“包裹”讲透原理・第4天

配置上思路很一致,命令不复杂。以常见厂商举例:思科设备里把接口切到 trunk,用 switchport mode trunk,再用 switchport trunk allowed vlan 后面写要放行的 VLAN 列表。华为设备类似,先把端口设置成 trunk(port link-type trunk),再用 port trunk allow-pass vlan 指定允许通过的 VLAN。配好后别忘了用 show 命令查状态,确认哪些 VLAN 正在穿过这条链路,哪些端口被当作 trunk。调试时有用的办法包括看 trunk 状态、看接口的 VLAN 列表、抓包观察有没有 802.1Q 标签,排查 native VLAN 泄露或者标签丢失的问题。

安全和性能不能光靠一条 trunk 解决。列如管理 VLAN 不提议随意放上这条链路;不要把没用到的 VLAN 加进允许列表;跨楼互连时注意上游设备有没有做流量镜像或 ACL,防止广播风暴蔓延。还有带宽问题:楼与楼之间流量大时,单根 trunk 容易当瓶颈,这时可以思考把多根物理链路聚合成一条逻辑链路(LACP),让吞吐量提高,也更稳当。

陈工每天出摊:trunk链路是干嘛的?用“包裹”讲透原理・第4天

举个场景来说明更直观:楼 A 的交换机上有 VLAN10(办公)和 VLAN20(资料),楼 B 也一样。两端把相连端口都设成 trunk,允许 VLAN10、20。楼 A 的一台电脑发出的 VLAN10 数据上了标签走到楼间链路,到了楼 B 后按标签发到楼 B 的 VLAN10 主机。以前如果用两个 access 口分别承载两类流量,布线复杂、端口占用多。换成 trunk 后一根线顶过去,后面再要加 VLAN 就在允许列表里添个 ID,扩展方便得很。

我也参与过一次校园网改造,教学楼多、办公室多,每栋楼内部又细分 VLAN。把楼间链路统一做成 trunk 后,网络架构清晰不少。后面要给某个新实验室开个 VLAN,只需在中心交换机和楼间 trunk 上放行这个 VLAN,楼里的交换机再做本地划分,学生和老师很快就能上网。过程中有几件细活:测试 native VLAN 行为,检查不同厂商设备对 tag 的兼容性,处理个别老设备的固件问题,都费了点时间,但换来的是后续运维省心。

干这类活,动手前最好先把拓扑画清楚,把每段链路预计要承载的 VLAN 列出来,写好命令模板,先在小范围做 lab 测试,再推进到生产。改配置时把旧配置备份好,方便回滚。排查问题时走流程:先看物理连通和链路状态,再看 trunk 上是否允许了目标 VLAN,然后抓包检查帧里有没有 802.1Q 标签,确认 native VLAN 没跑偏。常见的排查语句就是看链路灯、看接口状态、看 VLAN 表、抓一把包来看看标签存不存在。

配置时的几个小提议也能少踩坑:把允许通过的 VLAN 写成白名单,不要直接放 all;尽量统一两端的 native VLAN;重大管理类流量最好走独立链路或加上 ACL 保护;链路繁忙时思考走 LACP 做聚合。还有,跨厂商对接要特别注意 tag 和 native 行为,有的平台在不打标签的情况下把帧当 native 处理,另一家可能默认有保护机制,细节上会出差错。

那天帮朋友把 trunk 配好后,他算是松了口气。我自己也觉得,把各种流量按颜色分好类再一起运输,这事儿实用还省事。明天早上八点,咱们再聊聊交换机上那些指示灯到底各代表啥,顺带教几招看灯排障的实用办法。来自“陈工每天出摊”系列,每天早 8 点准时更新。

© 版权声明

相关文章

暂无评论

none
暂无评论...