交换机工作原理与eNSP配置实战:VLAN/Trunk及5部门子网划分 📅 发布时间:2026/9/17 15:04:35 👁 浏览次数: 1. 交换机工作原理从MAC地址表到转发芯片交换机这东西机房里堆得最多但真要说清楚它每一帧数据是怎么被送出去的很多人还是答不上来。这篇东西我按自己的实操习惯捋一遍先把交换机工作原理讲透再落到eNSP里一台一台交换机配置跑通最后拿公司5个部门、划分5个子网这种真实需求做一遍完整验收。刚入行的、准备考证的、被eNSP启动失败折腾过的都能从里面找到能直接抄的部分。先说结论交换机本质上是一台会看地址的聪明分线器。它维护一张MAC地址表记录哪个MAC地址挂在哪个物理口后面收到一帧数据时查表决定从哪个口发出去而不是像早期的集线器那样无脑广播到所有口。整个转发逻辑就三件事学地址、查表、发出去。听起来简单但真正决定网络好不好用、卡不卡、崩不崩溃的细节全藏在这三件事的参数和边界条件里。1.1 为什么有了集线器还要交换机早年的集线器Hub工作在物理层它做的事情就是复制粘贴从1号口收到的电信号原封不动放大后甩给2、3、4……所有其他口。这意味着两个后果。第一所有设备共享同一个冲突域同一时刻只能有一台设备发数据谁先抢到介质谁说话抢不到的就撞上撞了就随机退避重发。设备一多碰撞概率指数级上升实际带宽被撞得七零八落。第二集线器不认识MAC地址一块网卡发的数据所有网卡都能收到靠网卡自己判断这是不是给我的安全性和效率都很差。交换机工作在数据链路层每个端口都是独立的冲突域。端口之间用内部的交换芯片做高速转发1号口和2号口之间的流量不会占用3号口的带宽。这就是为什么同样标称千兆一台千兆交换机的实际吞吐能力远高于一个千兆集线器。现在市面上还有一种傻瓜交换机也就是非网管型交换机插上就能用不能划VLAN、不能配IP、不能远程登录但它内部依然是靠MAC地址表转发的原理和网管交换机一模一样只是把配置界面砍掉了。理解这一点很重要因为你后面配的所有功能本质都是对这张MAC表和转发规则的干预。1.2 MAC地址表是怎么自学成才的交换机一开始上电时MAC地址表是空的。它的学习过程非常直白从某个端口收到一帧数据就读取这一帧的源MAC地址记下来这个MAC在这个口上并打上时间戳。注意它只学源MAC不看目的MAC是谁这就是所谓的源地址学习。举个例子PC1MAC为AAAA接在G0/0/1口PC2MAC为BBBB接在G0/0/2口。PC1给PC2发数据时交换机会做两步。第一步看帧的源MAC是AAAA端口是G0/0/1于是写入表项AAAA - G0/0/1。第二步看目的MAC是BBBB去表里查如果查到了就知道从G0/0/2送出去这叫单播转发。如果表里还没有BBBB这条记录交换机不会丢包而是把这帧从除了收到它的那个口之外的所有口发出去这叫泛洪。PC2收到后会回复回复帧的源MAC是BBBB于是交换机的表里又多了BBBB - G0/0/2这一条。整个网络的转发表就是这样靠通信流量慢慢喂出来的。这里有个容易被忽略的点交换机学习的是帧进入交换机的那个端口不是最终PC的端口。如果中间还串了一台交换机那上游交换机学到的就是这个MAC在下行交换机的互联口上这也是为什么拓扑一变MAC表就要重新收敛。刚插拔完网线的那几秒网络会卡顿就是因为表项指向了旧端口报文发错地方或者走了一圈才找到路。1.3 三种转发行为与MAC表老化交换机对一帧数据的处理最终只会落到三种行为之一这个分类必须记牢。第一种是单播转发目的MAC在表里查到了且不是收到该帧的端口就从对应端口精确发出。这是占绝大多数的正常情况。第二种是泛洪目的MAC查不到未知单播或者目的MAC是广播地址FFFF.FFFF.FFFF或者目的MAC是组播地址且没开启组播侦听就从除了入端口以外的所有端口发出去。泛洪本身不是故障是二层转发机制的一部分但泛洪量过大就会吃掉带宽和CPU这是网络里最常见的隐形杀手。第三种是丢弃如果查表发现目的MAC对应的端口正好就是收到这一帧的端口说明这帧本来就是从这个口进来的不需要再送回去直接丢掉。另外如果端口做了安全绑定、VLAN过滤不符合条件的帧也会被丢弃。表项不会永远留着。华为设备默认的老化时间是300秒也就是5分钟内如果某个MAC地址没有新的流量刷新它这条表项就被删掉。这么做是为了防止设备搬走、端口换线之后旧表项还指向错误的端口。在eNSP里做实验时如果你拔了线马上ping有时候ping不通或者刚开始几个包丢就是这个原因。想手动清空用reset mac-address或者干脆重启设备。1.4 从单台盒子到芯片转发性能到底取决于什么真正决定一台交换机性能的不是CPU而是交换芯片ASIC。CPU只负责跑协议、跑管理面、处理异常报文比如送到CPU的ARP、STP BPDU、Telnet管理流量真正的转发是芯片用硬件查表完成的这就是所谓的一次转发能力。一台24口千兆交换机标称的交换容量比如48Gbps、背板带宽336Gbps算的就是芯片能同时处理多少路线速转发。这就解释了一个常见的困惑为什么交换机的端口面板上标着千兆但两台PC之间传文件只有几百兆原因可能是链路协商到了半双工、网线质量差、芯片共享缓存溢出或者上行口是百兆的瓶颈。判断这类问题第一步永远是看接口的实际速率和双工状态而不是怀疑设备坏了。再往上走一层就是分布式交换机系统架构了。数据中心里单台盒子扛不住的时候会把几台物理交换机通过堆叠线缆或者专用堆叠口组成一个逻辑设备控制平面统一、转发平面并行。再大规模一点就是Spine-Leaf的架构每一台Leaf下挂服务器Leaf全连到Spine任意两台服务器之间最多跳三下。这类架构里交换机的转发原理没变还是MAC表、VLAN、路由变的是控制平面怎么同步、转发表怎么下发。理解了单台盒子的原理这些大架构才不会变成背名词。2. VLAN与Trunk把一台物理交换机切成多台2.1 不划VLAN会出什么事假设公司里所有PC、打印机、门禁、监控摄像头全接在同一台交换机上全在VLAN 1。会发生什么第一广播域巨大。任何一台设备发ARP请求全公司几百台机器都要收一遍并处理终端CPU被白白消耗网络里全是广播包。第二安全边界为零。财务的电脑和访客的笔记本在同一广播域扫一遍网段就能看到所有设备共享文件夹裸奔。第三管理混乱。想给不同部门做不同的访问策略没有可以下手的地方。VLAN虚拟局域网解决的就是这个问题在同一台物理交换机上用逻辑方式切出多个互相隔离的二层网络。每个VLAN就是一个独立广播域VLAN 10里的广播包不会跑到VLAN 20里去。跨VLAN通信必须经过三层设备也就是路由这样就有了天然的策略控制点。所以工程上常见的一句话是一个部门一个VLAN这不是形式主义是安全和性能的基础。顺带说一下一台交换机上能有多少个VLAN取决于芯片的VLAN表容量盒式设备动辄支持4K个VLAN12位VLAN ID理论4096个可用1到4094。真正跑业务的时候一般不会用满因为每多一个VLANSTP、MAC表、ARP表的规模都会涨。2.2 Access口和Trunk口的报文进出规则交换机端口对VLAN标签Tag的处理方式决定了它是Access口还是Trunk口这是配置里最容易配错的地方。Access口是给终端设备用的比如PC、打印机、摄像头。它的规则很简单收到没有标签的帧打上自己的PVID默认VLAN ID再进交换机发出帧时把标签剥掉再送出去。所以PC是不感知VLAN的它以为自己在一条普通网线上。Access口的PVID默认是1配了port default vlan 10之后就变成10。Trunk口是给交换机之间互联用的。它的规则是发出的帧如果VLAN ID在allow-pass列表里并且不是PVID就带标签发出如果是PVID剥掉标签发出。收到的帧如果带标签就检查这个VLAN是否在allow-pass列表里在就放行不在就丢弃如果没带标签就打上PVID再进交换机。这就是为什么配置Trunk时必须显式写port trunk allow-pass vlan 10 20 30因为华为设备的Trunk口默认只放通VLAN 1你不写业务VLAN的流量直接就被扔了。很多人第一次配Trunk都会踩这个坑两头都配了trunk但只写了port trunk allow-pass vlan 10结果VLAN 20的业务死活不通。所以我的习惯是配完Trunk后立刻display port vlan看一眼allow-pass列表确认所有业务VLAN都在。2.3 华为交换机VLAN配置的关键命令在eNSP里配VLAN命令就那么几条但要配对顺序。完整流程是这样Huawei system-view [Huawei] sysname SW1 [SW1] vlan batch 10 20 30 40 50 [SW1] interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1] port link-type access [SW1-GigabitEthernet0/0/1] port default vlan 10 [SW1-GigabitEthernet0/0/1] quit [SW1] interface GigabitEthernet0/0/24 [SW1-GigabitEthernet0/0/24] port link-type trunk [SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40 50vlan batch是关键它一次创建多个VLAN比一个个vlan 10再quit效率高得多。创建完VLAN之后华为交换机还会自动生成对应的VLANIF接口但这时候接口是down的只有在VLAN里有了up的成员端口VLANIF才会up。这个特性在网络排查时特别有用因为它能直观告诉你这个VLAN到底有没有活着的端口。如果是一批端口要做同样的配置可以用端口组来省事[SW1] port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/10 [SW1-port-group] port link-type access [SW1-port-group] port default vlan 10这样一次就把10个口配完了比一个个改快很多。但要注意端口组操作是把命令逐个下发到每个成员口上如果其中有口已经属于别的VLAN会被强行改过来操作前最好先display current-configuration interface确认一下端口现状。我个人习惯是做批量操作前先display vlan存个底出问题好回滚。3. eNSP环境搭建与启动失败排查3.1 安装顺序和依赖组件eNSP本身只是个图形界面的壳它依赖两个外部组件VirtualBox提供虚拟化运行环境Wireshark负责抓包。这三个东西的安装顺序不能乱我推荐先装VirtualBox再装Wireshark最后装eNSP。如果eNSP先装它检测不到VirtualBox就会报各种奇怪的错重装一遍又费时间。版本匹配是另一个大坑。eNSP对VirtualBox的版本相当挑装太新的VirtualBox反而可能起不来设备。比较稳的做法是装eNSP安装包自带的或者官方推荐的VirtualBox版本别自己去下最新版。装完之后先别急着开拓扑先打开eNSP随便拖一台设备出来右键启动看能不能起来。这一步过了后面的实验才有意义。另外Windows上如果开启了Hyper-V相关的虚拟化功能会跟VirtualBox抢占底层的虚拟化资源。典型症状就是拓扑能画设备起不来或者起一半卡死报启动设备失败。判断方法是在启用或关闭Windows功能里看Hyper-V、虚拟机平台、Windows虚拟机监控程序平台这几项。做eNSP实验的时候通常需要把这些关掉重启电脑再试。要注意的是关掉这些可能会影响你其他依赖虚拟化的软件所以别在重要的生产电脑上折腾用一台专门的实验机最省心。3.2 AR1启动失败40这一类问题怎么破启动设备AR1失败40是eNSP里出现频率最高的报错之一我第一次遇到的时候折腾了整整一个下午。这个错误码背后一般是虚拟化环境没就绪按下面的顺序排查基本能覆盖九成情况。第一检查VirtualBox里有没有eNSP自动创建的虚拟机。正常情况下eNSP启动设备时会在VirtualBox里动态生成一个临时虚拟机。如果VirtualBox列表里空空如也说明eNSP根本没跟VirtualBox通信上这时候重装eNSP安装时右键以管理员身份运行让它能正常注册组件。第二检查VirtualBox的虚拟网卡。打开Windows的网络连接应该能看到VirtualBox Host-Only Network这类虚拟网卡。如果被禁用了右键启用。如果干脆没有在VirtualBox的全局设定-网络里手动添加一张仅主机网络。第三检查杀毒软件和防火墙。有些安全软件会把VirtualBox的进程当成可疑行为拦截导致虚拟机起不来。临时关掉试一次能起来就把它加入白名单。第四检查路径里有没有中文或空格。eNSP和VirtualBox的安装路径、以及eNSP的工作目录最好全用英文路径里带中文在某些版本下会导致设备镜像加载失败。第五实在不行就清理重装。先卸载eNSP和VirtualBox手动删掉用户目录下的eNSP配置文件夹和VirtualBox的虚拟机目录残留重启电脑再按3.1的顺序装一遍。这一步看着粗暴但实际上是最省时间的方案。3.3 上手前先养成的几个操作习惯eNSP用久了会形成一个共识它只是个模拟器行为跟真机有差异但基础的二层转发、VLAN、静态路由、OSPF这些是可靠的。所以在这个环境里练命令、练排错思路完全没问题但不要拿它去验证性能数据。第一个习惯是随手保存。eNSP的拓扑文件要单独保存设备里面的配置也要在设备命令行里save。这是两个不同的东西拓扑文件丢了设备配置就没了设备配置没save关掉设备再开就恢复出厂。每次配完一段我的习惯是save一下或者用Huawei save加确认。第二个习惯是善用清屏。命令行敲久了满屏都是历史输出screen-length 0 temporary可以临时关闭分屏显示让输出一次性刷完想彻底清空当前屏幕用reset相关的清屏操作或者直接敲几个回车把内容顶上去。华为设备上常用的还有screen-length disable效果类似。第三个习惯是学会看回显。交换机不会主动告诉你我配错了它只会给你回显Error: The VLAN does not exist.、Error: Unrecognized command found at ^ position.。前者一般是VLAN没创建就去配端口后者一般是命令敲错了。养成看到报错先看位置标记 ^的习惯排错速度能快一倍。第四个习惯是给拓扑做标注。eNSP画布上可以写文字框把IP规划、VLAN规划直接写在拓扑旁边。看起来是小细节但等你过两天回来改实验没有标注就得重新翻配置很痛苦。4. 华为交换机基础配置实操4.1 视图体系命令行的骨架华为VRP系统的命令行是分层的每一层对应不同的操作范围理解了这个体系看到任何命令都知道该在哪敲。最外层是用户视图提示符是Huawei只能执行查看类命令比如display version、display current-configuration。要配置就得system-view进入系统视图提示符变成[Huawei]。在系统视图里可以配全局性的东西比如sysname、VLAN创建、用户管理、SNMP。要配具体接口就interface GigabitEthernet0/0/1进入接口视图提示符变成[Huawei-GigabitEthernet0/0/1]。要配VTY登录就user-interface vty 0 4进入用户界面视图。退出用quit退到最外层用return或者快捷键CtrlZ。这个层级关系看起来啰嗦但好处是明确的在接口视图里敲的命令只影响这个接口不会误伤全局配置。改名用sysname这是最基础也是最有用的配置。别小看这件事一个拓扑里有七八台设备全是默认的Huawei排错的时候根本分不清自己在哪一台。我习惯是接入层叫SW-Access-x汇聚叫SW-Agg-x核心叫SW-Core。命令很简单Huawei system-view [Huawei] sysname SW-Core4.2 三层交换机做网关二层交换机只能在VLAN内部转发要让不同VLAN互通就必须有网关。方案有两种一是用路由器单臂路由一个物理口划子接口二是用三层交换机的VLANIF接口。现在企业网里几乎全用第二种因为三层交换机的转发是芯片硬件做的性能比路由器单臂路由高得多也不浪费物理口。VLANIF的思路是给每个VLAN创建一个虚拟的三层接口在这个接口上配IP地址这个地址就是该VLAN内所有终端的网关。比如VLAN 10的VLANIF配192.168.10.1/25那么VLAN 10里的PC网关就填192.168.10.1。三层交换机内部会根据VLANIF的地址生成直连路由VLAN 10的流量要去找VLAN 20的网段就查路由表从VLANIF 20送出去。配置模板[SW-Core] interface Vlanif 10 [SW-Core-Vlanif10] ip address 192.168.10.1 255.255.255.128 [SW-Core-Vlanif10] quit [SW-Core] interface Vlanif 20 [SW-Core-Vlanif20] ip address 192.168.10.129 255.255.255.192注意VLANIF接口的IP网段不要跟其他VLAN重叠也不要用同一个网段的地址去配两个VLANIF那样会直接报地址冲突。有个细节值得说三层交换机默认是开启路由功能的不需要额外的ip routing命令。但有些盒式设备比如S3700系列本身就是二层设备不支持VLANIF配IP你硬配也配不出来选型号的时候要注意。做eNSP实验的话拖S5700或者S3700都行但要做三层网关必须用S5700这类三层交换机。4.3 常用查看与诊断命令清单配置只是第一步会看状态才是本事。下面这些命令是我平时用得最多的按用途分一下。用途命令说明看接口物理状态display interface brief一眼看出哪个口up、哪个口down、速率多少看VLAN成员display vlan确认VLAN里有哪些端口是tagged还是untagged看端口VLAN配置display port vlan看PVID和allow-pass列表排Trunk问题必用看MAC表display mac-address确认终端MAC学在哪个口排查环路和漂移看ARP表display arp三层网关排错看有没有学到对端IP和MAC看IP接口display ip interface brief三级接口的地址和up/down状态看路由表display ip routing-table跨网段不通时第一眼看这里有没有直连路由看生成树display stp brief有环路时看谁被阻塞了根桥是谁看当前配置display current-configuration全部已生效配置排查漏配清接口计数reset counters interface清完再看错包数判断是不是线缆问题这些命令里display port vlan和display mac-address是排二层问题的黄金组合。前者告诉你VLAN配得对不对后者告诉你流量实际走在哪。有一次我遇到一个配了VLAN但还是不通的案例display interface brief看着全是up最后用display port vlan发现上行Trunk口只放通了VLAN 1业务VLAN根本没放行改了allow-pass列表立刻就好了。5. 远程登录Telnet与STelnet配置5.1 VTY与认证模式网络设备不会一直放在你手边远程登录是必备能力。华为交换机用VTY虚拟终端线路来承载远程登录会话user-interface vty 0 4表示允许5个并发会话0到4号线。这个数字不是随便写的它决定了同时能有多少人登录一般5个够用人多可以扩到0到14。VTY的认证模式有三种none不认证谁都能进绝对不要用、password只验证密码不区分用户、aaa用户名加密码可以分配不同权限。生产环境一律用aaa。配置完认证模式还要决定这个VTY允许哪种协议进来也就是protocol inbound参数可选telnet、ssh或者all。权限级别也很关键。华为的权限分0到15级0是参观级1是监控级能看不能改2是配置级能改业务配置3到15是管理级能改系统配置。远程登录用户一般给3级或15级具体看职责。给15级就是最高权限能删配置能重启一定要控制账号数量。5.2 STelnet服务端配置完整流程Telnet的致命问题是明文传输账号密码在链路上裸奔抓包工具一抓一个准。所以现在标准做法是用STelnet也就是SSH会话全程加密。华为设备上配置STelnet服务端的完整流程如下。第一步生成密钥对这是SSH加密的基础[SW1] rsa local-key-pair create The key name will be: SW1_Host The range of public key size is (512 ~ 2048). Input the bits in the modulus[default 2048]: 2048生成过程可能要等几十秒2048位密钥比默认的1024位更安全代价是生成慢一点、运算开销高一点但对交换机这种设备完全无感。第二步开启STelnet服务[SW1] stelnet server enable第三步在AAA里创建本地用户[SW1] aaa [SW1-aaa] local-user netadmin password irreversible-cipher Net2026 [SW1-aaa] local-user netadmin privilege level 15 [SW1-aaa] local-user netadmin service-type ssh [SW1-aaa] quitirreversible-cipher表示密码以不可逆加密形式保存display current-configuration里看到的是密文比老式的cipher更安全。第四步配置VTY[SW1] user-interface vty 0 4 [SW1-ui-vty0-4] authentication-mode aaa [SW1-ui-vty0-4] protocol inbound ssh [SW1-ui-vty0-4] idle-timeout 10 0 [SW1-ui-vty0-4] quitidle-timeout 10 0是10分钟无操作自动断开防止挂着的会话被人接手。第五步声明用户的认证方式[SW1] ssh user netadmin authentication-type password这一步在某些版本上不加也能登录但加上更稳妥。配置完之后从另一台设备eNSP里拖一台PC或者另一台交换机执行stelnet 192.168.1.1输入用户名密码就能登录。第一次连接会提示是否保存公钥指纹选yes即可。提示做STelnet实验时管理地址所在的VLAN必须已经up也就是VLAN里有活着端口否则VLANIF的IP是down的连不上。5.3 密码策略与本地登录改造企业网里有安全审计要求密码不能常年不变、不能随便设个123456、不能几个人共用一个账号。华为在AAA下提供了密码策略[SW1] aaa [SW1-aaa] local-aaa-user password policy administrator [SW1-aaa-luser-manage-admin] password expire 90 [SW1-aaa-luser-manage-admin] password history 5 [SW1-aaa-luser-manage-admin] password min-length 10password expire 90表示管理级用户密码90天过期过期后登录会强制改密码password history 5表示新密码不能跟最近5次用过的重复password min-length 10限制了长度最小值。这几条组合起来实际上就是把常见的弱密码问题堵住了。改造本地登录Console口的思路是一样的user-interface console 0进去把认证模式改成aaa然后同样用本地用户登录。这样不管是本地插线还是远程登录都走同一套账号体系审计的时候一目了然。顺带说一句Console口的认证模式改造前一定要确认账号能用我曾经改完模式就把自己锁在设备外面最后只能重启设备清配置那个教训挺深刻。不同厂商的命令风格差异挺大。华为、H3C的思路接近都是system-view加端口视图那一套锐捷、思科的风格是switchport mode access这种动词开头的写法端口默认属于VLAN 1的表述也不一样。至于ACL配置华为在系统视图下acl number 3000加规则然后在接口上用traffic-filter inbound acl 3000引用其他厂商也在做同样的事只是命令词不同。搞懂一个厂商的体系换厂商的时候主要看两三个小时的命令差异逻辑是通的。6. 综合实验5部门5子网划分与落地6.1 地址规划与VLSM计算过程需求是这样的公司有5个部门A部门100台主机B部门50台C部门20台D部门20台E部门20台要求划分5个子网各部门之间二层隔离、三层可控互通。直接用一个C段192.168.10.0/24是不够的因为按常规的等长划分/27每个子网只有30个可用地址A部门100台塞不进去。这时候就要用VLSM可变长子网掩码按需求大小分配不同长度的掩码。计算规则很简单可用主机数 2^主机位数 - 2减去网络地址和广播地址必须大于等于实际主机数。A部门100台2^7 - 2 126 ≥ 100主机位需要7位掩码长度 32 - 7 25也就是/25掩码255.255.255.128块大小128。B部门50台2^6 - 2 62 ≥ 50主机位6位/26掩码255.255.255.192块大小64。C、D部门各20台2^5 - 2 30 ≥ 20主机位5位/27掩码255.255.255.224块大小32。分配方案部门网段掩码网关可用地址范围广播地址A192.168.10.0/25255.255.255.128192.168.10.1.1 - .126.127B192.168.10.128/26255.255.255.192192.168.10.129.129 - .190.191C192.168.10.192/27255.255.255.224192.168.10.193.193 - .222.223D192.168.10.224/27255.255.255.224192.168.10.225.225 - .254.255E192.168.20.0/27255.255.255.224192.168.20.1.1 - .30.31A、B、C、D正好把192.168.10.0/24用完E另开一个网段。为什么不硬塞进192.168.10.0/24因为256个地址里A占128、B占64、C占32、D占32加起来正好256没有空间再放E了。这种整段刚好用满的情况在规划里很常见能一眼看出地址有没有浪费。注意网关地址统一取每个网段的第一个可用地址网络地址加1这是行业惯例也是为了方便记忆和批量配置。千万别用网络地址或者广播地址当网关那是配不通的。6.2 配置落地步骤拓扑设计一台三层核心交换机SW-Core一台二层接入交换机SW-Access。接入交换机24口上行Trunk到核心的G0/0/1口下行口分别接各部门PCG0/0/1到G0/0/3接A部门G0/0/4到G0/0/5接B、C部门以此类推。先配接入交换机把VLAN和端口规划做好Huawei system-view [Huawei] sysname SW-Access [SW-Access] vlan batch 10 20 30 40 50 [SW-Access] port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/6 [SW-Access-port-group] port link-type access [SW-Access-port-group] port default vlan 10 [SW-Access-port-group] quit [SW-Access] interface GigabitEthernet0/0/7 [SW-Access-GigabitEthernet0/0/7] port link-type access [SW-Access-GigabitEthernet0/0/7] port default vlan 20 [SW-Access-GigabitEthernet0/0/7] quit篇幅原因这里只示意两个部门和上行口实际操作时按同样模式把VLAN 30、40配置到对应端口。上行Trunk口配置[SW-Access] interface GigabitEthernet0/0/24 [SW-Access-GigabitEthernet0/0/24] port link-type trunk [SW-Access-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40 50再配核心交换机上行口和VLANIFHuawei system-view [Huawei] sysname SW-Core [SW-Core] vlan batch 10 20 30 40 50 [SW-Core] interface GigabitEthernet0/0/1 [SW-Core-GigabitEthernet0/0/1] port link-type trunk [SW-Core-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20 30 40 50 [SW-Core-GigabitEthernet0/0/1] quit [SW-Core] interface Vlanif 10 [SW-Core-Vlanif10] ip address 192.168.10.1 255.255.255.128 [SW-Core-Vlanif10] quit [SW-Core] interface Vlanif 20 [SW-Core-Vlanif20] ip address 192.168.10.129 255.255.255.192 [SW-Core-Vlanif20] quit其他VLANIF照着表格里的网关地址配掩码按表格里的25、26、27位对应填写。全部配完后save保存。PC侧在eNSP里双击PC图标基础配置里填IP地址、子网掩码、网关。A部门的PC填192.168.10.2/255.255.255.128网关192.168.10.1B部门填192.168.10.130/255.255.255.192网关192.168.10.129。注意掩码千万别填错掩码填成/24的话PC会认为B部门同网段直接发ARP而不过网关结果就是不通。6.3 验收测试与现象对照配完之后按这几个步骤验收顺序不要乱。第一步看接口状态。display interface brief所有连接PC的口应该是upTrunk口也是up速率1000M全双工。如果有口是down先检查eNSP里连线对不对、PC有没有启动。第二步同VLAN内互通。A部门两台PC互ping应该通。如果不通先看display vlan确认端口在VLAN 10里再看PC的掩码对不对。第三步看MAC表。display mac-address应该能看到两台PC的MAC都学在正确的端口上。如果一台PC的MAC学在了上行Trunk口上说明这台PC的流量被泛洪上去了可能是VLAN配置有问题。第四步跨VLAN互通。A部门PC ping B部门的PC应该通因为三层交换机做了VLANIF网关和直连路由。如果不通先在核心上display arp看有没有学到B部门PC的ARP再看display ip routing-table有没有两条直连路由。第五步抓包验证。在eNSP里右键Trunk链路选Wireshark抓包然后让A部门PC ping B部门PC。抓包结果里应该能看到带VLAN标签的帧VLAN ID会随着流量在不同VLAN间切换而变。这一步做完你对VLAN标签的理解会从背下来的概念变成亲眼见过的东西。第六步远程登录验证。在核心上配好STelnet从一台PC上用telnet 192.168.10.1或者SSH客户端连接确认能登录并执行display version。这一步验证的是管理面的可达性实际运维里这条链路比业务链路还重要。7. 常见故障排查速查与实操心得7.1 不通问题的分层排查思路网络不通是运维里最高频的报警但绝大多数人第一反应是重启试试。我自己的排查顺序固定是先看物理、再看二层、再看三层、最后看策略每一层都有对应的命令不跳步。物理层display interface brief看端口是不是up、有没有CRC错包、速率双工对不对。如果端口down检查线缆、光模块、对端设备是否启动。错包持续增长一般是线缆质量或者接触不良。二层display port vlan看VLAN和Trunk allow-passdisplay mac-address看终端MAC学在哪display vlan看VLAN里有没有端口。二层最常见的三类问题是VLAN没放通、Access口PVID配错、MAC漂移到错误的端口。三层display ip interface brief看VLANIF是不是updisplay arp看有没有学到对端display ip routing-table看有没有路由。跨网段不通但同网段通八成是网关或路由的问题。策略检查有没有ACL把流量挡住了。华为的ACL是基于接口方向生效的traffic-filter inbound和outbound是两个方向配反了就会出现看起来该通但就是不通的诡异现象。查ACL用display acl all和display traffic-filter applied-record。7.2 eNSP专属坑位清单模拟器有自己的脾气下面这几条是我踩过之后总结的。第一设备启动到一半卡住。通常是宿主机内存不够eNSP里每台设备都要占几百兆内存同时开十几台设备很容易爆。关掉一些设备再试或者给设备列表里没用的机器删除。第二ping不通但配置全对。先别改配置把两端PC重新启动一次或者reset arp清一下ARP表。eNSP的ARP缓存有时候会残留错误表项导致明明通的路由 ping不通。第三抓包抓不到。在eNSP里右键链路选Wireshark抓包如果Wireshark弹出来但是空的检查Wireshark版本是否跟eNSP匹配有些新版本Wireshark跟eNSP的接口对接不上换回安装包里带的版本就好了。第四保存后配置丢了。eNSP里设备关机再开机没save的配置就没了。养成习惯配完一段就Huawei save确认提示Save the configuration successfully。第五拓扑打开后设备位置错乱。这是eNSP的显示问题不影响功能重新拖动一下就好但建议把拓扑文件另存一份备份免得重新连线。7.3 常用命令速查表现象优先排查命令常见原因同VLAN两台PC不通display vlan、display port vlanPVID配错、Trunk未放通跨VLAN不通display ip interface brief、display arpVLANIF未up、PC网关或掩码填错网络时通时断display interface brief、display stp brief环路导致MAC漂移、线缆不稳远程登录不上display telnet server status、display current-configuration未开服务、AAA用户没配、协议未放行CPU占用高display cpu-usage、display logbuffer广播风暴、环路、异常报文上送CPU交换机日志报adj resolve requestdisplay arp、display ip routing-table三层转发找不到下一跳的ARP表项7.4 一些纸上不会写的实操心得关于备份我现在的习惯是哪怕只改了一行配置也要save加一句display saved-configuration对比一下。因为eNSP会崩真机也会重启配置没保存的话重来一次就是半个小时。关于监控交换机跑起来之后不看着是不行的。小规模可以用SNMP配合Prometheus做采集把交换机的接口流量、端口up/down状态、CPU和内存使用率抓出来再找个看板工具画成图表比每天手动登录敲display interface brief高效得多。这套东西搭起来不复杂但能把用户报障之后才发现端口down了变成端口一down就收到提醒。关于扩展这个实验拓扑还可以往上加加一台路由器做出口跑OSPF让不同网段动态学习加ACL限制访客VLAN只能访问互联网不能访问内网加链路聚合把两条线的带宽合并同时提供冗余加端口安全绑定MAC地址防止私接设备。每一个都是独立的知识点但都建立在本文这套二层转发和VLAN的基础之上。最后分享一个我至今还在用的检查习惯任何配置做完之后不要只测该通的通不通还要测不该通的是不是真的不通。比如访客VLAN不该访问财务VLAN那就实际ping一次确认被挡。正向测试验证功能反向测试验证安全两者都做了这套配置才算真正交付。