尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

华为交换机配置静态路由实现VLAN间通信实战指南

华为交换机配置静态路由实现VLAN间通信实战指南 之前在 eNSP 里练习 VLAN 划分时很多朋友会遇到同一个问题明明已经按教程把交换机接口加入 VLAN又把 PC 的 IP 地址配好可两台机器就是 ping 不通。折腾半天、重新加载设备也没用最后才发现问题不是出在 VLAN 本身而是“三层路由”没有配置到位。这类场景在真实项目中非常典型公司内部按部门划分了多个 VLAN不同 VLAN 属于不同网段二层隔离已经完成但业务上往往又需要这些网段之间能互相访问。想要打通这些网段靠二层交换机是不够的必须引入三层路由能力。而静态路由就是最基础、最容易理解、也最适合入门阶段掌握的“跨网段通信”手段。本文围绕“配置静态路由实现交换机 VLAN 间通信”这一主题从概念、原理、常用命令到完整实战案例逐一展开。内容兼顾新手和有一定基础的读者全文使用华为交换机命令风格同时会说明命令的执行视图与常见误区。无论是准备 HCIA、备考网络工程师还是在公司里真正调试交换机这篇文章都可以作为一份可复用的操作笔记。1. VLAN间通信为什么需要“三层”参与1.1 VLAN是把双刃剑隔离了广播也隔离了通信VLANVirtual Local Area Network虚拟局域网的主要作用是在一台物理交换机上划分出多个逻辑上的二层广播域。默认情况下不同 VLAN 之间是相互隔离的二层帧不会从一个 VLAN 转发到另一个 VLAN广播帧也被限制在各自 VLAN 内部。这种隔离很有价值一方面减少了广播域规模提升了网络稳定性另一方面也保护了不同业务部门之间的数据安全。比如财务电脑和研发电脑划分到不同 VLAN财务数据不会轻易暴露在研发网段里。但问题也随之而来。日常办公往往需要跨部门访问例如研发人员需要连接财务系统、生产网段的设备需要被办公网段的终端管理。VLAN 一旦隔离了二层流量也就挡住了这些跨网段请求。想打通不同 VLAN就必须让流量经过“三层路由”处理也就是路由器或三层交换机根据 IP 地址进行转发。1.2 什么是三层路由和静态路由三层路由的核心是“基于 IP 地址转发数据包”。设备收到一个数据包后会查看自己的路由表根据目的 IP 地址查找匹配的转发路径然后决定从哪个接口把数据包送出去。只要目的网段可达路由就能实现跨 VLAN、跨网段通信。静态路由是由管理员手工配置的路由条目。和动态路由协议如 OSPF、RIP不同静态路由不会自动计算路径也不会随时间变化自动收敛而是固定地告诉设备“去某个网段下一跳是某个 IP 地址。”这样说可能比较抽象我们用一个办公室网段来举例假设设备要去 192.168.20.0/24 这个网段静态路由就相当于给它贴了一个指示牌——“把去往 192.168.20.0/24 的数据包交给 10.0.0.2 处理。”至于 10.0.0.2 是否真的能再把数据包送出去那就是下一跳设备需要负责的事了。1.3 网关、VLANIF 与三层设备在 VLAN 间通信的场景里有三个概念经常一起出现网关、VLANIF 接口、三层交换机。网关Gateway是终端设备访问其他网段时默认交给的“第一跳设备”。PC 访问非同网段地址时必须配置网关 IP。VLANIF 接口是三层交换机上为某个 VLAN 创建的三层逻辑接口。给 VLANIF 配置 IP 后这个 IP 通常就是该 VLAN 内主机的网关地址。三层交换机把二层交换芯片和三层路由能力集成在一起可以在内部直接完成 VLAN 间路由因此成为现代园区网中首选的分布层和核心层设备。如果网络上只有一台三层交换机那么不同 VLAN 间的数据包可以直接通过该交换机的 VLANIF 接口完成转发此时通常不需要配置静态路由因为路由表里已经存在直连路由。但当网络中有两台三层交换机、多个出口或者需要跨越三层设备访问远端网段时静态路由就成了打通路径的关键。2. 实验环境与版本说明2.1 模拟器环境本文使用华为 eNSPEnterprise Network Simulation Platform进行实验演示。eNSP 是华为官方推出的图形化网络模拟工具可以模拟交换机、路由器、PC、防火墙等设备非常适合在网络设备不充足的情况下练习配置。eNSP 的版本会持续更新不同版本的界面可能略有差异但命令行语法基本稳定。本文将围绕通用的 VRP 命令行操作展开核心命令在 eNSP 模拟器和真实华为交换机上基本一致。如果你使用的是真实设备请务必先在测试环境验证配置不要直接在生产设备上盲目操作。2.2 本文使用的设备与接口命名示例中统一使用以下设备型号三层交换机S5700 系列eNSP 中以 S5700 模拟支持 VLANIF 三层接口。二层交换机S3700 系列eNSP 中以 S3700 模拟仅支持二层转发也可配置管理 IP但一般不用作三层网关。路由器AR2220eNSP 默认自带用于单臂路由与跨设备路由场景演示。接口名称请以你本地 eNSP 中的实际显示为准。最常见的接口命名如 GigabitEthernet0/0/1在命令中可以简写为 GE0/0/1但为了直观本文统一写完整形式。2.3 华为命令行的三个视图配置华为交换机前需要先理解三个基本视图用户视图设备启动后默认进入提示符为Huawei用于查看信息、保存配置等。系统视图在用户视图下输入system-view进入提示符为[Huawei]用于配置全局参数。接口视图 / Vlanif 视图在系统视图下interface进入提示符为[Huawei-GigabitEthernet0/0/1]或[Huawei-Vlanif10]用于配置接口或 VLANIF 参数。配置完成后建议在用户视图下执行save保存配置否则设备重启后配置会丢失。eNSP 中也可以使用quit逐级退回或使用快捷键CtrlZ直接返回到用户视图。3. 实战案例一单台三层交换机实现 VLAN 间通信3.1 场景与规划先看最简单的场景一台三层交换机 S5700 上创建 VLAN 10 和 VLAN 20分别接入两台 PC。PC1 属于 VLAN 10网段为 192.168.10.0/24PC2 属于 VLAN 20网段为 192.168.20.0/24。地址规划如下设备所属 VLANIP 地址掩码网关PC1VLAN 10192.168.10.10255.255.255.0192.168.10.1PC2VLAN 20192.168.20.10255.255.255.0192.168.20.1Switch VLANIF 10VLAN 10192.168.10.1255.255.255.0无作为网关Switch VLANIF 20VLAN 20192.168.20.1255.255.255.0无作为网关在这个场景里PC 的网关都指向交换机。交换机分别创建 VLANIF 10 和 VLANIF 20 的三层接口PC1 访问网段 192.168.20.0/24 时先把数据发送给网关 192.168.10.1交换机看到目的网段与自己直连于是通过 VLANIF 20 转发给 PC2。3.2 查看系统里是否需要配静态路由这里先强调一个容易忽略的结论只要不同 VLAN 的网关都配置在同一台三层交换机上交换机路由表中会存在直连路由此时不需要手工配置任何静态路由VLAN 间通信就已经可以完成。我们可以在配置完 VLANIF 后用display ip routing-table看到类似下面的输出Destination/Mask Proto Pre Cost Flags NextHop Interface 192.168.10.0/24 Direct 0 0 D 192.168.10.1 Vlanif10 192.168.20.0/24 Direct 0 0 D 192.168.20.1 Vlanif20Direct表示直连路由这类路由优先级最高不需要额外配置。所以如果只是在单台三层交换机上做 VLAN 间路由很多人以为要靠静态路由实际上是用不上的。3.3 交换机配置命令我们仍然以 S5700 三层交换机为例完整配置如下system-view sysname SW1 # 创建 VLAN 10 和 VLAN 20 vlan batch 10 20 # 进入 VLANIF 10配置网关 IP interface Vlanif10 ip address 192.168.10.1 255.255.255.0 quit # 进入 VLANIF 20配置网关 IP interface Vlanif20 ip address 192.168.20.1 255.255.255.0 quit # 将连接 PC1 的接口加入 VLAN 10 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit # 将连接 PC2 的接口加入 VLAN 20 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 quit return save命令含义逐条说明如下vlan batch 10 20批量创建 VLAN 10 和 20。interface Vlanif10进入 VLANIF 10 接口视图这个接口属于三层逻辑接口。ip address 192.168.10.1 255.255.255.0为该 VLANIF 配置 IP 地址该地址就是 VLAN 10 内主机的网关。port link-type access把接口设置为 access 模式用于连接终端设备。port default vlan 10将接口默认 VLAN 设置为 10这样收到无标签帧时会打上 VLAN 10 的标签。3.4 验证配置结果配置完成后在 PC1 上使用 ping 命令测试到 PC2 的连通性PC ping 192.168.20.10如果 PC 的 IP 地址、掩码、网关都配置正确并且交换机接口和 VLAN 划分无误应该能收到来自 192.168.20.10 的回复。此时可以在交换机上查看 VLAN 信息display vlan输出中会显示 VLAN 10 和 VLAN 20 各自包含的接口。再查看路由表display ip routing-table应能看到两条直连路由。这个案例验证了“三层交换机 VLANIF 网关”实现 VLAN 间通信的基本原理后续所有跨设备的静态路由配置都是在这个基础上扩展的。4. 实战案例二两台三层交换机通过静态路由实现跨设备 VLAN 间通信4.1 场景与拓扑单台交换机就能完成 VLAN 间通信那什么时候需要静态路由呢最常见的场景就是跨设备、跨网段访问。例如企业有两栋楼A 楼的接入核心是 SW1B 楼的核心是 SW2。A 楼交换机下挂着 VLAN 10 的终端网段 192.168.10.0/24B 楼交换机下挂着 VLAN 20 的终端网段 192.168.20.0/24。两台交换机之间用一条物理链路连接。此时PC1192.168.10.0/24 网段访问 PC2192.168.20.0/24 网段时数据包必须经过 SW1 → SW2 这一跳。SW1 的路由表中默认只存在本地直连路由 192.168.10.0/24并不知道 192.168.20.0/24 应该从哪里走所以必须由管理员手工添加静态路由。4.2 地址规划表为了清晰规划我们为交换机之间的互联链路单独分配一个子网这在工程上是推荐做法。设备/接口所属 VLAN/网段IP 地址掩码说明PC1VLAN 10192.168.10.10255.255.255.0网关 192.168.10.1SW1 VLANIF10VLAN 10192.168.10.1255.255.255.0PC1 网关SW1 VLANIF100VLAN 10010.0.0.1255.255.255.252与 SW2 互联SW2 VLANIF100VLAN 10010.0.0.2255.255.255.252与 SW1 互联SW2 VLANIF20VLAN 20192.168.20.1255.255.255.0PC2 网关PC2VLAN 20192.168.20.10255.255.255.0网关 192.168.20.1使用 30 位掩码的互联子网可以避免业务网段和互联网段互相混淆同时节省 IP 地址。4.3 SW1 配置SW1 的完整配置如下system-view sysname SW1 # 创建业务 VLAN 和互联 VLAN vlan batch 10 100 # 配置 VLANIF10作为 PC1 的网关 interface Vlanif10 ip address 192.168.10.1 255.255.255.0 quit # 配置 VLANIF100作为与 SW2 互联的本地接口 interface Vlanif100 ip address 10.0.0.1 255.255.255.252 quit # 连接 PC1 的业务接口 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit # 连接 SW2 的互联接口需要放通 VLAN 100 interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 100 quit # 配置静态路由去往 192.168.20.0/24 网段下一跳为 10.0.0.2 ip route-static 192.168.20.0 255.255.255.0 10.0.0.2 return save这里特别说明互联接口为什么会是 trunk 模式。SW1 和 SW2 之间的链路需要承载带 VLAN 标签的帧以便 VLAN 100 的数据在链路中正常传输。access 接口只能承载一个 VLAN所以互联接口应使用 trunk并且allow-pass vlan 100明确放通 VLAN 100。4.4 SW2 配置SW2 的配置与 SW1 对称但网段和下一跳地址不同system-view sysname SW2 vlan batch 20 100 interface Vlanif20 ip address 192.168.20.1 255.255.255.0 quit interface Vlanif100 ip address 10.0.0.2 255.255.255.252 quit interface GigabitEthernet0/0/1 port link-type access port default vlan 20 quit interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 100 quit # 配置静态路由去往 192.168.10.0/24 网段下一跳为 10.0.0.1 ip route-static 192.168.10.0 255.255.255.0 10.0.0.1 return save这段配置和 SW1 几乎相同只是业务 VLAN 换成了 20互联地址换成了 10.0.0.2静态路由的目的网段变成了 192.168.10.0/24下一跳指向 10.0.0.1。4.5 静态路由配置讲解静态路由命令的完整写法是ip route-static 目的网段 子网掩码 下一跳地址参数含义如下目的网段要访问的远端网段比如 192.168.20.0。子网掩码目的网段的掩码这里用 255.255.255.0也可以简写成 24。下一跳地址数据包交给哪台设备继续转发必须是与本地直连的地址。因此华为交换机也支持下面的简写方式ip route-static 192.168.20.0 24 10.0.0.2两种写法效果一致平时排错时看到 24 也不要觉得奇怪。4.6 PC 配置在 eNSP 中双击 PC1 进入配置界面填写IP 地址192.168.10.10子网掩码255.255.255.0网关192.168.10.1PC2 填写IP 地址192.168.20.10子网掩码255.255.255.0网关192.168.20.1这一步看似简单但很多人遗漏了“网关”字段。如果 PC 没有配置网关即使交换机路由表再完整数据包也无法到达默认网关自然无法跨网段通信。4.7 验证路由与连通性在 SW1 上执行display ip routing-table可以看到两条关键路由192.168.10.0/24 是直连路由下一跳是本地 Vlanif10。192.168.20.0/24 是静态路由下一跳是 10.0.0.2。然后从 PC1 ping PC2PC ping 192.168.20.10预期结果是能够收到回复。如果 ping 不通后面第 6 节会给出完整的排查思路。我们再看一下静态路由在视频演示中最常出现的输出Destination/Mask Proto Pre Cost Flags NextHop Interface 192.168.10.0/24 Direct 0 0 D 192.168.10.1 Vlanif10 192.168.20.0/24 Static 60 0 RD 10.0.0.2 Vlanif100Proto字段中的Static表示这条路由是由静态路由生成的优先级Pre为 60华为 VRP 默认和直连路由的 0 相比优先级较低但在没有更优路径时它就是可用的转发依据。4.8 为什么必须配置“回程路由”这个案例中很容易犯一个错误只在 SW1 上配置了去往 192.168.20.0/24 的静态路由却在 SW2 上忘记配置去往 192.168.10.0/24 的路由。结果是 PC1 ping PC2 时请求能到 PC2但 PC2 的回复到达 SW2 后SW2 的路由表中没有 192.168.10.0/24 的路由不知道该把数据包送到哪里于是丢包。这种“去程通、回程不通”的现象是静态路由场景里最典型的故障之一排错时要特别注意两边都要配置。5. 扩展场景二层交换机 路由器的单臂路由5.1 没有三层交换机时怎么办不是所有网络环境都有三层交换机。一些小型办公网络可能只有几台二层交换机加一台路由器。二层交换机无法创建 VLANIF 来作为网关这种情况下实现 VLAN 间通信通常采用单臂路由方案。单臂路由的思路是在路由器上创建多个子接口每个子接口对应一个 VLAN并配置不同网段的 IP 地址作为该 VLAN 的网关。路由器通过一个物理接口连接交换机交换机上把连接路由器的接口配置为 trunk放通多个 VLAN。这种方案的好处是复用已有的路由器不需要额外购买三层交换机缺点是所有跨 VLAN 流量都要经过路由器转发在流量较大时路由器会成为性能瓶颈所以它更适合规模较小的网络。5.2 简要配置示例假设路由器接口 GigabitEthernet0/0/0 连接二层交换机交换机侧接口配置为 trunk 并放通 VLAN 10、20。路由器侧配置如下system-view sysname R1 # 子接口对应 VLAN 10 interface GigabitEthernet0/0/0.10 dot1q termination vid 10 ip address 192.168.10.1 255.255.255.0 arp broadcast enable quit # 子接口对应 VLAN 20 interface GigabitEthernet0/0/0.20 dot1q termination vid 20 ip address 192.168.20.1 255.255.255.0 arp broadcast enable quit这里有两个关键命令dot1q termination vid子接口识别带有 802.1Q 标签的 VLAN 帧。arp broadcast enable允许子接口处理 ARP 广播否则终端可能无法解析网关 MAC。配置完成后只要二层交换机把对应的端口划入相应 VLAN并把上联口设为 trunkPC 的网关指向路由器子接口地址就能实现 VLAN 间通信。如果出口还有连接上游网络还需要配置默认路由或指向出口的静态路由否则访问外网时数据包不知道交给谁。这也是“静态路由 单臂路由”结合的场景。6. 常见问题与排查思路6.1 排错总体思路VLAN 间通信不通时先不要急着检查路由而是按“从底层到高层”的顺序排查先用 ping 网关判断二层是否正常。如果 PC 能 ping 通自己的网关说明接口、VLAN、IP 配置基本正常问题大概率出在三层路由。如果连网关都不通则需要优先检查 PC 地址、网卡状态、交换机接口 VLAN 划分、物理链路。再 ping 跨网段地址。如果跨网段 ping 不通但网关都通说明两端路由可能缺失、静态路由下一跳不可达或回程路由没有配置。实际操作中可以按下面的流程走一遍在 PC 上执行ipconfigWindows或display ip interface brief交换机确认 IP、掩码、网关是否填写正确。在交换机上执行display interface brief确认接口状态是 up。执行display vlan确认 PC 所在接口已经加入正确的 VLAN。执行display ip routing-table确认路由表中存在目的网段的路由且类型为 Direct 或 Static。检查回程方向对端设备路由表里是否也有返回源网段的路由。如果路由表没问题再检查 ARP执行display arp确认交换机能否学到对端设备的 MAC。6.2 高频问题汇总问题现象常见原因解决思路PC 根本无法 ping 通网关PC 网关配置错误交换机接口 VLAN 划错接口被 shutdown核对 PC 网关地址检查接口 state查看display vlanping 通网关但 ping 不通跨网段 PC交换机路由表中没有目的网段路由只有去程静态路由没有回程路由查看display ip routing-table补全两端静态路由静态路由已配置但仍不通下一跳地址不可达互联接口没有放通对应 VLAN先 ping 通下一跳地址再检查互联接口 trunk 配置两台交换机之间接口 up 但 VLAN 数据不通trunk 未放通对应 VLANPVID 判断不一致在互联接口执行display port vlan确认 VLAN 放通情况路由器子接口无法 ping 通终端缺少arp broadcast enable在子接口视图下补配置该命令PC 能 ping 通对端网关但 ping 不通对端 PC对端 PC 没有配置网关对端 PC 防火墙拦截检查 PC 网关配置确认对端防火墙未拦截 ICMP6.3 一个典型排查示例假设从 PC1192.168.10.10ping PC2192.168.20.10不通。我们先在 SW1 上执行display ip routing-table如果输出中没有 192.168.20.0/24 这条路由说明 SW1 缺少静态路由。再检查 SW2 上是否有 192.168.10.0/24 这条回程路由。如果两条路由都在继续检查 SW1 上的互联路由表项display ip routing-table 10.0.0.0如果 10.0.0.0/30 网段不可达很可能是互联 VLAN 没有放通此时在互联接口执行display port vlan确认 GigabitEthernet0/0/2 的 trunk 列表里存在 VLAN 100。如果没有重新配置interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 100这类排查步骤虽然琐碎但能覆盖绝大多数静态路由场景下的故障。7. 生产环境中的配置建议与最佳实践7.1 三层网关放在哪里在小规模网络中可以在一台三层交换机上创建所有业务 VLAN 的 VLANIF 接口作为网关。网关集中在一台设备上配置简单、排错方便但设备故障会影响所有 VLAN 间通信。在稍大的网络中建议核心层使用两台三层交换机做双机热备业务 VLAN 网关分布在这两台设备上配合 VRRP虚拟路由冗余协议为终端提供网关冗余。动态路由协议如 OSPF会在三层设备之间自动交换路由信息减少手工配置静态路由的维护成本。静态路由更适用于网络规模小、拓扑固定、链路简单的场景。当设备数量增多、链路出现冗余后静态路由的维护成本会快速上升此时应优先考虑动态路由。7.2 互联地址和静态路由的规划建议设备间的互联链路建议单独划分网段不要复用业务网段。互联网段通常使用 30 位掩码每个链路只占用 2 个可用地址既节省地址又方便排错。给链路单独创建一个管理 VLAN或者在互联接口上直接配置 VLANIF 地址。不要把业务 VLAN 和互联 VLAN 混在同一个广播域中。静态路由的目的地址建议尽量精确。在只有单条出口链路时可以配置默认路由ip route-static 0.0.0.0 0 下一跳来简化配置但如果存在多条出口链路应使用明细路由避免次优路径造成流量绕行。配置完成后应在所有三层设备上display ip routing-table逐一核对路由而不是只检查一台设备。回程路由缺失是最隐蔽的故障。7.3 规避常见误操作所有配置结束后一定记得save。eNSP 里如果忘记保存关闭设备后一切配置都会消失。不要在生产设备上直接实验。先在模拟器或测试环境验证命令确认无误后再上生产设备。配置命令前建议先备份当前配置使用display current-configuration导出原有配置。批量改动时逐台设备操作每完成一台就验证一次连通性不要一次性把所有设备全部改完以免问题出现时无法定位。如果交换机开启 SSH 或 Telnet 远程管理修改三层配置时可能存在断网风险建议通过 console 口进行关键变更。7.4 后续还可以学习什么静态路由只是三层路由的起点。掌握本文内容后建议继续学习以下方向默认路由与浮动静态路由理解0.0.0.0/0的用途以及如何通过调整静态路由优先级实现主备链路切换。动态路由协议 OSPF了解链路状态路由协议如何自动发现邻居、计算最短路径。VRRP 与网关冗余大型网络中保证网关高可用的核心机制。ACL 与防火墙策略三层路由打通后安全策略如何限制哪些 VLAN 允许互访、哪些 VLAN 必须隔离。三层通了只是网络能用的前提权限和策略控制才是网络规划中更复杂也更重要的部分。建议在 eNSP 里把这三种实战拓扑单台三层交换机、两台三层交换机加静态路由、二层交换机加路由器单臂路由反复练习几遍重点观察路由表和 ARP 表的变化。只要这三类实验能做通园区网里最常见的 VLAN 间通信需求基本就能独立应对了。
返回列表