ARTICLE DETAIL

资讯详情

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

华为交换机路由器VLAN配置实例:从Access到VLANIF实战

华为交换机路由器VLAN配置实例:从Access到VLANIF实战 简介一份以华为路由器R2621与交换机S3026e为例的VLAN配置实战文档面向网络工程初学者、运维人员及华为设备认证备考者解决多VLAN组网中的地址规划、虚拟网与物理网互通及访问控制问题。文档从4台PC的实验拓扑出发给出各终端IP、掩码与网关规划表并分交换机、路由器两部分展示VLAN划分、vlan enable、端口归属、接口IP指定、防火墙默认deny策略及ACL 101规则启用等关键命令对默认所有端口属于VLAN1、配置后如何查看与保存等细节也有说明逻辑清晰便于结合实际设备或模拟器对照复现。资源包为单个PDF文件大小仅141KB内容紧凑适合随时查阅与打印。已有1568人学习下载对于希望系统梳理华为VLAN与ACL联动配置思路的读者很有参考价值。1. 追着「VLAN配置实例」来找文档的人多半是设备在手、命令却不在脑子里新园区割接、办公室扩容、或者只是给客户做一台设备巡检拿到一台华为路由器或交换机发现手册几百页根本翻不到底。我见过太多做数通运维的同行配置VLAN翻车的现场Access口配成了Trunk业务不通先怀疑光模块同一个PVID两边不一致广播包在二层绕圈圈核心交换机上建了VLANIF但没启用终端拿不到网关所有人卡在「默认网关不可用」——这类问题十有八九不是在协议上有多深而是对华为交换机那几行以vlan、port link-type、port trunk allow-pass vlan为核心的命令没有形成肌肉记忆。华为路由器交换机VLAN配置实例这个标题要解决的其实就是三个问题VLAN怎么划、放行怎么放、VLAN间怎么互通。它不只是写给刚入行的工程师看的很多干了两三年的人遇到Hybrid口和Trunk口的区别也会含糊。这篇文章我不抄手册就按我平时在项目里操作的真实顺序来写先想清楚VLAN模型再动手敲命令最后讲验证和那些一看一个不吱声的坑。2. 华为VLAN的底层逻辑Access、Trunk、Hybrid到底该怎么选2.1 三种链路类型不是随便选的决定的是报文的“身份证”华为的设备上二层端口的链路类型有Access、Trunk和Hybrid三种。很多人记不住Hybrid就是因为华为的默认端口类型就是Hybrid不像思科默认是Access。这个默认值导致了一个很常见的现象新拿到一台华为交换机没改端口类型就划了VLAN结果VLAN 1的报文全在跑其他VLAN的报文在端口上根本没打标签因为Hybrid端口默认对VLAN 1不打标签。在动手划VLAN之前先把链路类型的模型想清楚。Access口通常接终端一根线只属于一个VLAN交换机从这个口收报文后打上对应的VLAN Tag发送出去之前把Tag剥掉终端拿到的始终是无Tag的报文。Trunk口用来交换机与交换机互连一条链路要承载多个VLAN的流量所以报文的Tag必须保留否则到了对端不知道这个帧属于哪个VLAN。Hybrid口就更灵活它可以指定哪些VLAN打Tag、哪些不打华为的Hybrid口在收发两个方向都能做Tag控制这在很多场景下可以少接一根线。2.2 最小可用配置四五条命令把VLAN建起来并放行我记得第一次给客户接一台S5720的时候客户只有一个需求三个办公区域互相隔离但都能上外网。这个场景用Access口划VLAN就够。当时我敲的命令很朴素但就是这个最简单的模型把VLAN配置的手感养出来了# 进入系统视图 system-view # 批量创建VLAN 10、20、30 vlan batch 10 20 30 # 进入千兆口0/0/1配置为Access口并划入VLAN 10 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit # 0/0/2划入VLAN 200/0/3划入VLAN 30写法相同 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 quit interface GigabitEthernet0/0/3 port link-type access port default vlan 30 quit命令背后的逻辑很简单vlan batch是一次建多个VLAN省得一条条敲port link-type access把物理口模式定死port default vlan是这个端口归属哪个VLAN。有一点要提一下华为的Access口概念里没有PVID这种说法port default vlan就是既收又发。这三条命令配完后三个VLAN之间互相不通这正是VLAN隔离的本质。但问题来了终端要上网网关在哪VLAN 10的终端拿到的IP如果配成192.168.10.0/24谁来回这个包答案是需要三层设备介入这个我在后面讲VLANIF的时候展开。2.3 华为的Trunk命令有点反直觉必须显式allow-passTrunk口配置里最容易被非华为背景的人踩的坑是忘了port trunk allow-pass vlan。思科的Trunk口默认放行所有VLAN华为的Trunk口只放行VLAN 1。也就是说你建了VLAN 20把Trunk口配好了如果没敲allow-passVLAN 20的流量在这条链路上就是黑匣子不通。标准的两台交换机对接配置我一般这样写# 在交换机A上配置连接交换机B的Trunk口 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30 quit # 在交换机B上同样的操作两边的放行VLAN必须一致 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30 quit注意这里我加了port trunk allow-pass vlan 10 20 30没有加pvid的配置。默认情况下Trunk口的PVID是VLAN 1也就是说从这个Trunk口发出的不带Tag的报文会被打上VLAN 1的Tag对端也会把收到的VLAN 1报文认为是自己的VLAN 1。这个默认行为在绝大多数办公网里没问题但如果你的业务里有VLAN 10的报文不带Tag进入Trunk口就会出问题。所以后面讲的native VLAN华为叫PVID的调整是项目里真正要动脑筋的地方。顺便说一句新旧版本的华为设备命令有差异V200R003之前的老版本有些S交换机支持port trunk permit vlan现在统一是port trunk allow-pass vlan如果你在设备上敲permit发现补全不了就是版本差异用allow-pass就对了。3. 从二层划VLAN到三层互通VLANIF与vlan间路由的落地与验证3.1 VLANIF不是把VLAN加上IP那么简单VLAN划分完成只是第一步真正让办公室能上网靠的是VLANIF接口。华为的交换机上VLANIF是虚拟的三层接口它的编号与VLAN一一对应。比如VLAN 10对应Vlanif10这个接口的IP地址就是VLAN 10内终端的网关。但有一个关键点VLANIF要想UP必须满足一个物理条件——这个VLAN内至少有一个物理端口是UP的。很多新手在纯软件环境或物理设备上配了Vlanif10发现接口状态是DOWN就以为配置错了。这是正常的。VLANIF是跟着物理口走的物理口没接终端、没有链路VLANIF就永远是DOWN。换句话说你不能只建一个VLANIF就指望它UP得有接入侧的物理链路支撑。配置命令本身不复杂# 进入VLANIF 10接口视图 interface Vlanif10 ip address 192.168.10.254 255.255.255.0 quit interface Vlanif20 ip address 192.168.20.254 255.255.255.0 quit3.2 终端跨VLAN访问网关配好剩下的交给交换机查路由表终端A在VLAN 10IP是192.168.10.5网关192.168.10.254终端B在VLAN 20IP是192.168.20.5网关192.168.20.254。当A要访问B的网段时A先判断目标IP不在本网段于是把帧发给网关。交换机收到这个帧查Vlanif10的IP发现目标192.168.20.5不是自己再查路由表发现192.168.20.0/24直连在Vlanif20上于是交换机做了一次三层转发把报文从Vlanif20口发出去。这个过程就是VLAN间路由。华为交换机默认开启了VLAN间的路由转发功能吗大多数交换机是默认开启的但如果你的设备上做了ACL或者某些安全策略拦住了VLAN间的流量就会出现能ping通网关、ping不通别的VLAN终端的情况。排查的时候除了检查VLANIF配置还要看一眼有没有入方向的过滤规则。之前帮人排过一个故障VLAN 10能上外网但访问不了VLAN 30的服务器查来查去是这台S5720上配了ACL 3001rule 5里deny ip source 192.168.10.0 0.0.0.255 destination 192.168.30.0 0.0.0.255。不熟的人压根想不到去查ACL因为VLANIF配置和路由表都是好的。3.3 华为路由器做单臂路由子接口的封装别搞错如果核心设备不是三层交换机而是一台华为AR系列路由器比如AR201或AR2220VLAN间路由的常见做法是单臂路由。所谓单臂就是路由器的物理口下挂在交换机上通过子接口来终结不同VLAN的流量。每个子接口要绑定一个VLAN最核心的命令是dot1q termination vid这个命令的意思是让子接口识别带指定VLAN Tag的报文。# 物理口GE0/0/0连接交换机Trunk口 interface GigabitEthernet0/0/0.10 dot1q termination vid 10 ip address 192.168.10.254 255.255.255.0 arp broadcast enable quit interface GigabitEthernet0/0/0.20 dot1q termination vid 20 ip address 192.168.20.254 255.255.255.0 arp broadcast enable quit有一个命令特别容易漏arp broadcast enable。华为路由器子接口默认不转发ARP广播报文如果漏了这条命令终端能配上IP但网关ARP解析一直失败表现为ping不通网关、也ping不通外网。这个坑我在AR2220上踩过当时查了半小时后来发现就是少了一行命令。这里提醒一下子接口的dot1q termination vid和交换机的port trunk allow-pass vlan要对应上交换机Trunk口放行了几个VLAN路由器这边就要建几个子接口两边不对齐的话VLAN间路由就像断了一条腿。4. 华为交换机组网实例从接入到核心的VLAN模型与eth-trunk4.1 一个能抄作业的办公网VLAN规划部门隔离 服务器独立 管理VLAN独享在具体配置前先给一张VLAN规划表。这个模型我根据实际项目经验总结的适合中小型办公网接入交换机两台、核心一台、出口一台路由器——规模不大不小刚好能把华为设备的典型配置都串起来。VLAN ID用途IP网段网关说明VLAN 10综合办公192.168.10.0/24192.168.10.254普通员工终端可上外网VLAN 20研发部192.168.20.0/24192.168.20.254与办公网隔离仅允许访问服务器VLAN 30服务器区192.168.30.0/24192.168.30.254公司内部服务器对外开放受限VLAN 99设备管理192.168.99.0/24192.168.99.254交换机、路由器的管理IP段这个模型里VLAN 99是管理VLAN交换机的管理IP放在里面好处是业务VLAN出问题后你还能通过管理VLAN登录设备排查。如果管理IP和业务VLAN混在一起业务广播风暴起来的时候你连设备都登不进去那才是真的叫天天不应。规划原则是管理面和数据面隔离这是个老生常谈但永远有人不遵守的原则。4.2 接入交换机到核心Trunk对接、PVID对齐、eth-trunk聚合接入交换机上面向终端的口配置Access面向核心交换机的口配置Trunk。两台接入交换机分别上联核心形成双链路的形态。但双链路若不聚合STP会把其中一条Block掉浪费带宽所以这里我加了eth-trunk。# 接入交换机A创建eth-trunk 1并把物理口加入 interface Eth-Trunk1 port link-type trunk port trunk pvid vlan 10 port trunk allow-pass vlan 10 20 30 99 quit interface GigabitEthernet0/0/23 eth-trunk 1 quit interface GigabitEthernet0/0/24 eth-trunk 1 quit核心交换机侧同样要创建一个Eth-Trunk配置要一致尤其是port trunk pvid vlan 10这行。这里我特意把Trunk的PVID从默认的VLAN 1改成了VLAN 10目的是让接入交换机发来的不带Tag的管理类默认报文全部归属VLAN 10。但这里有一个细节要特别注意两端Trunk的PVID必须一致。如果核心侧没改PVID还是VLAN 1而接入侧改成了VLAN 10那接入侧发出的不带Tag报文到了核心会被当成VLAN 1的报文两边对不上VLAN 10的流量就不通。如果你问我实际项目里PVID改还是不改我的习惯是两边都改成一个非业务VLAN比如VLAN 99或者干脆保持默认VLAN 1然后不允许业务流量出现在VLAN 1。但无论怎么选两端一致是第一原则。加完eth-trunk后记得在核心上查看聚合口状态# 查看eth-trunk的成员口和状态 display eth-trunk 1 # 查看某个物理口在聚合组里的状态 display interface GigabitEthernet0/0/14.3 核心交换机的VLANIF与默认路由让VLAN流量能出去核心交换机上配置完允许跨VLAN互通后还有一个关键步骤就是给出口路由器指路由。核心交换机的VLANIF网段要能在内网互通但去往外网的流量交换机不知道路由需要一条默认路由指向出口路由器。# 核心交换机配置默认路由 ip route-static 0.0.0.0 0.0.0.0 192.168.99.1 # 在AR路由器上配置回程路由指向核心交换机 ip route-static 192.168.10.0 255.255.255.0 192.168.99.254 ip route-static 192.168.20.0 255.255.255.0 192.168.99.254 ip route-static 192.168.30.0 255.255.255.0 192.168.99.254值得一提的是在这种组网下交换机和路由器之间推荐使用三层互联或二层Trunk互联。如果路由器用子接口终结VLAN那核心交换机这边就把上联口配置为Trunk并放行相应VLAN。上面的配置适合那种「交换机已做完VLANIF、路由器只做出口路由」的常见中小型办公网络也是很多项目里的模板。5. VLAN配置避坑指南6个高频故障的现象、原因与解决5.1 终端能分配IP但跨VLAN不通现象终端通过DHCP获取到了192.168.20.x的地址网关也能ping通但访问192.168.10.x的服务器超时。原因VLANIF地址配了终端网关也指向了VLANIF但VLAN 20的物理接口所在的VLAN没有把报文送到VLAN 10的网关——最常见的原因是VLAN 20的端口没有放行到核心的Trunk或者核心交换机侧Trunk口的allow-pass vlan里没有VLAN 20。解决在接入和核心上分别执行display port vlan查看端口放行情况确认两端的Trunk放行了所有需要的VLAN。另一种可能是核心交换机上VLAN 20的VLANIF没有启用状态DOWN这时检查VLAN内是否有物理口UP。5.2 交换机之间Trunk对接后所有VLAN都通了唯独某个VLAN间歇性丢包现象VLAN 10和VLAN 30都正常VLAN 20的流量每隔几秒丢一两个包。原因物理环路。VLAN 20的流量同时走了两条路径STP没有把冗余链路Block掉。华为交换机默认开STP但Trunk口的allow-pass放行的VLAN如果不一致STP的BPDU只在VLAN 1里跑另一条物理路径上的VLAN 20流量就会被两边都接收形成环路。解决检查两端Trunk口的allow-pass是否完全一致执行display stp brief看端口角色和状态把冗余口Block掉或在两台交换机之间只保留一个逻辑聚合口。5.3 明明配置了Hybrid口终端还是拿不到IP现象华为交换机的默认端口类型是Hybrid很多人在没有改链路类型的情况下直接在接口下敲了port hybrid untagged vlan 10然后终端插上后DHCP获取不到地址。原因Hybrid口的Untagged配置只影响发送方向收方向需要port hybrid tagged vlan 10或port hybrid pvid vlan 10。如果PVID没有设置成VLAN 10端口收上来的无Tag报文会被打上VLAN 1的TagDHCP Discover发给VLAN 1但DHCP Server在VLAN 10自然没人回应。解决在Hybrid口下执行port hybrid pvid vlan 10和port hybrid untagged vlan 10两行命令缺一不可。5.4 PVID修改后某些VLAN流量绕了远路现象把Trunk口的PVID从VLAN 1改成VLAN 99后VLAN 1的流量突然不通了。原因PVID的作用是把不带Tag的报文打上指定VLAN的Tag。原来PVID是VLAN 1时Trunk口发出去的不带Tag报文会被默认为VLAN 1改成VLAN 99后这些报文全部打上VLAN 99的Tag对端如果没放行VLAN 99流量就会丢弃。解决改PVID前先确认对端Trunk是否放行了新的PVID VLAN或者改用port trunk allow-pass vlan 1 99把原VLAN也放行两边保持同步。5.5 路由器和交换机对接子接口termination vid没错但ARP不通现象AR路由器子接口配置了dot1q termination vid 10IP也配了交换机侧Trunk放行了VLAN 10但终端ping不通网关。原因子接口下漏了arp broadcast enable。华为路由器子接口默认不处理ARP广播终端发出ARP请求后路由器不响应表现就是网关不可达。解决在子接口下补上arp broadcast enable。这个命令在AR G3系列上基本是标配配置单臂路由时一定不要省。5.6 交换机堆叠后VLAN配置不生效现象两台S5700做了堆叠配置了VLAN和Trunk但接口状态显示DOWN配置似乎没生效。原因堆叠后接口编号变化原来的GigabitEthernet0/0/1可能变成了GigabitEthernet1/0/1你配置的物理口和实际连接的物理口对不上。解决执行display interface brief查看接口当前的编号和状态再根据实际编号重新配置端口。堆叠情况下VLAN配置本身会在主交换机上同步但端口编号从0变成1的坑不少人都跳过。6. 验证VLAN配置是否真的正确三条命令加一次抓包定生死配置完成后你需要的不是一台能ping通的终端来验证全部。配置验证讲究的是在不影响业务的情况下把配置的每一条链路确认到位。第一步是核查端口的状态和放行VLAN第二步是查看VLAN内是否有活跃端口第三步是看路由表最后才是实际业务测试。# 查看所有VLAN的端口分布和Tag状态 display port vlan # 查看VLANIF是否UPIP地址是否生效 display ip interface brief # 查看VLAN内MAC地址的学习情况确认终端报文是否到达交换机 display mac-address vlan 10上面这几条命令能覆盖百分之八十的配置验证场景。但还有百分之二十的情况需要看报文本身这时候就得用ESP或者Wireshark这类工具。华为的eNSP模拟器不熟的人可能听着陌生但在eNSP里做VLAN配置验证是非常顺手的一件事它可以在图形界面里直接查看VLAN标签的添加和剥离。真实交换机上如果抓VLAN报文可以用镜像口把流量复制到PC上但小项目里很少有人有这个条件。我的习惯是先在eNSP里把整套配置跑通一遍确认无问题再在真实设备上操作尤其是碰到不熟悉的命令参数时这个习惯能省去很多现场翻车的时间。VLAN配置里还有一个更好的验证方式——ping测试分两段。第一段终端ping自己的网关判断二层封装和ARP是否正常第二段跨VLAN ping对方终端的IP判断三层转发是否正常。如果第一步通第二步不通问题大概率出在VLANIF或路由上如果第一步就不通问题就在接入侧的VLAN划分、链路类型或DHCP配置上。这套验证顺序能帮你定位故障时少走一半的弯路。最后想分享一个我在项目里的习惯每次配置完VLAN我都会顺手把display current-configuration | include vlan的输出保存一份到本地然后贴上端口与VLAN的对应关系表。这个习惯救过我很多次因为VLAN配置这类东西经常有被后来的人改过但没留痕的情况你上设备排查时看到的配置不一定是最初的规划版本。配置要能追溯教训永远比经验贵。希望帮到你。本文还有配套的精品资源点击获取
返回列表