ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

eNSP实战:华为交换机VLAN划分与Trunk配置详解

eNSP实战:华为交换机VLAN划分与Trunk配置详解 在真实网络工程项目里VLAN是出现频率最高的基础需求之一。部门隔离、访客网络、语音与数据分流翻来覆去都是VLAN的事。而我接触过的很多同行第一次把VLAN配置彻底搞懂靠的都不是真机而是华为的eNSP模拟器。eNSP对交换机VLAN划分的模拟相当到位从Access口、Trunk口到PVID处理和真实设备上的行为几乎一致拿来练手、验证方案完全够用。这篇内容会把eNSP交换机VLAN配置的完整链路拆开讲清楚——环境怎么搭、原理怎么理解、命令怎么敲、验证怎么做、坑怎么避开照着操作就能跑通一个标准的两层交换机VLAN实验。1. 先把eNSP环境理顺版本匹配和拓扑创建决定后续体验1.1 eNSP与VirtualBox的组合陷阱很多人装完eNSP之后第一件事就是新建拓扑拖设备结果一点启动设备图标红一阵然后直接变灰或者弹一个“启动设备失败”。这里面多半是eNSP自带的VirtualBox组件出问题了。eNSP模拟器依赖VirtualBox来运行AR系列路由器和部分交换机镜像如果电脑上已经装了较新版本的VirtualBox或者安装路径里有中文、空格设备启动失败的概率会明显上升。我自己遇到最多的情况是用着用着突然某天启动设备就报错了排查下来是VirtualBox的网卡残留配置导致eNSP创建虚拟网卡失败。按我试过的稳定配置来说eNSP支持比较好的VirtualBox版本集中在5.2.x部分版本对6.x的兼容性也能接受但没必要冒险追求新版。安装时建议把eNSP和VirtualBox都装到默认路径避免管理员权限不足或路径解析问题。如果设备启动老是失败先处理VirtualBox打开VirtualBox看能不能正常启动虚拟机不能就重装对应版本的VirtualBox能启动但eNSP里起不来多半是网卡配置被占用了到VirtualBox全局设定里把eNSP生成的虚拟网卡全部删掉再回到eNSP重新启动设备。提示安装完eNSP后第一次启动设备如果卡在启动界面很久没反应可以把电脑上运行的杀毒软件暂时关掉或者把eNSP加入白名单。虚拟网卡驱动被拦截也是设备启动失败的高频原因。1.2 用两台交换机和四台PC搭出标准VLAN实验拓扑在eNSP里新建拓扑后左侧设备栏里有交换机、路由器、PC、服务器等分类。做VLAN实验交换机推荐选S5700系列用S3700也能做但S5700在后续扩展VLANIF、三层功能时更能顶得住。别一上来就拖两台路由器当交换机用虽然路由器也能配子接口但那属于单臂路由的玩法场景不一样。标准实验拓扑长这样两台交换机SW1和SW2四台PC分别是PC1到PC4。SW1的GE0/0/1接PC1GE0/0/2接PC2SW2的GE0/0/1接PC3GE0/0/2接PC4SW1和SW2之间用GE0/0/24互联这条链路就是后面要配Trunk的口。设备拖出来后用连接线图标在设备端口间拉线拉线时注意eNSP会自动识别接口类型PC接交换机选的就是普通以太网线交换机互联也是以太网线。线连好后端口默认是红色状态设备全部启动后才会变绿但光变绿不代表端口能通还得看有没有协议协商成功这在后文验证部分细说。2. VLAN的隔离逻辑和端口角色配置前必须想清楚的三个底层问题2.1 广播域分割VLAN为什么能“隔离”交换机组网后默认情况下所有端口都在同一个广播域里。一台终端发广播广播帧会被交换机从所有端口泛洪出去网络里的设备越多广播流量就越泛滥甚至可能形成广播风暴。VLAN做的事情简单但关键把一个物理交换机拆分成多个逻辑上的“虚拟交换机”不同VLAN使用不同的VLAN ID来标识广播帧只在同一个VLAN内传播。用生活场景类比就是一栋办公楼里所有房间完全不隔断一楼说句话整个楼都听见VLAN就是在楼里砌墙砌出来的每个房间自成空间说话只在房间内部传。VLAN ID的范围是1到4094其中1是交换机默认的VLAN所有端口初始都归属于VLAN 1。我们新建VLAN时常见习惯是直接用部门编号或用途编号作为VLAN ID方便后期维护。2.2 Access、Trunk、Hybrid三种端口类型的选型边界华为交换机上端口有三种链路类型选错类型是配置后ping不通的重灾区。Access口一般用来连接终端设备也就是PC、打印机、服务器的接入端口。Access口只能属于一个VLAN它发出的数据帧不带VLAN标签接收到的带标签帧如果和端口的VLAN不一致会被丢弃。Trunk口是交换机之间的干道链路专用它允许多个VLAN共享一条链路传输所有在Trunk上传输的帧都会打上VLAN标签交换机根据标签判断这个帧属于哪个VLAN。Hybrid口是华为相对灵活的一种类型既能接终端也能接交换机可以在出方向指定哪些VLAN带标签、哪些VLAN不带标签日常用得不多但熟练之后在特殊场景下很顺手。端口类型典型连接对象允许VLAN数发出的帧是否带标签适合场景Access终端设备1个不带接PC、打印机等Trunk交换机/路由器多个允许列表内都带交换机间透传Hybrid终端/交换机均可多个可指定携带或去除特殊业务隔离、部分场景下代替Trunk实验中就一句话PC接交换机的口配Access交换机之间互联的口配Trunk。2.3 PVID与Tag/Untag决定数据帧去哪儿的隐藏规则PVIDPort VLAN ID是端口的默认VLAN编号交换机每个端口都有一个PVID默认是VLAN 1。这个概念表面上不起眼实际影响着帧进出的每一步。当接入交换机的Access口收到一个不带标签的数据帧时交换机会把该端口的PVID当作这个帧的VLAN归属帧被划入PVID对应的VLAN。而Trunk口收到不带标签的帧时也一样来自PC的绝大部分帧都是不带标签的所以Trunk口的PVID必须谨慎设置默认情况下Trunk的PVID是1如果Trunk两侧端口的PVID不一致就会导致“本征VLAN”混乱帧被错误归类。Trunk上传输的带标签帧则依靠帧内的802.1Q VLAN标签来判断归属PVID只有在帧没有标签的时候才发挥作用。很多新手在验证时会出现一种奇怪现象两台PC明明按规划不在同一个VLAN互ping却通了或者反过来配置对了但ping不通。排查到最后一查端口配置十有八九是PVID或者Trunk允许通过列表的问题。3. 交换机VLAN配置实操从创建VLAN到放行Trunk的命令全拆解3.1 实验拓扑与IP规划这次实验规划两个VLANVLAN 10模拟一个业务部门VLAN 20模拟另一个业务部门。PC的IP规划如下设备所属VLANIP地址子网掩码网关PC1VLAN 10192.168.10.1255.255.255.0无PC2VLAN 20192.168.20.1255.255.255.0无PC3VLAN 10192.168.10.2255.255.255.0无PC4VLAN 20192.168.20.2255.255.255.0无这里注意一点同一VLAN内的PC虽然不需要配置网关也能互通因为二层广播就可以发现对方但不同VLAN间的通信必须依赖三层设备实验中暂时不给PC配网关先把二层的隔离与互通验证清楚。在eNSP中配置PC的IP很简单双击PC图标进配置窗口在IPv4配置里填上IP和掩码就行填完一定要点“应用”不然配置不会写入。3.2 在交换机上创建VLAN命令行中的三种写法双击SW1打开命令行窗口所有配置从这里开始。首先进入系统视图Huaweisystem-view [Huawei]sysname SW1sysname是把设备名称改成SW1方便多台设备操作时区分。接下来创建VLAN。创建VLAN有三类写法适合不同场景。单条创建[SW1]vlan 10 [SW1-vlan10]quit批量创建不连续VLAN时用多个vlan命令挨个建也行但效率太低。批量创建连续或离散VLAN有更快的写法比如创建VLAN 10和VLAN 20[SW1]vlan batch 10 20这条命令会把VLAN 10和VLAN 20一次建好是平时最常用的。如果还要建VLAN 100到200这种连续区间可以写vlan batch 100 to 200。批量创建完直接退出vlan视图不需要逐条quit。创建VLAN的底层意义不只是生成一个编号它同时会创建对应的VLAN接口和转发表项只是在纯二层模式下暂时用不到VLANIF接口而已VLAN创建好之后端口才能被划入这个VLAN。3.3 配置Access端口把终端“装进”对应VLANVLAN创建完之后要把交换机连接PC的端口划进对应VLAN。SW1上GE0/0/1接PC1划入VLAN 10[SW1]interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1]port link-type access [SW1-GigabitEthernet0/0/1]port default vlan 10 [SW1-GigabitEthernet0/0/1]quit这里两条核心命令分别完成两件事port link-type access先把端口类型设成Accessport default vlan 10把端口的PVID设为10同时这个端口也就会归属于VLAN 10。注意顺序不能反过来如果先设default vlan再改链路类型有些版本会有提示或者需要重新确认。GE0/0/2接PC2划入VLAN 20[SW1]interface GigabitEthernet 0/0/2 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 20 [SW1-GigabitEthernet0/0/2]quitSW2上做同样的操作只是对接的PC不同GE0/0/1接PC3划入VLAN 10GE0/0/2接PC4划入VLAN 20。具体命令格式一样把端口号和default vlan的编号对应改过来即可。提示在eNSP命令行里输入命令时可以用Tab键自动补全比如输入int gi再按Tab一般会补成interface GigabitEthernet输入port link-ty再Tab补成port link-type。补全功能能有效减少拼写错误。3.4 配置Trunk端口让VLAN跨越两台交换机SW1和SW2之间的GE0/0/24链路是这次实验的骨干必须配成Trunk口并放行VLAN 10和VLAN 20。如果只配Access口默认只能放行一个VLAN另一边的PC根本通信不上。SW1上配置[SW1]interface GigabitEthernet 0/0/24 [SW1-GigabitEthernet0/0/24]port link-type trunk [SW1-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20 [SW1-GigabitEthernet0/0/24]quitSW2上配置一样[SW2]interface GigabitEthernet 0/0/24 [SW2-GigabitEthernet0/0/24]port link-type trunk [SW2-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20 [SW2-GigabitEthernet0/0/24]quit很多教程里还会加一条port trunk pvid vlan 1或者别的PVID修改命令如果链路两端都是交换机默认PVID都是1两侧一致只要不涉及VLAN 1的跨交换机通信保持默认就好。但有个细节要注意Trunk口默认允许通过的VLAN列表中只包含VLAN 1所以必须执行allow-pass命令把VLAN 10和20加进去否则两台交换机上VLAN 10和VLAN 20的帧根本不会从这个端口出去表现为PC1能ping通PC3PC2也能通PC4但如果漏配allow-pass就会变成同VLAN跨交换机也不通。这里可以把Trunk理解成一条运送多个包裹的传送带allow-pass就是决定哪些编号的包裹被放上传送带的闸机闸机没打开包裹再多也过不去。3.5 通过display命令确认配置结果配置完成不等于配置正确验证配置是必须的环节。最常用的三条查看命令用display vlan查看交换机上VLAN的创建情况和端口分配[SW1]display vlan输出结果会显示VLAN ID、名称、状态以及每个VLAN下绑定的端口列表。如果VLAN 10的状态是down并不代表配置有问题端口没接设备或者对端设备没启动时VLAN接口状态就是down。用display port vlan查看每个端口的详细情形[SW1]display port vlan这条命令会列出端口号、链路类型、PVID以及允许通过的VLAN列表Access口只显示一个default vlanTrunk口显示的是allow-pass列表检查Trunk的allow列表是否包含10和20才是最直接的排查入口。查看某个接口的完整配置可以进入接口视图后执行display this[SW1-GigabitEthernet0/0/24]display this返回结果中会显示当前接口的所有生效配置包括链路类型、PVID和allow-pass列表。4. 配置后的验证实验连通性测试和抓包看VLAN标签4.1 同VLAN内终端互通的ping验证PC配置好IP交换机配置好端口类型和Trunk之后所有设备先全部启动完毕等端口都稳定变绿然后开始验证。PC1的IP是192.168.10.1它和PC3在同一个VLAN 10里只是分别挂在SW1和SW2上中间隔了一条Trunk链路。双击PC1打开命令行执行PCping 192.168.10.2如果配置全部正确返回结果应该是类似Reply from 192.168.10.2: bytes32 time1ms TTL128的连续通连。这一条测试同时验证了Access口的VLAN划分、Trunk链路的allow-pass放行、PVID默认配置的一致性可以说是一举多得的验证点。4.2 不同VLAN间通信的隔离验证再验证VLAN的隔离效果。PC1的VLAN是10PC2的VLAN是20两者在二层完全隔离。PC1上ping PC2的地址192.168.20.1PCping 192.168.20.1正常情况下会返回Request timed out表示不可达。这个“不可达”正是VLAN隔离的预期结果说明广播域被正确分割两个VLAN在二层没有交集。如果这一条变成了通连反而是致命的配置错误——那就必须检查是不是有人把端口或者PVID配错了。到这里两层交换机的VLAN配置和验证流程已经全部跑通同一VLAN跨交换机可通不同VLAN二层隔离。4.3 用Wireshark抓包观察Trunk链路上的VLAN标签连通性测试只是从结果层面验证了配置如果想看得更细一点可以在eNSP里直接对Trunk链路抓包。在eNSP的拓扑界面中把鼠标移到SW1和SW2之间的连线上右键选择“开始抓包”eNSP会自动调用Wireshark抓取该链路上的数据包。抓包之后回到PC1再ping一次PC3切到Wireshark窗口在过滤栏输入或者直接观察ARP请求和ICMP报文会发现这些帧里面带了802.1Q Virtual LAN字段里面包含了VLAN ID的值VLAN 10的帧显示ID为10VLAN 20的帧显示ID为20。这就是Trunk链路和Access链路的本质区别在Access线上抓包是看不到VLAN标签的Trunk链路上的帧必须携带标签交换机才能正确判断帧属于哪个VLAN。这个细节对后续抓包排障特别有用。比如在复杂网络中怀疑某个帧被错误打标时直接看标签值就能定位问题省得在多个交换机之间反复折腾。5. 绕不开的坑设备启动失败、接口红色与ping不通的排查思路5.1 AR1启动失败40的根源与处理方案eNSP里最让人头疼的一个问题就是设备启动突然失败特别是AR系列报错“启动设备AR1失败40”。这个问题出现的频率极高而且往往在VLAN实验做得正投入的时候突然冒出来。这个错误和交换机的VLAN配置本身没关系根源出在eNSP依赖的VirtualBox虚拟化环境上。触发原因通常有几类一是VirtualBox的版本和eNSP不匹配尤其是之前手动更新过VirtualBox二是上一次eNSP异常退出导致虚拟机的后台进程还挂在系统里三是VBox的虚拟网卡配置被改动过。处理办法按顺序来先把eNSP彻底退出同时到任务管理器里把与VirtualBox相关的进程全部结束包括VBoxSVC、VBoxHeadless这些带有VBox前缀的进程。然后打开VirtualBox主程序把列表里eNSP创建的虚拟机全部删除注意不是只关闭是彻底删除。删除后重新打开eNSP再启动设备大部分情况下能恢复。如果还不行就考虑卸载当前VirtualBox改装eNSP配套版本后再试。提示每次做完重要实验要关闭eNSP时建议先手动把所有设备关闭再退出eNSP最后确认任务管理器里没有VBox进程残留。这样能最大程度避免第二次使用时启动失败。5.2 接口红色、链路一直不up怎么办eNSP里端口颜色是最直观的状态指示器。线连好但端口一直是红色或者设备启动后端口是红绿闪烁都说明链路层有问题。排查有一个固定顺序先确认对端设备确实启动完成很多情况下两台设备开机速度不同步先启动的设备端口没协商上此时右键点击设备选择“启动”等两台都到稳定状态再看端口颜色如果端口还是红色检查连线是否拉错了端口比如PC1应该接SW1的GE0/0/1结果接到了GE0/0/2配置自然会错位再不行就观察右侧接口类型确认是不是以太网线。还有一种情况特别隐蔽两台交换机之间原来用的是普通以太网线但你拖了一根交叉线出来eNSP里对两种线都支持部分场景下可能端口协商不上。把线删了重新用普通线连接往往能解决。如果所有办法都无效最干脆的解决方式就是重启整个拓扑依次关闭所有设备再重新启动。5.3 配置看起来没问题但ping不通按这个顺序查ping不通是VLAN实验里最容易让人抓狂的环节。其实只要按层次排查几分钟内就能定位。先查“物理层”两端PC是否能正常启动接口颜色是否稳定绿色这是基础。再查“VLAN层”登录两台交换机分别执行display vlan检查对应端口是否都出现在正确的VLAN列表里。这里有个常见错误VLAN 10的Access口配成了默认VLAN 10但VLAN 20的Access口也误配成了VLAN 10两台PC自然无法通过二层沟通。然后查“Trunk层”执行display port vlan看两台交换机互联的GE0/0/24口链路类型是否是Trunkallow-pass列表是否同时包含10和20两端一一对得上。最后查“IP层”检查PC1和PC3的IP、掩码是否在同一个网段子网掩码是不是255.255.255.0。我曾经遇到过一个人在做实验时给PC3的IP填成了192.168.1.2掩码还是255.255.255.0结果怎么ping都不通最后看IP才发现网段压根对不上。这三层检查顺序不能乱每层检查完都能排除一类问题。把上述全部排查完90%的eNSP VLAN实验问题都能定位到具体原因。eNSP的VLAN配置这条路走通之后后面再学单臂路由、VLANIF三层互联、以及真机上的类似配置都能很快上手。我在实际项目里配置华为交换机时很多初期的排查思路就是当年在eNSP里反复练出来的。最后分享一个能少走不少弯路的小经验VLAN配置过程中每配完一个端口就顺手执行一次display this确认结果不要攒了一堆配置之后才集中验证。养成这个习惯之后你在eNSP和真机上的排错速度都会明显上一个台阶。
返回列表