十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

华为S5700交换机VLAN配置实战:Access、Trunk、Hybrid与排错指南

华为S5700交换机VLAN配置实战:Access、Trunk、Hybrid与排错指南 简介面向网络运维与组网学习者的华为 S5700 交换机 VLAN 配置手册内容以真实园区组网为例讲解从 Console 登录、管理 IP 与 Web 用户配置到 Access 端口划分 VLAN、三层交换机静态路由及路由器 NAT 的完整过程适合正在做交换机调试或小型办公网规划的技术人员参考。资源为一个 PDF 文件整体约 1.43MB文件小巧便于移动端和电脑端随时查阅内容按拓扑说明、配置步骤、命令解释和注意事项展开结构清晰。当前已有 695 人学习下载实用性和关注度得到一定验证。读者可从中掌握 s5700 默认 VLAN1、vlanif1 连接路由器网段等关键设计思路并获得可直接套用的配置命令与排错方向对理解三层交换、VLAN 间路由和出口 NAT 的配合使用有直接帮助。1. 华为S5700交换机的VLAN设置开局前先想清楚这三件事华为S5700交换机的VLAN设置上手不难难在把“VLAN、端口、Tag”三件事一次想对。S5700出厂时所有端口都落在VLAN 1里全网互通这时候谈不上隔离。真正需要VLAN的场景一出来——办公网和监控网分开、访客网禁止访问财务、服务器区只对特定VLAN开放——配置量反而不大出问题的地方几乎都在端口类型和PVID上。这篇笔记不做命令字典只按一线接手的顺序把VLAN设置讲透先讲S5700上VLAN和端口的工作规则再落到创建VLAN、划分Access口、配置Trunk上联最后是排查思路。适合刚接手S5700开局的人也适合那些“配完display vlan全对但业务就是不通”的纳闷时刻。2. S5700的VLAN工作方式端口类型与Tag规则决定成败把S5700当黑匣子用注定要翻车。VLAN划分工作在数据链路层交换机端口类型决定帧在进出一根网线时要不要带VLAN标签。S5700的端口有Access、Trunk、Hybrid三种模式理解这三者的差异比背命令重要得多因为绝大多数VLAN故障不是命令敲错而是Tag规则理解错。2.1 Access、Trunk、Hybrid先分清三种端口角色先给出一张端口角色对照表后面所有配置都围绕这张表展开端口类型通常连接对象入方向处理出方向处理典型用途AccessPC、打印机、摄像头接收无Tag帧并打上PVID标识的VLAN收到带Tag帧时若Tag与PVID相同则接收不同则丢弃剥掉Tag后发出PC收到的是普通以太网帧接入层终端Trunk交换机、路由器PVID对应的帧剥掉Tag接收允许列表内其他VLAN的带Tag帧保留Tag接收PVID对应的帧剥掉Tag发出允许列表内其他VLAN保留Tag发出交换机级联、上联三层设备HybridPC或交换机均可可在多个VLAN的untagged列表内收无Tag帧也可接收带Tag帧根据端口untagged列表决定哪些VLAN剥Tag发出其余保留Tag特殊混合场景一个容易忽略的细节华为S5700所有端口默认链路类型是Hybrid不是Access也不是Trunk这一点的确和思科交换机的默认行为不一样。很多从思科转过来的工程师习惯性敲switchport mode access在S5700上找不到这条命令就是因为两家的端口模型完全不同。为什么需要三种端口而不是一种因为接交换机和接PC的要求正好相反。PC网卡只认识不带Tag的普通以太网帧所以交换机到PC这段必须把标签剥掉而交换机与交换机之间要在一条链路上同时传多个VLAN就必须保留Tag才能让对端识别这个帧属于哪个VLAN。Access和Trunk就是为这两个极端场景设计的Hybrid则是两者的灵活组合。2.2 Tag与Untag规则数据帧在S5700上是怎么被打标的VLAN Tag遵循802.1Q标准在以太网帧头里插入4字节其中包含2字节的TPID固定为0x8100标识这是VLAN帧和2字节的TCI。TCI里最重要的就是12比特的VLAN ID取值范围1到4094其中VLAN 1、VLAN 1002到1005是保留VLAN不能删除。S5700上VLAN 1默认存在所有端口的PVID默认也是1。端口收帧时先看帧有没有Tag。没Tag的帧打上端口PVID对应的VLAN编号再送进交换芯片有Tag的帧检查该VLAN是否允许通过允许就收不允许就丢。端口发帧时反过来根据端口的出方向配置决定保留Tag还是剥掉Tag。这个“入口打标、出口决定去留”的规则就是整个VLAN转发的基础。判断一个端口要不要加Tag其实只需要问一句对端设备认不认识带802.1Q的帧。交换机认识保留Tag普通PC网卡不认识必须剥掉。记住这个原则配置时就不会把Access口和Trunk口搞混。另一个需要记住的是VLAN 1的特殊性Trunk口默认允许VLAN 1通过默认PVID也是1管理地址如果放在VLAN 1里Trunk链路没放通VLAN 1就会导致远程管理中断这个坑后面会专门讲。3. 在S5700上创建VLAN并划分Access端口从命令到验证这一章进入实际操作。以一个三层办公网开局为例需要VLAN 10给办公终端、VLAN 20给监控摄像头、VLAN 30给无线AP三张网彼此隔离。终端和摄像头都通过Access口接入S5700先创建VLAN再划分端口最后验证保存。3.1 创建VLAN优先用vlan batch一次建完进入系统视图后创建VLAN有两种方式。单个VLAN用vlan命令进入VLAN视图可以顺便配名字和描述多个VLAN用vlan batch批量创建开局时效率最高Huawei system-view [Huawei] sysname S5700-3F-A [S5700-3F-A] vlan batch 10 20 30sysname是为了在远程维护时区分设备不是VLAN配置的必需步骤但建议开局就改掉否则登录多台设备时很容易敲错对象。vlan batch后面可以跟单个VLAN编号也可以跟连续范围比如vlan batch 10 to 20还可以混着写比如vlan batch 10 to 20 30 40设备会自动去重。批量创建后直接用display vlan就能看到10、20、30三个VLAN已经存在只是端口列还是空的。如果需要对VLAN做进一步描述比如区分这是办公网还是监控网可以进入VLAN视图单独配置[S5700-3F-A] vlan 10 [S5700-3F-A-vlan10] description Office-Network [S5700-3F-A-vlan10] quitdescription不会影响转发但半年后你回看配置时它能让你一眼认出这个VLAN是干嘛的而不是靠猜。多VLAN环境下我一般要求所有VLAN都必须写description这是最低成本的运维习惯。3.2 把接入端口划进VLANAccess端口配置实操接入终端的端口统一配置成Access模式。Access口的逻辑是进方向打上PVID出方向剥掉Tag对端PC完全感知不到VLAN的存在[S5700-3F-A] interface GigabitEthernet0/0/1 [S5700-3F-A-GigabitEthernet0/0/1] port link-type access [S5700-3F-A-GigabitEthernet0/0/1] port default vlan 10 [S5700-3F-A-GigabitEthernet0/0/1] quitport link-type access把端口模式切成Accessport default vlan 10设置该端口的PVID也就是默认VLAN。这两条命令缺一不可只设了link-type不设默认VLAN端口会留在VLAN 1里只设默认VLAN不设link-type端口还是默认的Hybrid模式行为和你预期的不一样。端口编号的写法要注意S5700的千兆口写作GigabitEthernet0/0/1简写是GE0/0/1命令里必须写全称或标准简写不能直接写0/0/1。十个端口逐个敲太慢S5700支持端口组批量配置[S5700-3F-A] port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/10 [S5700-3F-A-port-group] port link-type access [S5700-3F-A-port-group] port default vlan 10 [S5700-3F-A-port-group] quitport-group group-member后面可以写连续范围也可以写多个不连续的端口用空格分隔。批量配置完成后建议用display this在端口组视图下确认一下或者在退出后用display port vlan查看。这里要特别注意端口组是一次性批量下发如果其中某个口以后要改成Trunk或换VLAN需要单独进入该端口重配不会自动跟随端口组。注意把端口从VLAN 10改回VLAN 1用的是undo port default vlan不是undo vlan 10。后者会直接把VLAN 10整个删掉属于破坏性操作生产环境里慎用。3.3 验证与保存display vlan看端口save写配置配置完成后用两条命令验证。第一条是display vlan直接看VLAN与端口的对应关系第二条是display port vlan粒度更细能同时看到端口类型、PVID、Tagged和Untagged列表[S5700-3F-A] display vlan [S5700-3F-A] display port vlandisplay vlan输出里Ports列会列出属于该VLAN的所有端口如果端口前面带有U标识表示该端口是untagged转发Access口在这里就会显示U。display port vlan的输出是端口维度的每一行对应一个端口包含Link Type、PVID、Tagged VLANs、Untagged VLANs四列排查时比display vlan更直观。验证无误后必须执行save否则配置只存在于内存里设备一重启全部丢失[S5700-3F-A] save系统会提示是否确认保存必须输入y再回车。这里有个常见误解display current-configuration看到的是运行时配置不保存的话这个配置只活在当前开机周期里。等设备断电重启flash里的旧配置会被重新加载你敲的所有命令都白费。save之前建议再display current-configuration过一遍关键配置别指望重启当后悔药——重启不会恢复你的配置只会让你的配置消失。4. 跨交换机VLAN互通Trunk链路、PVID与Eth-Trunk配置单台S5700的VLAN划分只是把网络切碎要让不同楼层、不同机柜的同名VLAN互通必须让交换机与交换机通过Trunk链路对接。这是交换机对接交换机最基础也最容易出错的环节核心参数是两个允许通过的VLAN列表和PVID。4.1 Trunk端口与PVID交换机对接交换机前必须搞懂的关系先描述一个完整的数据流转过程。A和B两台S5700级联A上VLAN 10的PC要访问B上VLAN 10的PC。数据从A的接入端口进入被打上VLAN 10的Tag到A的Trunk口时由于VLAN 10不在该Trunk口的PVID里帧带着Tag发出去。B的Trunk口收到带Tag的帧后检查allow-pass vlan列表发现VLAN 10被允许就把帧交给VLAN 10转发最后从B的Access口剥掉Tag发给PC。这个流程里Trunk口有两件事必须同时做对一是目标VLAN必须在allow-pass列表里二是两端Trunk口的PVID要保持一致。PVID在这里的作用是识别“无Tag帧属于哪个VLAN”的默认值默认是1。假设A的Trunk口PVID是1B的Trunk口被误改成20A发出的VLAN 1管理帧因为在PVID范围内所以剥掉TagB收到这个无Tag帧后会打上自己的PVID也就是VLAN 20管理流量就跑到VLAN 20里去了。两端display port vlan一对比PVID不一样故障立刻定性。4.2 在S5700上配置Trunk链路从单条命令到链路聚合把两台S5700的上联口配成Trunk典型配置如下[S5700-A] interface GigabitEthernet0/0/24 [S5700-A-GigabitEthernet0/0/24] port link-type trunk [S5700-A-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 [S5700-A-GigabitEthernet0/0/24] quitB交换机在对应端口做同样的配置allow-pass的VLAN列表保持相同。port trunk allow-pass vlan后面的列表是必须放通的业务VLAN默认VLAN 1不需要额外写华为设备默认允许VLAN 1通过Trunk口。不建议在生产环境使用port trunk allow-pass vlan all因为它会把所有VLAN无差别放通隔离性直接失效安全审计时也说不清楚。当A和B之间需要两根甚至更多根线做带宽扩展时不能简单地再配一个Trunk口了事因为STP会发现环路并阻塞其中一条链路。正确做法是用Eth-Trunk把多条物理链路聚合成一条逻辑链路这也是“配置eth-trunk实例”的标准场景[S5700-A] interface Eth-Trunk1 [S5700-A-Eth-Trunk1] port link-type trunk [S5700-A-Eth-Trunk1] port trunk allow-pass vlan 10 20 [S5700-A-Eth-Trunk1] quit [S5700-A] interface GigabitEthernet0/0/23 [S5700-A-GigabitEthernet0/0/23] eth-trunk 1 [S5700-A-GigabitEthernet0/0/23] quit [S5700-A] interface GigabitEthernet0/0/24 [S5700-A-GigabitEthernet0/0/24] eth-trunk 1 [S5700-A-GigabitEthernet0/0/24] quit顺序上必须先创建Eth-Trunk逻辑接口并配好Trunk属性再往里面添加物理成员口。成员口一旦加入Eth-Trunk端口原有的link-type等二层配置会失效统一继承逻辑接口的配置所以不要把已经配好的业务口直接塞进聚合组。成员口的速率和双工模式必须一致否则协商异常会导致整条聚合链路震荡。配置完成后用display eth-trunk 1查看成员口状态Member端口显示正常并且Total bandwidth是叠加值聚合才算生效。5. S5700 VLAN配置避坑5个常见翻车场景与排查命令这一章专门写VLAN配置中反复出现的问题每一条都是“现象→原因→解决”的排查思路。配置前扫一眼能省下半天抓包时间。5.1 现象1端口已划进VLAN 10同一VLAN的PC却互ping不通现象display vlan确认端口已经在VLAN 10里PC的IP也在同一网段但A主机ping B主机就是不通偶尔通一下又断。原因端口虽然划进了VLAN但STP在收敛过程中把端口阻塞了。特别是刚插上网线、反复插拔、或者对端接的是HUB这种半双工设备时STP状态切换需要时间阻塞期间流量全部丢弃。另一个常见原因是端口没有配置边缘端口STP认为下面可能接的是交换机每次链路UP都要经历Listening和Learning阶段。解决在接终端的Access口上配置STP边缘端口。S5700命令是stp edged-port enable放在接口视图下。配置后端口在链路UP时直接进入Forwarding状态不再等待STP收敛。顺便把该端口的STP功能彻底关闭也可以但边缘端口在S5700上更规范不影响全局STP拓扑计算。5.2 现象2跨交换机配了TrunkVLAN 20还是不通现象A和B两台S5700都配置了Trunk口VLAN 10的终端互通正常VLAN 20的终端就是不通display vlan看两端端口都在对应VLAN里。原因Trunk口默认只放通VLAN 1配置命令里很可能只写了port trunk allow-pass vlan 10忘了把VLAN 20加进去。VLAN 10的帧能正常走VLAN 20的带Tag帧在Trunk口被丢弃。还有一种隐蔽情况两台设备的Trunk口PVID不一致导致无Tag帧被打进错误的VLAN。解决在两端Trunk口执行port trunk allow-pass vlan 20补上遗漏的VLAN然后display port vlan对比两端PVID和Tagged列表是否一致。排查时不要只看display vlan那个命令不显示Trunk口的Tagged属性必须用display port vlan看完整信息。5.3 现象3VLANIF接口是UP状态PC却ping不通网关现象S5700上配置了VLANIF 10地址192.168.10.1/24PC接入Access口后能获取IP但ping网关192.168.10.1不通。原因VLANIF接口UP只代表VLAN 10里有物理端口处于UP状态不代表三层转发路径通。常见的原因有三个一是VLANIF地址和PC不在同一网段二是Access口PVID被改过PC的帧被打进了别的VLAN三是S5700这个型号或版本未启用对应VLANIF的三层转发能力。前两个属于配置错误第三个属于设备能力边界。解决按顺序查。先display ip interface brief看VLANIF 10的协议状态再display port vlan看PC所接端口的PVID是不是10最后在PC上确认IP和掩码。如果VLANIF显示DOWN说明VLAN 10里没有任何UP的物理端口问题不在三层面回头查二层接入。5.4 现象4save成功重启后配置丢了一半现象配置完成后执行了save系统提示保存成功结果设备重启后VLAN还在端口划分全没了或者直接回到出厂状态。原因save只是把内存中的运行时配置写入flash里的配置文件但如果flash里存在多个配置文件或者startup配置指向的不是你保存的那个文件重启加载的就是旧配置。还有一种更常见的操作失误之前有人执行过reset saved-configuration把flash里的配置清空了save时虽然有提示但没仔细看保存到了一个全新文件里。解决保存前先用display startup确认下次启动加载的配置文件路径再用dir flash:查看配置文件的修改时间和大小。执行save后再次display startup确认看到配置文件路径和大小都更新了才算真正保存成功。养成“配完即save、save后必查startup”的习惯能避免绝大多数配置丢失问题。5.5 现象5在eNSP里能通真机上不通现象同样的VLAN配置在eNSP模拟器里测试完全正常搬到真机上业务起不来或者时通时断。原因eNSP是模拟环境不模拟线缆质量、不模拟端口协商失败、不模拟真实光模块兼容性。真机上常见的问题包括两端端口一个协商成千兆一个锁定在百兆、网线接触不良导致链路反复UP/DOWN、S5700的Combo口光电模式冲突。模拟器里STP收敛和真实设备也有差异真机大二层环境STP收敛时间可能远超预期。解决真机开局先display version确认软件版本再display interface看物理端口协商状态确认双工模式、速率和光功率都在正常范围。用display stp brief查看阻塞端口确认没有意外的STP收敛延迟。eNSP适合验证配置逻辑不适合验证物理层行为这句话记牢能少走很多弯路。6. 验证VLAN配置的四个命令与Hybrid端口的进阶用法6.1 验证顺序从端口到协议逐层确认VLAN配置完成后我习惯按固定顺序跑一组验证命令从二层到三层逐层确认而不是一上来就ping网关。命令查看内容验证目标display vlanVLAN下的端口列表端口是否划进目标VLANdisplay port vlan端口类型、PVID、Tagged/Untagged列表端口模式和Tag规则是否符合预期display mac-addressMAC表项学习情况数据面是否真正转发display ip interface briefVLANIF接口IP与状态三层网关是否就绪如果display vlan显示端口正常、MAC表也学到了但业务还是不通就需要抓包看Tag。在S5700上配置端口镜像把接PC的端口流量镜像到抓包口再用电脑上的wireshark抓取。[S5700-3F-A] observe-port 1 interface GigabitEthernet0/0/24 [S5700-3F-A] interface GigabitEthernet0/0/1 [S5700-3F-A-GigabitEthernet0/0/1] port-mirroring to observe-port 1 inbound [S5700-3F-A-GigabitEthernet0/0/1] quitGigabitEthernet0/0/24是观察口接抓包电脑GigabitEthernet0/0/1是镜像源口负责把入方向流量复制一份给观察口。抓包时有个关键认知如果抓的是Access接入段wireshark看到的报文是剥掉Tag的看不到VLAN ID这并不代表VLAN没生效恰恰说明Access口工作正常。想看带Tag的报文得在Trunk链路或者镜像Trunk口上抓。wireshark识别802.1Q报文时会直接显示VLAN ID字段如果显示成乱码多半是网卡驱动或者wireshark版本不支持VLAN解析换一张服务器网卡或者用支持VLAN透传的USB网卡就能解决。6.2 进阶Hybrid端口与几个实用小习惯Hybrid端口在S5700上并不鸡肋有一个场景特别实用一台服务器既要被VLAN 10的终端以普通无Tag帧访问又要把VLAN 20的监控报文带Tag送到上游做集中存储。用Access口做不到同时放两个VLAN用Trunk口又无法对VLAN 10剥Tag这时候Hybrid是最优解[S5700-3F-A] interface GigabitEthernet0/0/5 [S5700-3F-A-GigabitEthernet0/0/5] port link-type hybrid [S5700-3F-A-GigabitEthernet0/0/5] port hybrid pvid vlan 10 [S5700-3F-A-GigabitEthernet0/0/5] port hybrid untagged vlan 10 [S5700-3F-A-GigabitEthernet0/0/5] port hybrid tagged vlan 20 [S5700-3F-A-GigabitEthernet0/0/5] quitport hybrid pvid vlan 10让无Tag帧默认进VLAN 10port hybrid untagged vlan 10让VLAN 10的帧剥掉Tag发给服务器port hybrid tagged vlan 20让VLAN 20的帧保留Tag发给上游。一条物理链路上同时跑了两个VLAN两端的业务要求截然不同Hybrid用一套配置全解决。最后说个个人习惯我每次在S5700上配完VLAN固定做三件事——display port vlan核对端口模式、display ip interface brief确认三层网关、save之后display startup确认启动配置已更新。三分钟不到就能把大部分低级错误挡在业务上线之前。新手最容易漏的是save最容易误判的是Access口收到带Tag帧为什么会丢这两个坎迈过去S5700的VLAN设置基本不会再翻车。希望帮到你。本文还有配套的精品资源点击获取
返回列表