ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

思科模拟器VLAN配置实战:Access与Trunk详解及排错指南

思科模拟器VLAN配置实战:Access与Trunk详解及排错指南 公司机房待过的人大概都经历过这种场面一场广播风暴把整个办公网拖成幻灯片财务部一个部门换IP全楼都跟着抖三抖。领导一句“你把它隔离一下”就把你按在了网工的位置上。隔离网络最基础、也最实用的手段就是VLAN。而学习VLAN配置最省心、成本最低的方式就是打开思科模拟器Packet Tracer把拓扑搭起来亲手敲一遍命令。这篇文章我打算不止给你一套能抄的配置命令还会把VLAN配置里最容易踩的坑、命令背后的原理、以及“为什么这么配”一次讲透。适合三类人刚接触网络的在校生、准备CCNA考试的自学者、以及被临时抓去管网络又不想把生产环境搞崩的运维新人。看完之后你能独立完成单交换机VLAN划分、跨交换机Trunk链路、以及VLAN间通信的完整实验并且出现问题时知道从哪里开始查。1. 为什么用思科模拟器学VLAN而不是直接上真机1.1 Packet Tracer在VLAN学习中的优势Packet Tracer这几年被一些人嫌弃说它“太玩具”不如GNS3和EVE-NG真实。这话对了一半。GNS3和EVE-NG强在能跑完整IOS镜像适合研究路由协议、做复杂的排错实验但它们的入门门槛高一个镜像文件好几个G拓扑搭起来还要考虑设备资源占用。而VLAN这个知识点核心诉求是让你理解二层交换的基本逻辑不是让你去调什么高端特性Packet Tracer的2960交换机模型完全够用而且把命令收敛得很干净不会被无关特性干扰。我用了多年模拟器Packet Tracer 7.3和8.0两个版本都试过。8.0在界面上更现代设备类型也更多但偶尔会有注册和初始化的小问题。7.3胜在稳定对于VLAN、静态路由、ACL这类CCNA范围的内容7.3一点不落伍。如果你是新手真不必纠结版本随便找一个能正常运行的版本把精力放在命令和逻辑上。1.2 一套能复用的基础拓扑规划做VLAN实验我的建议是不要一上来就搭复杂拓扑先把最小闭环跑通再逐步加设备。一个最小但完整的VLAN实验拓扑包括两台2960交换机一台也行但跨交换机Trunk实验就需要两台三到四台PC机分别模拟不同部门的终端一台路由器或3560三层交换机做VLAN间通信时用在Packet Tracer里设备选型很关键。如果后续要练SVI交换虚接口建议直接用3560因为2960是纯二层交换机不支持interface vlan下发IP地址做网关更没有ip routing命令。很多新手在这里翻车用2950或2960配了半天interface vlan 10发现网关ping不通其实是设备选型就错了。我把常用设备选型整理成了表格方便你搭拓扑时直接对照实验目标推荐设备理由单交换机VLAN划分2960命令简洁纯二层足够跨交换机Trunk两台2960验证802.1Q和Native VLANVLAN间通信三层交换3560支持SVI和ip routingVLAN间通信单臂路由2960 1941路由器练子接口和封装命令拓扑逻辑上两台交换机用GigabitEthernet口互联做TrunkPC分别连接两台交换机的FastEthernet口分属VLAN 10和VLAN 20。这样设计的好处是你能同时验证“本交换机内VLAN通信”和“跨交换机同VLAN通信”一次实验覆盖大部分考点。2. 端口两种模式Access和Trunk配置前必须拎清楚VLAN配置里最绕不开的就是端口模式。很多命令记不住、配置完不通根本原因是没有理解Access和Trunk的本质区别。2.1 Access端口给终端设备“贴标签”Access端口翻译过来就是“接入端口”它连接的是PC、打印机、服务器这类终端设备。Access端口的逻辑很直接这个端口属于且只属于一个VLAN从这个端口进出的数据帧都会被交换机打上或剥掉对应的VLAN标签。你可以把Access端口理解成公司前台的访客贴纸——你属于哪个部门前台就给你贴哪个部门的标签。在二层交换机内部数据帧是靠这个标签也就是VLAN ID来识别“你属于哪个广播域”的。PC本身并不知道VLAN的存在它发出的帧是普通以太网帧交换机在Access端口收到后负责把这个帧打上VLAN标签再送进交换矩阵。配置Access端口的命令就三行Switch enable Switch# configure terminal Switch(config)# interface fastEthernet 0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10这里有个细节值得注意switchport mode access和switchport access vlan 10是两条命令前者把端口模式设为Access后者把端口划入VLAN 10。如果你只敲了switchport access vlan 10而没敲mode端口依然会处于动态期望模式在某些情况下可能协商成Trunk导致意想不到的问题。所以我的习惯是两条命令都敲全一个都不能省。2.2 Trunk端口交换机之间的“主干道”Trunk端口的作用是让多个VLAN的数据帧在同一条物理链路上传输。交换机之间的互联口、路由器与交换机之间的互联口通常都配置成Trunk。这里要引入一个概念802.1Q。这是IEEE的标准VLAN标记协议它在以太网帧头里插入一个4字节的标签其中包含12位的VLAN ID能标识4096个VLAN。Trunk口发送数据帧时会给属于各VLAN的帧打上这个标签接收数据帧时根据标签决定交给哪个VLAN。如果说Access是前台贴纸那Trunk就是连接两个大楼之间的主干道。不同的部门VLAN的人都可以走这条路但每个人身上都得有标签门卫才知道你该去哪个楼层。Trunk链路上默认允许所有VLAN通过但你也可以手动裁剪白名单只放行特定VLAN。2.3 两种模式的选型规则我见过不少人在配置时反复纠结到底用Access还是Trunk这里其实有一条很简单的判断标准看链路的另一端是什么设备。如果另一端是PC、打印机、服务器网卡等终端设备用Access。如果另一端是交换机、路由器等网络设备且需要在同一条链路上传输多个VLAN用Trunk。举两个反例你就明白了如果两台交换机之间的端口配成Access那么这条链路只能承载一个VLAN的流量其他VLAN的数据到了这个口直接被丢弃相当于把两个交换机之间的路修窄了。反过来如果PC接的交换端口配成TrunkPC的网卡通常无法识别带802.1Q标签的帧直接不通。3. 单交换机VLAN划分实战从建VLAN到验证一条龙3.1 先搭拓扑再规划IP打开Packet Tracer拖一台2960和四台PC两两一组分别接入。规划如下VLAN 10技术部PC0和PC1网段 192.168.10.0/24VLAN 20财务部PC2和PC3网段 192.168.20.0/24给PC配IP时注意同一个VLAN里的PC必须处于同一个网段不同VLAN之间的PC即使IP处在同一网段如果不经过三层路由二层也默认不通这就是VLAN隔离性的核心体现。PC0192.168.10.10 / 255.255.255.0 PC1192.168.10.11 / 255.255.255.0 PC2192.168.20.10 / 255.255.255.0 PC3192.168.20.11 / 255.255.255.03.2 命令行配置完整过程在交换机上进入CLI按顺序敲以下命令Switch enable Switch# configure terminal Switch(config)# hostname SW1 SW1(config)# vlan 10 SW1(config-vlan)# name IT SW1(config-vlan)# exit SW1(config)# vlan 20 SW1(config-vlan)# name Finance SW1(config-vlan)# exit SW1(config)# interface range fastEthernet 0/1-2 SW1(config-if-range)# switchport mode access SW1(config-if-range)# switchport access vlan 10 SW1(config-if-range)# exit SW1(config)# interface range fastEthernet 0/3-4 SW1(config-if-range)# switchport mode access SW1(config-if-range)# switchport access vlan 20 SW1(config-if-range)# end这里用到interface range批量配置省去一条条敲的麻烦。注意interface range fastEthernet 0/1-2中间没有空格Packet Tracer对此比较严格。创建VLAN时可以给VLAN起名字这是纯管理用途不影响功能但能让后续维护省点心。一个几百台设备的网络靠名字识别“这个VLAN是财务还是研发”比靠编号硬记强太多。3.3 验证命令配置完不等于配对了配置完成后不要急着用PC去ping先在交换机上看一眼状态SW1# show vlan brief SW1# show interfaces statusshow vlan brief会列出所有VLAN以及每个VLAN的端口成员我每次配完必看这条命令因为它能最直观地反映出端口有没有被划进正确的VLAN。show interfaces status则可以看到端口状态是否为up以及归属于哪个VLAN。正常情况下这两个VLAN内的PC应该能互相ping通PC0 ping PC1能通PC2 ping PC3能通但PC0 ping PC2不通。如果想更直观地感受隔离效果可以打开Packet Tracer的实时模拟模式左下角切换在PC0 ping PC2时观察数据帧的走向。你会发现ICMP报文到了交换机后根本不会被转发到属于VLAN 20的端口直接被丢弃。这就是VLAN隔绝广播域和二层流量的直接证据。如果发现同VLAN也ping不通优先检查PC的IP配置和端口所属VLAN这两项占了九成的问题。4. 跨交换机Trunk配置这里面的坑比想象中多4.1 搭建两台交换机的拓扑现在进入重头戏两台交换机级联。在刚才的拓扑上再加一台2960SW2把SW1和SW2用GigabitEthernet口连起来作为Trunk链路。PC分布改为SW1接PC0VLAN 10和PC2VLAN 20SW2接PC1VLAN 10和PC3VLAN 20。这样PC0和PC1虽然接在不同交换机上但同属VLAN 10目标是能互通PC2和PC3同属VLAN 20也要能互通。如果Trunk配置出问题跨交换机的PC就会ping不通而本交换机的PC依然正常这是非常典型的故障现象。4.2 Native VLAN和802.1Q封装多数故障的根源先在两台交换机上配置Trunk。SW1和SW2的配置几乎一样以SW1为例SW1(config)# interface gigabitEthernet 0/1 SW1(config-if)# switchport mode trunk SW1(config-if)# switchport trunk native vlan 99 SW1(config-if)# switchport trunk allowed vlan 10,20 SW1(config-if)# end这里我做了两件容易忽略的事一是把Native VLAN从默认的VLAN 1改成了VLAN 99二是用allowed vlan明确放行VLAN 10和20。为什么要这么干Native VLAN是Trunk链路上不打标签的VLAN。默认情况下交换机间Trunk链路会把VLAN 1的流量不封装直接传。这个设计本意是为了兼容旧设备但在实际网络中VLAN 1往往承载着CDP、VTP、STP等控制协议也常用作管理VLAN如果整条Trunk都裸奔VLAN 1的流量一旦链路被接入恶意设备很容易成为攻击入口。因此生产环境普遍会把Native VLAN改成其他编号将VLAN 1彻底隔离。故障率最高的坑在于互联两台交换机的Trunk口Native VLAN必须一致。如果SW1的Trunk口Native VLAN是99SW2的Trunk口Native VLAN还停留在默认的1两台交换机在协商时就会报Native VLAN不匹配日志刷屏部分流量行为变得非常诡异。另外同一VLAN的帧在Trunk上是否打标签取决于它是不是Native VLAN。你可以把802.1Q理解成快递包裹上的面单非Native VLAN的帧都贴了面单打了标签Native VLAN的帧没贴面单就进了快递分拣线。两个分拣中心对“哪些包裹不用贴面单”的定义必须一致否则包裹就被乱分了。4.3 Allowed VLAN白名单别让广播域无谓扩大默认情况下Trunk端口允许所有VLAN通过这是思科的默认策略方便新手但也是广播风暴的温床。在实际配置里我习惯用switchport trunk allowed vlan明确写出需要放行的VLAN号这既是安全加固也能减少故障排查时的干扰项。一个细节如果你在SW1上只允许VLAN 10通过Trunk那么VLAN 20的PC即使直连SW2也跟SW1上的任何PC不通因为VLAN 20的帧根本不让上这条链路。这个命令的效果是双向过滤器。配置完成后用show interfaces trunk检查状态SW1# show interfaces trunk这条命令会列出Trunk端口的状态、Native VLAN、允许通过的VLAN列表以及当前active的VLAN。如果显示Trunk协商没成功很可能是对端口没有配置成Trunk或者物理链路有问题。还有一个和PVID直接相关的场景在配置Trunk时如果只敲了switchport mode trunk但没敲switchport trunk native vlan那么Native VLAN保持为1。如果对端恰好把Native VLAN改成10有些华为设备的默认PVID就是VLAN 1但习惯上会有人动态修改两端Native VLAN不一致就会导致打了标签的帧和对端期望的不一致典型的症状是同VLAN能通但Trunk链路上某些VLAN的流量时通时不通用show interfaces trunk能看到 native vlan mismatch 的提示。遇到这类问题我的排查习惯是先看两端Trunk的Native VLAN是否一致再看Allowed VLAN列表是否都在白名单里最后看物理端口状态三步走基本能定位九成问题。5. VLAN间通信两条路线单臂路由和三层SVI怎么选VLAN划分完成之后紧跟着的问题就是不同VLAN之间怎么通信比如技术部要访问财务部服务器VLAN 10的PC怎么到达VLAN 20的地址5.1 为什么同一个交换机上的不同VLAN不能直接互通要从二层的本质理解交换机转发数据帧依赖MAC地址表而VLAN本身就是二层广播域的隔离边界。数据帧从Access口进入交换机时被打上VLAN 10的标签交换机会在MAC地址表里查找目标MAC地址。如果目标MAC地址不在同一个VLAN的端口下交换机不会把帧转发到另一个VLAN的端口这是硬件层面的隔离逻辑。所以不同VLAN的PC要想通信必须“上到三层”走路由。这就像同一栋楼的不同部门二楼内部随便逛但要去三楼必须走到楼梯口网关换楼层。这里的楼梯口就是网关也就是路由设备的接口地址。5.2 单臂路由一条物理链路承载多个VLAN网关单臂路由是最经典的VLAN间通信方案用一台路由器连接交换机的一个Trunk口然后在路由器的物理接口上划分子接口。以1941路由器为例从Fa0/0口连到SW1的GigabitEthernet 0/1Trunk口。Router enable Router# configure terminal Router(config)# interface fastEthernet 0/0.10 Router(config-subif)# encapsulation dot1Q 10 Router(config-subif)# ip address 192.168.10.1 255.255.255.0 Router(config-subif)# exit Router(config)# interface fastEthernet 0/0.20 Router(config-subif)# encapsulation dot1Q 20 Router(config-subif)# ip address 192.168.20.1 255.255.255.0 Router(config-subif)# exit Router(config)# interface fastEthernet 0/0 Router(config-if)# no shutdown Router(config-if)# end关键命令是encapsulation dot1Q它告诉路由器“这个子接口负责处理打了VLAN 10标签的帧”。外部流量进来时路由器根据子接口上封装的VLAN ID把流量送入对应的子接口处理再根据路由表决定转发到哪个子接口。配置完之后PC0 ping PC2数据包会先发给网关192.168.10.1路由器剥掉VLAN 10的标签看到目的地址是192.168.20.0网段查路由表后从子接口Fa0/0.20转发出去重新打上VLAN 20的标签交给交换机最终到达PC2。单臂路由的瓶颈也很明显所有VLAN间流量都要挤在这条物理链路上大流量场景容易成为瓶颈。所以它更适合实验环境或小型网络。5.3 三层交换机SVI更现代的解法如果手头有3560这类三层交换机可以直接用SVISwitch Virtual Interface交换虚拟接口来做VLAN间路由这也是现代企业网络的主流方式。配置分两步先给VLAN配置管理IP再开启IP路由。SW3(config)# ip routing SW3(config)# interface vlan 10 SW3(config-if)# ip address 192.168.10.1 255.255.255.0 SW3(config-if)# no shutdown SW3(config-if)# exit SW3(config)# interface vlan 20 SW3(config-if)# ip address 192.168.20.1 255.255.255.0 SW3(config-if)# no shutdown SW3(config-if)# end很多人在2960上照抄这段命令结果报错或者不生效原因就是2960不支持ip routing也不允许给interface vlan配IP。这里再次体现设备选型的重要性。检查交换机是否支持敲show version看型号即可。SVI看似简单背后逻辑却很优雅交换机内部有路由引擎它能同时做二层交换和三层路由。VLAN 10的PC访问VLAN 20时数据包到达交换机交换机查路由表直接从自己的VLAN 20接口转发出去不需要外部路由器绕一圈。5.4 单臂路由和SVI的取舍搜热词的时候看到有人在问“网关放在汇聚那么汇聚跟核心是同VLAN互联还是三层IP互联”。这个问题放在VLAN实验里同样适用。我的建议是小环境实验、小型办公用单臂路由练手没问题但真实网络里只要交换机支持三层功能就优先用SVI。SVI的优势不只是免去一台路由器还在于网关直接做在汇聚交换机上服务器群和客户端之间的流量不用绕行核心链路收敛更快。关于“汇聚和核心是同VLAN互联还是三层IP互联”这属于网络架构层面的取舍。简单说如果汇聚和核心之间走三层互联每个VLAN的网关放在汇聚层核心只负责路由转发这样广播域被限制在接入和汇聚之间逻辑清晰排错也方便。如果走二层互联网关统一放核心那么汇聚到核心之间的Trunk将成为所有VLAN广播流量汇聚点Trunk链路压力大、STP收敛复杂两者各有适用场景但网关下沉到汇聚是更常见的架构。你在模拟器里做实验时可以把SVI配在汇聚交换机上核心交换机跑OSPF或静态路由提前感受这种架构。6. VLAN实验翻车的排查定位清单配置类实验出现问题是常态我做VLAN实验踩过的坑随手就能列出一堆。关键是建立一套稳定的排查链路而不是东一榔头西一棒子。6.1 从物理层到IP层的五级排查我的排查习惯是从底层往上走每一步都验证完再进入下一步物理层看对应端口状态是不是up。Packet Tracer里端口变绿才说明链路通。端口灯一直是橙色多半是线缆类型选错或端口被shutdown。二层成员关系show vlan brief看端口是否在正确的VLAN里。端口没划进去或者划错了VLAN是ping不通的第一大原因。Trunk状态跨交换机通信时show interfaces trunk确认Trunk协商成功Native VLAN一致Allowed VLAN包含目标VLAN。IP地址与网关同一VLAN内通信检查PC的IP是否在同一网段不同VLAN通信检查PC配的网关是否指向正确的SVI或子接口地址。三层路由如果网关地址ping不通检查网关接口是否no shutdown路由器路由表里有没有目标网段的路由。按这个顺序排查多数问题在第二、第三步就能定位。6.2 高频错误速查表为了让你在实验里快速对号入座我把高频问题整理成了表格问题现象最可能原因排查命令同VLAN的PC ping不通Access口VLAN划错或没划show vlan brief跨交换机同VLAN不通Trunk口配置不对或Native VLAN不一致show interfaces trunk不同VLAN的PC互相ping不通没配网关或网关接口shutdownshow ip interface brief路由器子接口ping不通子接口没encapsulation dot1Qshow running-configPC能ping通网关却ping不通对端PC对端网关没配或路由缺失show ip route端口一直显示橙色用错线缆类型用了直通线连同类设备换线缆重连最后一行值得多说一句Packet Tracer里连接设备时路由器、交换机之间要用交叉线或自动选择PC和交换机之间用直通线。虽然新版模拟器会自动识别线缆但偶尔还会有人栽在选错线缆类型上。6.3 一个完整排错案例举个例子我让学生在实验中复现过这样一个故障SW1上PC0能ping通PC1都在VLAN 10但ping不通SW2上的PC2也在VLAN 10。排查过程如下第一步在SW1上show vlan brief看到VLAN 10端口正常排除本机二层问题。第二步在SW1上show interfaces trunk发现GigabitEthernet 0/1显示“not trunking”说明Trunk协商没有成功。进一步show running-config interface gigabitEthernet 0/1发现SW1该接口没有配switchport mode trunk只有switchport mode dynamic desirable。而SW2上对应接口被显式配置成了access链路协商不上。修正方法很简单两端都配成switchport mode trunk同时确保Native VLAN一致然后show interfaces trunk确认状态变为“trunking”。第三类更隐蔽的坑跟allowed vlan有关。某次我在SW1上只放行了VLAN 10忘记放行VLAN 20结果VLAN 20的跨交换机通信直接断开。show interfaces trunk显示active VLAN列表里只有10立刻就能发现问题。这类“配置了但漏了一行”的问题恰恰是真实网络维护里最常见的事故源头。6.4 养成两个省命的好习惯最后分享两个我自己的习惯。一是每做一个阶段配置立刻用show running-config或show vlan brief确认不要留到最后一口气验证否则根本记不清哪一步出错。二是配置交换机时顺手关闭不需要的接口interface range加shutdown模拟器里这样能减少广播报文干扰真实网络里则是基本的安全素养。VLAN这个知识点看起来只占CCNA的一小部分但它是所有企业网络设计的底座。把Access、Trunk、VLAN间通信和排错链路搞明白后续学STP、VTP、ACL会轻松很多。模拟器里多翻几次车真机上才能少踩坑。
返回列表