ARTICLE DETAIL

资讯详情

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

华为VLAN配置实例:路由器+交换机+ACL实现跨VLAN互访

华为VLAN配置实例:路由器+交换机+ACL实现跨VLAN互访 简介面向网络初学者、运维工程师和华为认证备考者这份 PDF 以一台华为 R2621 路由器、一台 S3026e 交换机与 4 台 PC 搭成实验环境展示园区网中 VLAN 与访问控制的完整配置思路。文档先给出四台 PC 的 IP 地址、掩码和网关规划再依次演示交换机上划分 VLAN 2、VLAN 3 并将指定端口加入对应 VLAN以及路由器 Ethernet0、Ethernet1 接口 IP 的设置最后通过开启防火墙默认 deny 和配置 ACL 101 允许指定网段互访实现虚拟网与物理网互通时的访问限制。读者照着实验拓扑逐条对照命令既能理解 VLAN 划分和端口绑定的原理也能掌握华为设备中 ACL 策略的配置思路与常见排错要点。资源体积约 141KB仅含 1 个 PDF 文档内容紧凑、适合快速查阅和动手模拟。已有 1568 人学习下载对想掌握华为路由交换基础配置、练习 VLAN 与 ACL 联调的新手比较实用。1. 华为路由器交换机VLAN配置实例四台PC、两条网关、一组ACL很多人第一次接触华为的VLAN配置不是从理论书开始的而是从一份老工程师手里流传的配置实例开始的。这份实例用一台R2621路由器、一台S3026e交换机和四台PC组了一个最朴素的跨VLAN互访环境交换机把端口切成VLAN2和VLAN3路由器用两个物理接口分别充当两个VLAN的网关再用ACL 101控制谁可以访问谁。它解决的问题很具体物理上同一网段的PC如何在逻辑上隔离隔离之后又怎么让符合规则的流量跨VLAN互通。整个配置只有十几条命令但VLAN划分、三层网关、防火墙默认策略、ACL匹配这四个知识点全部覆盖。如果你正在做网络课程设计、准备华为数通方向的上岗测试或者只是想把老Quidway设备上的经典配置重新捡起来这份实例值得从头到尾敲一遍而不是只看概念。下面我按“组网规划、交换侧配置、路由侧配置、避坑排查、模拟器验证”的顺序把它拆开讲。2. 组网设计与地址规划网关和VLAN为什么要这样配2.1 四台PC的IP和网关说明了什么实例中四台PC的地址信息如下设备IP地址子网掩码默认网关P1192.168.1.1255.255.255.0192.168.1.5P2192.168.1.2255.255.255.0192.168.1.5P3192.168.1.3255.255.255.0192.168.1.6P4192.168.1.4255.255.255.0192.168.1.6仔细看这张表会发现一个很有意思的安排四台PC的IP都在192.168.1.0/24这个同一网段里但网关被拆成了两组192.168.1.5和192.168.1.6。这说明它们虽然“看起来”在同一个网段实际上被划到了两个不同的广播域里。VLAN的价值就在这里它不靠IP网段来隔离而是靠二层端口划分来隔离隔离之后再用路由器把这些虚拟网段串起来。如果只看到四台PC都在一个C段里就觉得它们一定互通那就漏掉了VLAN这一层。这个地址规划还暗示了一个拓扑事实路由器上需要有两个接口分别做网关地址。192.168.1.5对应路由器的Ethernet0192.168.1.6对应Ethernet1。P1、P2发出的跨VLAN报文第一步就是找网关192.168.1.5P3、P4则找192.168.1.6。后面路由器配置命令里的两条ip address就是在这里落地的。2.2 VLAN2和VLAN3怎么对应端口交换机侧的规划很直接S3026e上端口e0/1到e0/8划进VLAN2e0/9到e0/16划进VLAN3其余端口保持默认的VLAN1。这样设计的好处是数量对称VLAN2和VLAN3各有8个接入端口后续想再加PC或者把某个PC临时换到另一个VLAN只需要改这个划分关系就行不需要动PC的IP。这里有一个经常被忽略的细节端口一旦划进某个VLAN它就不再属于缺省的VLAN1。而老设备默认状态下所有端口都归属VLAN1所以配置后如果不做检查很容易出现“我明明配了vlan 2PC还是不通”的情况。后面避坑章节我会专门讲这个。另一个需要注意的点是上行口。文本里e0/1到e0/8和e0/9到e0/16都被PC占用了那么路由器两个接口要接到交换机上就必须依托交换机上剩余端口中的两个分别放进VLAN2和VLAN3或者干脆用Trunk端口同时放行两个VLAN。原作者没有把这个步骤写在命令清单里但在实际搭线时这是必须做的不然路由器根本收不到两个VLAN的报文。我一般习惯把上行口单独预留比如e0/17放进VLAN2e0/18放进VLAN3不和PC共用端口。2.3 为什么网关要放在路由器上而不是交换机上配置清单里三层功能全部由路由器承担。交换机只负责二层转发路由器负责每个VLAN的网关、路由转发、包过滤。这种分工符合早年间“二层交换加三层路由”的经典组网思路交换机便宜端口多扛流量路由器负责智能转发做策略。放到今天的网络里很多人会用三层交换机直接起VLANIF接口来终结VLAN配置少、转发快。但在这个实例里路由器有两个物理接口天然就能终结两个VLAN不需要子接口也不需要Trunk封装。对教学和考证场景来说这种物理接口一一对应的方式更能看清“报文从PC出发、到网关、查路由表、找下一跳”的完整路径不会因为VLANIF的隐蔽性把报文流程看丢。下面这张表把两种方案的区别整理出来方便判断哪个场景用哪种对比项路由器双物理口网关三层交换机VLANIF网关位置路由器物理接口交换机三层VLAN口跨VLAN转发路由器软件转发交换机线速转发ACL控制在物理接口上做包过滤在VLANIF或流策略上做适用场景小型网络、教学实验中型园区网、数据中心接入从这个实例往后延伸你会发现现代华为设备上更常见的是“交换机划分VLAN VLANIF做网关 ACL做访问控制”所以先把老方案里的网关逻辑吃透再看VLANIF就很容易理解。3. 交换机侧配置创建VLAN2/VLAN3、把端口划进去、验证结果3.1 进入系统视图sys是system-view的缩写交换机所有跟VLAN相关的配置都在系统视图下完成。老Quidway设备敲sys就能从用户视图切到系统视图现在的华为VRP设备则更习惯用全称system-view。以下写法在S3026e的经典VRP上可以直接敲Quidwaysys // 从用户视图进入系统视图 [Quidway]vlan enable // 老设备需要先开启VLAN功能这个vlan enable在现在的华为交换机上并不存在因为它属于老VRP的开关设计先开功能再传命令。若是eNSP里的S5700直接创建VLAN即可不用敲这条。对于刚开始照着配置的人看到不认识的命令先别慌先确认设备是哪个版本老设备就按老的敲新设备按新的敲。3.2 创建VLAN2和VLAN3把端口划进去划分VLAN的完整命令如下[Quidway]vlan 2 // 创建VLAN2并进入VLAN视图 [Quidway-vlan2]port e0/1 to e0/8 // 把e0/1到e0/8八个端口加入VLAN2 [Quidway-vlan2]quit // 退回系统视图 [Quidway]vlan 3 // 创建VLAN3 [Quidway-vlan3]port e0/9 to e0/16 // 把e0/9到e0/16八个端口加入VLAN3 [Quidway-vlan3]quit这里重点说明port命令的用法port后面既可以跟单个端口也可以用“端口1 to 端口2”的批量语法一次划入多个端口。to的范围必须连续而且两个端口要在同一个板卡上否则设备会提示端口号越界。e0/1 to e0/8这种写法写在老交换机上没问题换到S5700之类的新设备就要改成GigabitEthernet0/0/1 to GigabitEthernet0/0/8端口名的编码规则不同这个后面讲eNSP复现时还会再遇到。创建VLAN的顺序没有强制要求先建2后建3还是反过来都可以但建议把端口规划表列好再动手避免划错。quit之后如果还想继续划分另一个VLAN直接再敲vlan命令就行。3.3 验证VLAN是否划分成功配置完成后最忌讳的事情就是不验证。老设备上最实用的验证命令是下面两个[Quidway]dis vlan all // 显示所有VLAN及其包含端口 [Quidway]dis cu // 显示当前生效配置dis vlan all的输出里会列出每个VLAN的编号、状态和成员端口重点看VLAN2下有没有e0/1到e0/8、VLAN3下有没有e0/9到e0/16。dis cu则是把当前生效的配置全部刷出来如果之前有人配过别的VLAN或端口也能在这里检查是否残留。我见过不少新手配置完不敲这两条直接去PC上ping结果出了故障还要返工所以建议每次养成“配置完先display”的习惯。到这里交换机侧的工作就完成了真正让VLAN间通信起来的关键在路由器上。4. 路由器侧配置接口网关、防火墙默认策略与ACL 101下发4.1 给Ethernet0和Ethernet1配置网关地址路由器要成为两个VLAN的网关必须先把接口地址配上。命令如下[Router]interface ethernet0 [Router-Ethernet0]ip address 192.168.1.5 255.255.255.0 [Router-Ethernet0]quit [Router]interface ethernet1 [Router-Ethernet1]ip address 192.168.1.6 255.255.255.0 [Router-Ethernet1]quit这里有个容易误解的地方route0接口的IP是192.168.1.5route1接口的IP是192.168.1.6两个接口各带一个24位掩码。从路由角度讲路由器认为自己直连着192.168.1.0/24网段的两部分但实际上它连接的是两个不同的广播域这个“看起来矛盾”的地址设计恰恰是VLAN间路由的核心。如果不配这两个地址PC的网关就是空的跨VLAN的报文根本找不到转发出口。4.2 开启防火墙并设置默认策略为deny跨VLAN的路由打通后访问控制还没做。实例里使用了路由器自带的包过滤防火墙功能[Router]fire enable // 开启防火墙功能 [Router]fire default deny // 默认策略设为拒绝fire default deny的意思是凡是没被ACL规则显式允许的报文一律丢弃。这个策略比permit安全得多但也更容易把自己关在门外。配置完这条命令之后如果不加任何ACL规则整台路由器的转发功能会立刻“冻结”所有跨VLAN流量全部丢包。很多初学者在这个地方被坑过明明VLAN都划好了、网关也通了就是因为先配了default deny再配ACL中间有个时间窗口流量全断还以为自己哪里敲错了。先config还是先ACL实践上建议把ACL规则全部编辑好、确认无误后再开启fire default deny可以把误伤范围降到最低。4.3 ACL 101规则只允许指定源访问指定目的ACL规则是访问控制的核心实例里是这样写的[Router]acl 101 [Router-acl-101]rule permit ip source 192.168.1.1 255.255.255.0 destination 192.168.1.3 255.255.255.0 [Router-acl-101]quit这条规则表达的意思是允许源地址为192.168.1.1掩码255.255.255.0的报文访问目的地址为192.168.1.3掩码255.255.255.0的报文。但这里有一个需要指出的细节老Quidway设备的ACL语法里source后面跟的可以是“IP 普通掩码”而新版本VRP把掩码规则改成了通配符反掩码。同样一条规则在新设备上需要改写成[Router]acl 101 [Router-acl-101]rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255反掩码0.0.0.255中的0表示必须匹配255表示不关心。如果不了解这个差异把老配置直接往新设备上一贴设备要么报错要么匹配出的范围完全不对后面避坑章节我会把这个单独拎出来讲。ACL 101是高级ACL可以同时匹配源、目的、协议、端口号比基本ACL灵活得多。实例里只写了IP协议所以匹配范围为所有IP报文。4.4 把ACL下发到接口fire pa 101与前后的方向问题ACL定义好了如果不引用它就是一张废纸。实例中把它应用到了两个接口上[Router]interface ethernet0 [Router-Ethernet0]fire pa 101 [Router-Ethernet0]quit [Router]interface ethernet1 [Router-Ethernet1]fire pa 101 [Router-Ethernet1]quitfire pa是firewall packet-filter的缩写作用是把ACL 101作为包过滤策略挂到接口上。这里有个方向问题值得展开包过滤器默认会对入方向和出方向都生效。如果ACL里只写了一条从192.168.1.1到192.168.1.3的permit规则那么在Ethernet0上从PC侧进来的报文没问题但P3回给P1的报文到达Ethernet1时源地址是192.168.1.3、目的地址是192.168.1.1照样命不中permit规则会被默认策略丢掉。结果是P1能发出去但收不到回包。想解决这个问题通常有两种做法一是显式指定方向比如只在Ethernet0的inbound方向应用ACL二是再加一条反向的permit ip规则把回程流量也放行。老设备上很多配置只写了单条规则看起来像Bug实际上是把方向上的双向匹配忽略掉了。5. 避坑与常见问题照着配置仍不通从这五个地方排查5.1 同VLAN的PC互相都不通端口其实还在VLAN1现象按文档配置完交换机P1和P2接在相邻端口上但互相ping不通。原因S3026e的端口默认归属于VLAN1配置时只创建了VLAN2和VLAN3没有把PC所连的端口真正划进去PC实际上还留在VLAN1里。这在一个VLAN里只有两台PC时很难暴露因为默认VLAN1也是可以互通的只有跨VLAN测试时才看得出问题。解决重新回到系统视图执行vlan 2和port e0/1 to e0/8然后用dis vlan all确认端口归属。同时检查PC接的物理端口是否真的在e0/1到e0/8范围内有的交换机前面板编号和实际逻辑端口编号不一样接错口也会造成同样的现象。5.2 同VLAN通、跨VLAN不通PC网关没填对现象P1能ping通同网段的P2但ping不通P3在路由器上能看到接口是up的。原因四台PC的网关不是同一个地址P1、P2的网关是192.168.1.5P3、P4的网关是192.168.1.6。如果PC的默认网关填的不是对应地址或者压根没填跨VLAN报文就不知道该送给谁路由器上也看不到这个流量。解决逐台检查PC的IP配置确保P1、P2走192.168.1.5P3、P4走192.168.1.6。注意P3的网关不能填192.168.1.5虽然192.168.1.5这个IP在路由上可达但从VLAN3侧发出的报文目的MAC对应的是Ethernet1接口只有192.168.1.6才会被交换机正确送到路由器的那个接口。5.3 fire default deny一开跨VLAN全部断网现象刚敲完fire default deny还没来得及配ACL规则整个网络瞬间不通。原因default deny会把未匹配任何permit规则的流量全部丢弃而ACL还没建好或还没下发到接口等于路由器变成了一个黑匣子什么包都不放行。解决配置顺序调整为“先建ACL、再下发接口、最后开default deny”。如果已经断电断网了就用console口登录把防火墙默认策略临时改成permit或者去掉接口上的包过滤引用等规则理顺后再恢复。这个“默认拒绝”开关本身是安全的问题只在于启用和规则的先后顺序。5.4 老配置的ACL掩码在新设备上不生效现象把实例里的ACL命令原封不动敲到eNSP的AR路由器上系统提示掩码格式不对或者命令能敲上去但匹配流量为零。原因老Quidway的ACL rule支持source后面跟普通掩码255.255.255.0而新VRP要求通配符反掩码0.0.0.255两者语义完全不同。用255.255.255.0作为反掩码表示除三个255位之外全部不关心实际上匹配的是一个非常奇怪的地址范围。解决统一改写成反掩码格式。比如希望匹配192.168.1.0到192.168.1.255就写source 192.168.1.0 0.0.0.255希望精确匹配单个主机192.168.1.3就写source 192.168.1.3 0.0.0.0。建议在配置前先用display acl确认规则内容在eNSP里可以先建一个临时的ACL测试匹配效果再复制到现网。5.5 只挂接口没写方向回包被默认策略丢弃现象P1能ping通网关192.168.1.5但ping不通P3在路由器上用debug看请求包已经转发出去回包却被丢弃。原因fire pa 101默认在inbound和outbound两个方向都生效而ACL 101只有一条从192.168.1.1去往192.168.1.3的permit规则P3返回给P1的报文源地址是192.168.1.3目的地址是192.168.1.1正好和permit规则反过来命不中就走了deny。解决在接口上下发ACL时显式指定方向比如只在Ethernet0的inbound方向做过滤再在Ethernet1上做反向控制或者增加一条反方向的permit规则把回程流量一起放行。实际上工程里更常见的做法是把“防火墙默认策略”的检查放在该检查的位置而不是双向都挂同一张单向ACL。6. 用eNSP复现这套配置三处命令翻译与完整的验证手段6.1 从老交换机到S5700的命令翻译eNSP里没有S3026e也没有R2621所以复现时我用S5700替换交换机、AR2220替换路由器四台PC接到交换机上。端口规划保持对称g0/0/1到g0/0/8划入VLAN2g0/0/9到g0/0/16划入VLAN3g0/0/23作为上行口放进VLAN2接路由器G0/0/0g0/0/24作为上行口放进VLAN3接路由器G0/0/1。交换机侧命令翻译如下Huaweisystem-view [Huawei]vlan batch 2 3 [Huawei]interface eth-trunk 1 [Huawei]port link-type access [Huawei]port default vlan 2 [Huawei]quit这里要注意新交换机上创建多个VLAN用的是一条vlan batch 2 3同时创建VLAN2和VLAN3。老设备是逐条创建新设备用batch更高效。上行口如果按access模式做记住vlan号和对应路由器接口地址要匹配如果一台交换机和路由器之间只用一条物理链路就把这个口改成trunk允许VLAN2和VLAN3通过。6.2 验证顺序网关先通、ACL再通、最后看丢包配置完成后我习惯按下面这个顺序验证而不是直接ping跨VLAN地址[AR]display ip interface brief [AR]display acl 101 [AR]display firewall statistics第一步看路由器接口地址有没有生效第二步看ACL里的permit规则包含什么方向第三步看防火墙的丢弃计数。从PC上ping之前先分别ping自己的两个网关192.168.1.5和192.168.1.6确保PC到不同VLAN网关的二层路径都是通的再对比P1到P3和P2到P3的差异就能看出ACL到底拦住了谁。6.3 一个更贴近现网的改进把网关挪到交换机的VLANIF上如果只是为了做实验路由器双物理口方案足够清晰但放到真实园区网里我会建议再把网关逻辑往交换机上挪一步在S5700上直接配两个VLANIF接口把路由器的ACL 101用traffic-filter方式挂到VLANIF下。这样命令更少转发路径更短也更接近“华为三层交换机”这种热搜词背后大家真正在配的东西。配置要点是对应VLANIF 2配置192.168.1.5VLANIF 3配置192.168.1.6同时保留ACL 101的permit规则。从那以后我每次拿到老设备的配置文档都会先问一句“这份命令是在哪个版本VRP上写的”把新老命令的差异清单先过一遍再决定是照着敲还是先翻译。华为的VLAN配置实例网上有不少但真正能让你少踩坑的是那些掩码、方向和默认策略的细节。希望帮到你。本文还有配套的精品资源点击获取
返回列表