ARTICLE DETAIL

资讯详情

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

华为路由器交换机VLAN配置实例:VLAN间通信与ACL策略详解

华为路由器交换机VLAN配置实例:VLAN间通信与ACL策略详解 简介《华为路由器交换机VLAN配置实例.pdf》是一份面向网络初学者和华为设备运维人员的配置案例文档。内容以4台PC、华为R2621路由器与S3026e交换机组成的小型网络为环境完整演示了VLAN从规划到落地的过程包括PC的IP与网关地址分配、交换机上创建VLAN2和VLAN3并划分端口、路由器接口地址设置、防火墙默认策略以及通过ACL规则控制不同VLAN间互访。文中给出了逐条命令和简要注释读者可按步骤实操验证并能理解虚拟局域网与物理网段之间的路由与安全控制原理。资源为单个PDF文件大小仅141KB体积小巧、便于下载和随时查阅。目前已有1568人学习下载适合华为认证备考者、网络专业学生以及刚接触VLAN配置的工程师参考学习。1. 华为路由器交换机VLAN配置实例四台PC、两个VLAN、一台路由器如何打通一份PDF四台PC两台VLAN一只R2621路由器再加一台S3026e交换机——这个华为VLAN配置实例解决的是很多人第一次做VLAN实验时绕不过去的坎VLAN能隔离广播域但隔离完就不通了为什么因为跨VLAN通信必须有路由而文档给的关键答案是把两个VLAN的网关分别放在路由器Ethernet0和Ethernet1上再用防火墙策略和ACL决定谁能访问谁。适合刚上手华为设备的人、准备相关认证的人、以及想在eNSP里把VLAN间通信实验做扎实的人。别被“实例”两个字骗了把这份配置弄懂等于同时搞通了接口IP、VLAN划分、ACL和默认拒绝四种基础操作。2. 拓扑与IP规划4台PC、2个网关背后的选型逻辑2.1 PC的IP与网关对应关系先看这张网络中最容易被忽略、其实最容易出错的部分IP规划。四台PC的地址都在192.168.1.0/24网段掩码统一是255.255.255.0但网关被拆成了两个PC1和PC2的网关是192.168.1.5PC3和PC4的网关是192.168.1.6。设备IP地址子网掩码网关所属VLAN对应路由器接口PC1192.168.1.1255.255.255.0192.168.1.5VLAN2Ethernet0PC2192.168.1.2255.255.255.0192.168.1.5VLAN2Ethernet0PC3192.168.1.3255.255.255.0192.168.1.6VLAN3Ethernet1PC4192.168.1.4255.255.255.0192.168.1.6VLAN3Ethernet1这里有两个关键点。第一个PC1和PC3虽然IP同在一个C段但PC1去ping PC3时会发现目标和自己“同网段”于是直接发ARP请求而交换机的端口已经被划分到不同VLAN里二层广播被隔离ARP根本到不了PC3。这就是VLAN实验里最常见的“同网段也ping不通”现象不是配置错了而是VLAN设计本来就是这个意图。第二个网关地址决定了流量往哪走。PC1要把数据发到VLAN3里的PC3只能把报文交给默认网关192.168.1.5也就是路由器的Ethernet0口由路由器来路由到192.168.1.6所对应的Ethernet1口。所以在动手配置交换机之前先把这张表写清楚后面每配一条命令都能对得上。我一般会建议把PC的IP、VLAN ID、路由器接口做成一张对应表贴在旁边配置的时候不容易乱。很多人在eNSP里复现这个场景时翻车翻车原因不是命令敲错而是PC的网关填反了。2.2 为什么用两个路由器接口而不是子接口这份文档里路由器用的是两个物理接口每个接口承担一个VLAN的网关。这是最直观的做法也是理解成本最低的做法Ethernet0管VLAN2Ethernet1管VLAN3互不干扰配置和排错都非常直白。PC1的网关填Ethernet0的地址PC3的网关填Ethernet1的地址逻辑上完全对应。另一种常见方案是单臂路由路由器只用一个物理接口通过trunk接到交换机再在路由器上划分子接口每个子接口对应一个VLAN并封装802.1Q tag。单臂路由的好处是省接口、省链路一台只有两个以太网口的路由器也能管十几个VLAN代价是理解门槛高需要同时理解VLAN tag、trunk链路和子接口封装而且所有跨VLAN流量都挤在一根物理链路上带宽压力大。文档选双物理接口方案不是因为单臂路由不好而是因为这个实验的核心是讲清楚“VLAN间通信需要路由”这件事。用两个物理接口你可以直接看到每个VLAN的网关落在哪个接口上不需要在脑子里把封装和tag绕一圈。对于刚接触跨VLAN通信的人来说这是最短路径。2.3 这套方案的适用边界华为R2621是早期AR系列的前身典型的企业分支路由器两个以太网口加若干串口定位就是小规模组网和拨号接入。S3026e是二层交换机支持VLAN划分但不支持VLANIF三层接口所以必须外接路由器才能实现VLAN间通信。这套方案适合两类场景一是学习实验在eNSP或真机上把VLAN、网关、ACL三者关系打通二是极小的分支网络比如一个门店两个部门用一台路由器和一台二层交换机解决问题。但它的扩展性边界很明显每加一个VLAN就要多占一个路由器接口接口一旦耗尽就得换三层交换机或者改单臂路由。所以在现网规划里如果VLAN数量超过三四个我一般会直接考虑三层交换机用VLANIF接口做网关后面第6章会说具体做法。3. 交换机侧配置VLAN划分与端口成员操作3.1 进入系统视图并创建VLAN交换机侧的动作其实只有三步创建VLAN、把端口放进VLAN、确认端口成员关系。S3026e作为二层交换机不需要配置IP地址也不需要配路由它在这里的角色就是一个VLAN隔离设备把4台PC分成两个二层广播域。Quidwaysys // 进入系统视图等价于 system-view [Quidway]vlan 2 // 创建VLAN2若已存在则直接进入VLAN视图 [Quidway-vlan2]port e0/1 to e0/8 // 把ethernet0/1到ethernet0/8共8个端口加入VLAN2 [Quidway-vlan2]quit // 退回系统视图 [Quidway]vlan 3 // 创建VLAN3 [Quidway-vlan3]port e0/9 to e0/16 // 把ethernet0/9到ethernet0/16共8个端口加入VLAN3 [Quidway-vlan3]quit先解释“sys”这条命令。在华为VRP系统中登录后默认处于用户视图提示符是尖括号 这个视图下只能看不能改。输入sys或system-view后进入系统视图提示符变成方括号[Quidway]这时才能创建VLAN、配置端口。很多初学者拿着文档敲命令卡在第一步就是因为没进系统视图敲vlan 2报错“Unrecognized command”。然后看vlan 2和port这两条命令的组合逻辑。vlan 2创建并进入VLAN视图接着port e0/1 to e0/8是批量添加端口“to”关键字支持连续端口范围比一条条敲port e0/1、port e0/2高效得多。需要注意端口命名在VRP里有缩写形式e0/1等价于ethernet0/1文档里用的是交换机上的物理端口编号。最后quit退回系统视图再创建VLAN3。这个习惯很重要在VLAN视图下直接敲vlan 3VRP并不总是接受稳妥做法是先quit再创建下一个VLAN。早期VRP版本在VLAN视图下切换到另一个VLAN视图命令解释逻辑会让新手绕晕。3.2 验证VLAN划分结果配置完成后一定要验证。VRP里最常用的两条查询命令是display vlan和display current-configuration。[Quidway]display vlan // 查看所有VLAN及其端口成员重点确认VLAN2里是e0/1到e0/8VLAN3里是e0/9到e0/16 [Quidway]display current-configuration // 查看当前生效的全部配置包括VLAN、端口、系统参数display vlan会直接列出VLAN ID、状态和成员端口一眼能看出端口有没有放错VLAN。display current-configuration则会显示完整的运行配置不只是VLAN相关的内容。我习惯先display vlan确认VLAN成员再display current-configuration确认没有多余的残留配置。这一步花不了两分钟但能省掉后面排错的大量时间。端口放错VLAN是这种实验里最隐蔽的问题之一因为设备大概率能正常启动ping不通时才有人意识到是交换机端口归属错了。提示改完配置后别忘了保存。华为设备配置保存在内存里不执行save命令的话重启后所有配置都会丢失。保存命令是save系统会询问是否确认默认回车即可。3.3 默认VLAN1与access端口的理解这里有一个隐藏前提S3026e上所有端口默认都属于VLAN1并且VLAN1不能删除。换句话说你在VLAN2里添加e0/1到e0/8本质上是把这8个端口从VLAN1挪到了VLAN2端口和VLAN的从属关系是一对一的这就是access端口的行为特征。Access端口只允许属于一个VLAN从该端口进入的报文不打VLAN tag出方向也不带tag。本实验中4台PC全部接在access端口上所以PC侧不需要做任何VLAN配置插上就能用这也是为什么文档里只配置交换机而没有要求PC装任何802.1Q驱动。对于二层交换机上的普通PC接入场景access端口就是标准答案trunk端口是给交换机之间或交换机到路由器子接口这种需要承载多个VLAN的链路用的本实验没有trunk需求。还要理解一个细节VLAN2和VLAN3分别占用了8个端口但实际只有4台PC在用其余端口处于空闲状态。这样配置的好处是后续加PC不需要再改端口成员直接插到对应VLAN的空闲端口上就能接入。如果只分配4个端口后续加设备就要重新改配置反而麻烦。4. 路由器侧配置接口IP、防火墙默认拒绝与ACL规则4.1 配置接口IP作为VLAN网关交换机划分好VLAN之后VLAN2和VLAN3之间还是不通的因为二层隔离已经生效。现在轮到路由器出场给Ethernet0配上192.168.1.5给Ethernet1配上192.168.1.6这两个地址就是前面IP规划表里的网关。[Router]interface ethernet0 [Router-Ethernet0]ip address 192.168.1.5 255.255.255.0 // 指定Ethernet0接口的IP地址同时作为VLAN2的网关 [Router-Ethernet0]quit [Router]interface ethernet1 [Router-Ethernet1]ip address 192.168.1.6 255.255.255.0 // 指定Ethernet1接口的IP地址同时作为VLAN3的网关 [Router-Ethernet1]quitinterface ethernet0进入接口视图提示符变成[Router-Ethernet0]这里配置的ip address命令带了完整的子网掩码255.255.255.0。这个掩码必须和PC的掩码一致否则PC计算目标地址是否在本地网段时会出错直接把报文丢弃或错误地发往其他网关。为什么要给每个VLAN配一个独立网关因为VLAN间通信的本质是PC1发现目标PC3和自己是同网段尝试二层通信失败后会检查网关是否存在。如果两台PC的网关都是同一个IP那它们会走同一个路由器接口这个接口只能属于一个VLAN另一个VLAN的PC拿这个地址当网关二层根本到达不了。所以每个VLAN必须有自己对应的网关接口这是VLAN间路由的基本要求。4.2 开启防火墙功能并设置默认拒绝路由器接口IP配好后理论上一台路由器就能完成VLAN间路由但这份文档加入了访问控制先开启防火墙功能然后把默认策略设为deny。[Router]firewall enable // 开启防火墙功能相当于一个全局总开关 [Router]firewall default deny // 设置默认报文过滤策略为拒绝未匹配到permit规则的流量全部丢弃firewall enable是华为路由器上防火墙功能的全局开关开启后所有进出路由器的报文都会经过策略匹配。firewall default deny则是把默认动作从permit改成deny这句是整套配置里最容易引起连锁反应的一条。默认deny意味着什么意味着只要没有显式放行的流量一律丢弃。这个策略和ACL配合使用的思路是“白名单”模型先关上门再逐条开窗。在现网里这样设计很常见但实验环境里很多人刚配完default deny就去ping发现所有PC都ping不通包括ping自己的网关然后开始怀疑设备坏了。其实原因很简单你还没有配任何放行规则或者管理面的流量也被默认策略挡了这个问题我会在第5章详细展开。4.3 配置ACL规则控制特定主机互访防火墙默认拒绝的下一步就是配置ACL规则来放行需要互通的流量。文档里的需求是允许192.168.1.1访问192.168.1.3也就是PC1可以访问PC3其他主机默认不通。[Router]acl 101 // 创建基本访问控制列表101编号101表示高级ACL可匹配源地址、目的地址、协议等 [Router-acl-101]rule permit ip source 192.168.1.1 0.0.0.0 destination 192.168.1.3 0.0.0.0 // 允许源IP为192.168.1.1的主机访问目的IP为192.168.1.3的主机 [Router-acl-101]quit注意这里通配符的写法。华为ACL中source和destination后面跟的是通配符反掩码不是子网掩码。0.0.0.0表示精确匹配单个主机地址所以rule permit ip source 192.168.1.1 0.0.0.0表示只匹配源IP是192.168.1.1的报文如果写成255.255.255.0含义就完全不同了它表示匹配192.168.1.0这个网段会把192.168.1.1到192.168.1.254全放进来这就背离了“只允许PC1访问PC3”的意图。这个坑很多人都会踩后面避坑章节再细说。ACL创建完成后还需要在接口上应用才能生效这个动作是把ACL和防火墙策略绑定在一起。4.4 在接口上应用ACL策略ACL本身只是一组规则不绑定到接口上它就是一个躺在配置里的空壳。文档里把101规则同时应用到了Ethernet0和Ethernet1两个接口上这么做的原因和防火墙默认deny的机制有关。[Router]interface ethernet0 [Router-Ethernet0]firewarden policy apply 101 // 在Ethernet0上应用ACL 101规则简写为fire pa 101 [Router-Ethernet0]quit [Router]interface ethernet1 [Router-Ethernet1]firewarden policy apply 101 // 在Ethernet1上应用ACL 101规则 [Router-Ethernet1]quit这里简短说明一下命令的两种写法。文档原文是fire pa 101即firewarden policy apply 101的缩写。完整命令在VRP老版本中可用输入时设备支持Tab补全所以实际敲起来差别不大但看别人配置时要能认出两种写法是同一个东西。为什么要两个接口都应用ACL匹配是按“接口方向”来生效的。报文从PC1出发进入Ethernet0时经过一次检查从Ethernet1出去时如果Ethernet1上没有应用策略那么Ethernet1侧只受默认deny控制。为了让规则完整覆盖“进和出”文档选择在两个接口上同时应用。还有一种更常用的做法是在各接口分别应用侧重本方向的策略比如Ethernet0只控制来自192.168.1.1的流量Ethernet1只控制发往192.168.1.3的流量但那样配置会更分散排错也更费事。文档这种双接口同策略的方式虽然规则单一但至少不会出现“进得去出不来”的漏洞。还有一个方向性问题值得说透。这条ACL是permit 192.168.1.1到192.168.1.3但它是单向的。PC1能主动访问PC3PC3反过来主动访问PC1却会被拒绝因为源是192.168.1.3的报文不匹配任何permit规则。在真机实验中很多人会发现“PC3 ping PC1不通”以为配置错了其实ACL设计就是这样。如果需要双向互通就要再补一条反向的permit规则这就是ACL的白名单特性。5. 排错与避坑反掩码、默认deny、配置保存一个都不能少5.1 PC1 ping不通PC3ACL规则看着没问题现象按文档配置完PC1去ping PC3超时但PC1能ping通自己的网关192.168.1.5。原因ACL规则里的通配符写错了。写成source 192.168.1.1 255.255.255.0在华为VRP里它表示匹配192.168.1.0到192.168.1.255整个网段而不是单台主机。但问题往往更隐蔽有些版本里这种写法会导致规则匹配行为和你预期完全不一致甚至出现“规则存在但不生效”的假象。解决把通配符改成0.0.0.0精确匹配单台主机。进到ACL视图里用undo rule删除错误规则后重新添加。我一般会建议先用display acl 101查看现有规则确认规则内容和顺序再决定是修改还是重写。ACL规则是按顺序匹配的一旦前面有条permit ip any any后面所有规则都白写这个顺序问题也要一起检查。5.2 开启firewall default deny后整个网络都不通了现象在路由器上敲完firewall default deny再去ping任何一台PC、任何网关全部不通。原因默认deny是一个全局策略不只是限制跨VLAN的访问它把所有未经permit规则放行的流量全部拒绝包括从PC到网关的流量、路由器的管理流量甚至某些情况下直连网段之间的报文也会被拦。很多人配置防火墙策略时只想着“放行A到B”忘了自己ping网关的这个动作也需要被允许。解决在配置default deny之前先想清楚管理面和转发面需要哪些放行规则。最稳妥的恢复方法是先取消default deny在接口上用undo firewarden policy apply去掉ACL绑定确认网络恢复后再一步步加回规则。记住一个原则default deny是最后一步不是第一步。配置顺序应该是先把permit规则写好再用接口应用策略最后才开启default deny这样即使有遗漏影响范围也更容易定位。5.3 配置重启后全部丢失回到出厂状态现象实验做完第二天开机发现VLAN划分和ACL全没了交换机跟新出厂一样。原因华为设备配置保存在内存中display current-configuration看到的是当前运行配置但设备断电后内存清空。没有执行save命令的话所有配置只活在“当下”。解决在系统视图下执行save系统会询问是否保存配置回车确认即可。保存后可以执行display saved-configuration查看已保存的配置和当前运行配置对比确认两边一致。我自己的习惯是每完成一个功能模块就保存一次比如VLAN划分完保存一次ACL配完再保存一次避免多个模块一起改完最后忘了保存某个关键配置。这不算洁癖是真机调试时的基本素质。5.4 从交换机侧管理路由器时被默认策略拦截现象交换机配好了管理IP想通过telnet或SSH连到路由器上进行维护结果连接超时路由器本身却工作正常。原因默认deny策略把管理平面的访问也挡掉了。很多人的注意力全在业务流量上忘了设备管理也是一种流量而且管理流量经过的是路由器的控制平面同样要过防火墙策略。解决要么在ACL里放行管理网段到路由器接口的访问要么在配置default deny之前先把管理通道打通。在实际项目中管理面的ACL应该单独规划比如只允许192.168.1.0/24这个网段访问路由器的telnet/SSH端口其他网段一律拒绝。这样既保证了安全性又避免了管理断连的尴尬。5.5 配置文件里的密码是明文存在泄密风险现象执行display current-configuration时看到telnet密码、enable密码直接以明文形式展示。原因这台设备的密码存储方式用了明文或可逆的低强度加密。华为设备里配置密码时有simple和cipher两种关键字文档里没有提及这点但实际配置中很多人图省事直接用了simple导致密码裸奔在配置文件里。解决配置密码时使用cipher关键字设备会以密文形式保存。同时注意早期的type7密文在部分实现中是可逆的安全等级不够不能当作唯一防线。更稳妥的做法是结合登录源ACL限制管理地址范围再把配置文件备份放到安全的位置。这里想强调一个观念密码加密和ACL是两件事加密解决的是配置文件泄露后的口令保护问题ACL解决的是谁能访问设备的问题两个都该做。6. 验证与进阶从ping通到策略命中再到三层交换机做网关6.1 用最少的命令验证整套配置配置完成后不要急着收工先做一轮验证。验证顺序有讲究先验证网络连通性再验证策略行为最后确认配置已保存。# 在PC1上测试到网关的连通性 ping 192.168.1.5 # 在PC1上测试到PC3的连通性 ping 192.168.1.3 # 在路由器上查看ACL规则 [Router]display acl 101 # 在路由器上查看当前生效配置 [Router]display current-configurationPC1能ping通192.168.1.5说明VLAN2内的二层链路没有问题能ping通192.168.1.3说明路由器完成了VLAN2到VLAN3的路由并且ACL放行了这条路径。然后在PC3上反向ping PC1正常情况下应该不通这反而验证了ACL的单向控制生效。如果想进一步确认ACL是否命中了报文可以使用display acl 101查看匹配计数器的变化。先记录当前计数再在PC1上发起一次ping重新查看计数是否增加。如果计数在涨说明报文确实经过了ACL匹配如果计数不变但网络通那就要怀疑流量走了其他路径。这个“看计数器”的习惯比反复ping来ping去有效得多。6.2 进阶把网关从路由器搬到三层交换机上这份文档里的S3026e是二层交换机必须外接路由器做网关但在现网中更常见的是三层交换机直接做网关。华为三层交换机上的实现方式是通过VLANIF接口[Switch]interface vlanif 2 [Switch-Vlanif2]ip address 192.168.1.5 255.255.255.0 [Switch-Vlanif2]quit [Switch]interface vlanif 3 [Switch-Vlanif3]ip address 192.168.1.6 255.255.255.0 [Switch-Vlanif3]quitVLANIF接口的IP就是对应VLAN的网关交换机内部直接完成VLAN间的路由转发不需要外部路由器。这样做的好处是网关和VLAN划分在同一台设备上配置逻辑更集中而且转发性能远高于通过外部路由器绕一圈代价是需要在三层交换机上启用VLAN间路由功能并且ACL的应用位置从路由器接口变成了VLANIF接口或VLAN内部。学习了这份文档再去理解VLANIF方案会顺畅很多因为底层逻辑完全一样VLAN负责隔离网关负责汇聚ACL负责控制。区别只是“做路由的设备”从独立路由器变成了交换机内部的虚拟接口。这种边界认知是很值钱的你知道什么条件下该选哪种方案而不是拿到设备就盲目敲命令。从那以后我每次配完ACL都会强制走一遍三件事display acl看规则和顺序、ping测试确认预期行为、save保存当前配置。尤其是涉及firewall default deny这类全局开关时一定会先把管理放行规则写好再动全局策略这个顺序从来没敢跳过。希望帮到你。本文还有配套的精品资源点击获取
返回列表