资讯动态

华为交换机VLANIF sub子地址配置:实现同VLAN跨网段通信

发布时间:2026/9/8 6:26:38 来源:尧图企业网站定制
之前在排查一个办公网络问题时遇到过这样一幕打印机在192.168.20.0/24网段电脑却挂在192.168.10.0/24网段两个设备碰巧被划在同一个 VLAN 里。按理说它们处于同一个二层广播域但电脑就是访问不了打印机。当时第一反应是“同一个 VLAN 怎么还不通”后来才意识到VLAN 解决的是二层隔离问题而 IP 通信还涉及三层路由跨网段的报文必须经过网关才能转发。本文要讨论的就是这类场景交换机上通过 VLANIF 接口配置一个主地址再为它增加一个或多个sub子地址让同一个 VLAN 能同时承载多个网段并且这些网段之间的主机可以互相通信。全文会从原理、配置、验证、排错几个方面展开适合刚接触华为或 H3C 交换机的网络初学者也适合需要在现有网络上快速解决跨网段访问问题的运维工程师。读完这篇文章你会理解sub地址的本质是什么知道它与多 VLANIF 方案的区别也能直接套用一套可落地的交换机配置。1. 为什么会出现“同 VLAN 不同网段”的需求1.1 同一个 VLAN二层能通IP 层却不一定能通VLAN 的作用是划分广播域。同一个 VLAN 内的设备处于同一个广播域彼此之间可以直接发送广播帧和普通数据帧。这里的“直接”指的是二层层面也就是 MAC 地址寻址。但 IP 通信不一定只依赖二层。当 PC-A 的 IP 是192.168.10.2/24PC-B 的 IP 是192.168.20.2/24时PC-A 用自己的掩码255.255.255.0去计算会发现目标 IP192.168.20.2不在自己的直连网段内。按照 TCP/IP 协议栈的行为PC-A 不会直接发送 ARP 请求去找 PC-B 的 MAC 地址而是会把数据包交给默认网关。也就是说即使 PC-A 和 PC-B 在同一个 VLAN、同一个广播域二层帧完全可以把 ARP 请求广播到 PC-B但 PC-A 的协议栈根本不会这样做。它要先把数据包发给网关由网关决定下一步怎么走。所以同一个 VLAN 内不同网段的设备能不能通信核心取决于终端是否配置了网关。网关是否认可目标网段。网关是否具备到达目标网段的路由。1.2 实际工程中的典型场景这种“同 VLAN 不同网段”的组网并不是刻意设计的很多时候是历史遗留或临时的业务需求打印机、门禁控制器、视频监控等设备使用固定 IP 网段和办公电脑的网段不一致。虚拟机平台分配了新的 IP 地址池但物理端口还属于原有 VLAN。临时扩容地址空间不方便立即新增 VLAN。办公网终端采用 DHCP 分配192.168.10.0/24而部分服务器或设备在192.168.20.0/24又希望它们在同一个广播域内共享服务。如果采用常规思路一般会把192.168.20.0/24单独划分一个 VLAN然后配置 VLANIF 接口实现 VLAN 间路由。但这需要改动接入端口、VLAN 划分、防火墙策略工作量和风险都比较大。如果在交换机上为同一个 VLANIF 接口增加一个sub子地址就能以很小的工作量解决问题。这也是本文要讲的核心方案。2. VLANIF 与 sub 子地址的核心概念2.1 VLANIF 是什么VLANIF 是在三层交换机上为某个 VLAN 创建的逻辑三层接口。二层交换机无法创建 VLANIF 接口或者说即使创建了也不能配置 IP 地址因为 VLANIF 依赖交换机的三层转发能力。VLANIF 的主要职责是充当该 VLAN 内终端的三层网关。举个例子VLAN 10 终端网段192.168.10.0/24 VLANIF 10192.168.10.1/24终端把默认网关配置成192.168.10.1跨网段访问时把数据包交给该网关。交换机收到数据包后通过查找路由表决定下一跳。VLANIF 接口可以配置 IP 地址也可以配置多个 IP 地址。这一点和路由器的物理接口非常相似。2.2 sub 子地址是什么sub是 subaddress 的简写中文常翻译为“子地址”或“从地址”。在华为 VRP 和 H3C Comware 中一条接口可以配置一个主 IP 地址之后可以通过ip address 地址 掩码 sub继续增加多个地址。这些增加的地址被称为 sub 地址。一个接口上的 sub 地址有几个特点必须存在主地址之后才能配置。sub 地址与主地址属于同一个三层接口。sub 地址同样会生成直连路由。sub 地址作为终端网关时可以正常响应 ARP 请求并转发跨网段流量。删除主地址时通常会影响 sub 地址的配置所以不要轻易删除。2.3 与多 VLANIF 方案的区别方案实现方式优点缺点多 VLANIF新增 VLAN 20端口划分到 VLAN 20再配置 Vlanif20网络规划清晰便于策略控制改动端口和 VLAN工作量大VLANIF sub同一个 VLAN 内使用多个网段VLANIF 配多个地址配置简单不改动 VLAN 和端口网段与 VLAN 的对应关系不直观单臂路由路由器子接口终结多个 VLAN适合小型网络带宽瓶颈配置繁琐从运维角度看sub 地址更适合短期解决跨网段访问问题而多 VLANIF 更适合中长期规划。对于追求清晰的网络架构来说VLAN 与网段一对一仍然是最推荐的方式。2.4 不是“子接口”有一个容易混淆的概念交换机的三层子接口。例如在物理接口上配置dot1q termination vid创建的子接口处理的是带 VLAN Tag 的流量通常用于路由器与交换机之间的单臂路由。而 VLANIF 的 sub 地址是“同一个三层接口上的多个 IP”不涉及 VLAN Tag 的重新封装也与子接口是两回事。很多朋友看到“sub”会下意识想到子接口需要特别注意。3. 实验环境与地址规划3.1 网络拓扑说明为了演示我们设计一个最简单的实验环境。----------------------- | SW1 (三层) | | Vlanif10: | | 192.168.10.1/24 | | 192.168.20.1/24 sub | | | --------------------- | | GE0/0/1 GE0/0/2 | | ------- ------- | PC-A | | PC-B | | VLAN10 | | VLAN10 | -------- --------交换机的 GE0/0/1 和 GE0/0/2 都属于 VLAN 10。PC-A 的 IP 地址为192.168.10.10/24网关为192.168.10.1。PC-B 的 IP 地址为192.168.20.10/24网关为192.168.20.1。交换机上创建 VLAN 10配置 VLANIF 10 的主地址为192.168.10.1/24sub 地址为192.168.20.1/24。PC-A 和 PC-B 虽然不在同一个网段但 VLAN 相同。配置完成后从 PC-A 可以 ping 通 PC-B。3.2 版本与设备要求本文命令基于华为 VRP 系统编写H3C Comware 的命令基本一致思科设备使用 secondary 关键字思路相同。关键前提交换机必须是三层交换机。交换机需要支持 VLANIF 接口。配置过程中不涉及版本特殊差异。如果你使用的是华为 S5700、S6720、S12700 等常见框式或盒式三层交换机命令都能直接使用。需要注意如果你的设备是纯二层交换机例如部分 S1700 系列或 S2700 系列则无法创建 VLANIF 接口的 IP 地址这种情况只能用外部路由器做单臂路由或者更换三层交换机。4. 华为交换机配置实战4.1 创建 VLAN 并将端口加入 VLAN先登录交换机进入系统视图system-view创建 VLAN 10vlan 10 quit把 GE0/0/1 配置为 access 口并划入 VLAN 10interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit同样处理 GE0/0/2interface GigabitEthernet0/0/2 port link-type access port default vlan 10 quit如果交换机连接的是 Trunk 口则需要在 Trunk 口上放行 VLAN 10例如interface GigabitEthernet0/0/3 port link-type trunk port trunk allow-pass vlan 10 quit这里有一个常见误区有些朋友会在 VLANIF 接口下执行port link-type access这是错误的。VLANIF 是三层逻辑接口不是二层物理接口不支持端口链路类型配置。4.2 配置 VLANIF 主地址创建 VLANIF 10 并配置主 IP 地址interface Vlanif 10 ip address 192.168.10.1 255.255.255.0此时 VLANIF 10 的主地址为192.168.10.1/24它作为192.168.10.0/24网段的网关。4.3 配置 sub 子地址继续在同一个 VLANIF 10 接口下配置 sub 地址ip address 192.168.20.1 255.255.255.0 sub配置完成后VLANIF 10 同时拥有两个 IP 地址主地址192.168.10.1/24sub 地址192.168.20.1/24此时交换机的路由表会生成两条直连路由192.168.10.0/24 Direct Vlanif10 192.168.20.0/24 Direct Vlanif10也就是说交换机认为这两个网段都是自己的直连网段。来自192.168.10.0/24的报文如果目的地址在192.168.20.0/24交换机会直接查询 ARP 表项找到 PC-B 的 MAC 地址后转发不需要再经过其他路由器。4.4 配置终端网关PC-A 的网络配置IP 地址192.168.10.10子网掩码255.255.255.0默认网关192.168.10.1PC-B 的网络配置IP 地址192.168.20.10子网掩码255.255.255.0默认网关192.168.20.1在 PC-A 上执行ping 192.168.20.10如果配置正确应该可以看到来自192.168.20.10的回复。同样在 PC-B 上执行ping 192.168.10.10正常情况下也能收到回复说明两个网段已经可以通过同一个 VLANIF 接口实现互相访问。4.5 验证交换机上的配置在交换机上查看 VLANIF 接口的 IP 地址信息。display ip interface brief输出中可以看到 Vlanif10 同时拥有两个地址*down: administratively down !down: FIB overload down ^down: standby down Interface IP Address/Mask Physical Protocol Vlanif10 192.168.10.1/24 up up Vlanif10 192.168.20.1/24 up up也可以查看当前配置display current-configuration interface Vlanif 10输出大致如下interface Vlanif10 description To_Office_LAN ip address 192.168.10.1 255.255.255.0 ip address 192.168.20.1 255.255.255.0 sub #如果配置了 description建议写清楚用途方便后续维护。4.6 增加更多 sub 地址如果需要在一个 VLAN 内同时支持三个甚至更多网段可以继续添加interface Vlanif 10 ip address 192.168.30.1 255.255.255.0 sub ip address 192.168.40.1 255.255.255.0 sub不过实际工程中不建议在一个 VLAN 上堆积太多网段尽量控制在两三个以内。网段越多ARP 表项和广播域越复杂排错难度也会上升。4.7 H3C 与思科设备的对应配置H3C 交换机的配置思路基本一致interface Vlan-interface 10 ip address 192.168.10.1 24 ip address 192.168.20.1 24 sub需要注意的是H3C 在接口下输入ip address时掩码支持用长度表示例如24代表255.255.255.0。思科设备的关键字是secondaryinterface Vlan10 ip address 192.168.10.1 255.255.255.0 ip address 192.168.20.1 255.255.255.0 secondary5. 通信原理与数据转发过程5.1 为什么不能直接 ARP 对端PC-A 配置的是192.168.10.10/24它要访问 PC-B 的192.168.20.10。PC-A 会先执行一个“目的 IP 与本地掩码运算”的判断192.168.20.10 255.255.255.0 192.168.20.0 192.168.10.10 255.255.255.0 192.168.10.0两者计算结果不同所以 PC-A 判定 PC-B 不在同一个网段。它不会发送 ARP 请求询问192.168.20.10的 MAC 地址而是直接把数据包发送给默认网关。也就是说PC-A 需要先知道网关192.168.10.1的 MAC 地址然后把 IP 数据包封装在以太网帧中目的 MAC 地址是网关的 MAC源 MAC 地址是 PC-A 自己的 MAC。5.2 交换机作为网关的响应过程交换机收到 PC-A 发来的 ARP 请求请求内容是谁拥有192.168.10.1。由于交换机上 VLANIF 10 配置了192.168.10.1交换机就会回复自己的 MAC 地址。PC-A 学习到网关 MAC 后开始发送数据包。数据包到达交换机后交换机需要做三层转发解封装以太网帧。查看 IP 头中的目的地址192.168.20.10。查找路由表发现192.168.20.0/24是直连网段出接口是 Vlanif10。查找 ARP 表项尝试获取192.168.20.10对应的 MAC 地址。如果 ARP 表项不存在交换机在 VLAN 10 内发送 ARP 广播询问谁是192.168.20.10。PC-B 响应后交换机把数据包重新封装以太网帧目的 MAC 修改为 PC-B 的 MAC通过相同的 VLAN 10 转发给 PC-B。这里比较关键的一点是虽然 PC-A 和 PC-B 在同一个 VLAN 中但这个转发过程本质上仍然是三层转发。交换机改写了源 MAC 和目的 MAC同时 IP 头中的 TTL 值减一。5.3 路由表与 ARP 表的作用配置 sub 地址后交换机不必依赖外部路由协议也不需要额外写静态路由。因为192.168.10.0/24 是 Vlanif10 的直连路由 192.168.20.0/24 是 Vlanif10 的直连路由直连路由自动生效后交换机只需要完成目标网段内的 ARP 解析就能把报文送到主机。如果这个网段是通过静态路由或动态路由学习到的交换机会先把报文交给下一跳设备而不是自己直接查找目的主机的 MAC。这也是直连网段的特殊之处。5.4 主地址与 sub 地址的行为差异在实际使用中sub 地址不会主动发送 ARP 广播但它可以正常响应目的地址是自己的 ARP 请求也能作为报文的源地址。这里有一个需要注意的地方如果交换机发生故障或者需要从交换机主动发起 ping 测试建议使用主地址作为源地址。部分设备默认使用接口主地址作为 ping 报文的源地址这样更方便确认路由和链路状态。另外同一接口的主地址和 sub 地址不能配置为同一个网段。例如主地址是192.168.10.1/24sub 地址就不能再配置192.168.10.2/24因为同一个接口上两个同网段地址没有实际意义也可能产生路由冲突。5.5 掩码配置错误导致的问题在实际排障中有一个非常经典的现象PC-A 的掩码配置成了255.255.255.0但 PC-B 的掩码配置错误地写成了255.255.255.0这里看似没有问题。但如果 PC-A 的掩码是255.255.255.0PC-B 的掩码也是255.255.255.0双方判断并不在同一网段走网关逻辑这没有问题。真正容易出问题的场景是某台 PC 的掩码被错误配置成了255.255.0.0导致它认为192.168.20.10和自己在同一个网段于是直接发送 ARP 请求查找 PC-B 的 MAC 地址。此时 PC-B 收到 ARP 请求后用自己的 /24 掩码判断发现 PC-A 不在同一网段不会直接回复 ARP最终通信失败。所以排查这类问题时要同时检查终端 IP、掩码、网关配置是否一致。6. 验证手段与常见问题排查6.1 查看接口地址与路由信息在交换机上执行display ip interface brief确认 Vlanif10 是否同时存在192.168.10.1/24和192.168.20.1/24。再执行display ip routing-table确认两个网段都显示为 Direct 路由。如果路由表不正常需要检查是否真的配置了 sub 地址以及是否保存了配置。6.2 检查 ARP 表项如果终端可以 ping 通网关却 ping 不通另一台终端可以在交换机上查看 ARP 表display arp重点确认交换机是否学习到了 PC-A 的 MAC 地址。交换机是否学习到了 PC-B 的 MAC 地址。两个终端的 ARP 表项是否对应正确的 VLAN 和接口。如果只有一方有 ARP 表项可能原因包括PC-B 防火墙拦截了 ICMP 或 ARP。PC-B 没有配置正确的网关。PC-B 的网卡在休眠或网络被禁用。6.3 使用 ping 命令验证在 PC-A 上分别执行ping 192.168.10.1 ping 192.168.20.1 ping 192.168.20.10分段定位问题第一个 ping 通说明 PC-A 到本地网关没问题。第二个 ping 通说明交换机上 VLANIF 10 的 sub 地址配置没问题。第三个 ping 通说明 PC-A 和 PC-B 之间的跨网段通信完全正常。如果第二个 ping 不通优先检查交换机上的 sub 地址配置如果第三个 ping 不通优先检查 PC-B 的 IP、掩码、网关和防火墙策略。6.4 常见问题表格问题现象常见原因解决思路终端 ping 不通网关VLANIF 未配置或接口 down检查 vlan 是否创建、端口是否加入 VLAN、VLANIF 是否有 IP能 ping 通主地址网关ping 不通 sub 地址网关sub 地址配置错误或未保存执行 display ip interface brief 确认地址终端之间无法通信PC 网关配置错误检查两台终端默认网关是否分别指向主地址和 sub 地址终端可以互 ping但业务访问异常主机防火墙或 ACL 拦截检查终端防火墙、交换机 ACL 策略交换机配置了下发失败设备不支持 VLANIF 三层接口确认交换机型号为三层交换机删除主地址后 sub 丢失主地址与 sub 地址的依赖关系避免删除主地址修改前先备份配置6.5 防火墙与安全策略很多跨网段不通的问题并不在路由而在安全策略。例如 Windows 终端默认开启了防火墙在“公用网络”配置下会拦截 ICMP 回显请求导致 ping 不通。测试时可以先临时关闭防火墙或者调整防火墙入站规则允许 ICMP 和对应的业务端口。如果交换机上配置了 ACL例如在 Vlanif10 下应用了入方向或出方向的过滤规则也需要逐一检查 ACL 是否允许192.168.10.0/24与192.168.20.0/24之间的互访。7. 最佳实践与工程建议7.1 合理控制 sub 地址数量VLANIF 的 sub 地址虽然可以配置多个但建议在规划阶段就控制数量。一个 VLAN 对应多个网段会增加以下运维负担不容易判断网段与业务的关系。广播域仍然只有一个ARP 表项会增多。排错时容易忽略“哪些网段属于同一个 VLAN”。后续割接拆分 VLAN 时工作量大。如果业务增长后网段数量较多更推荐重新规划 VLAN把不同网段拆到不同 VLAN再通过三层交换机或防火墙做 VLAN 间路由。7.2 使用 description 标记用途在 VLANIF 接口下添加 description是成本最低的可维护性措施。interface Vlanif 10 description Office_192.168.10.0_Printer_192.168.20.0 ip address 192.168.10.1 255.255.255.0 ip address 192.168.20.1 255.255.255.0 sub这样后续任何人查看配置都能快速理解这个接口为什么会有多个地址。7.3 修改配置前先备份涉及交换机 IP 地址的修改风险往往不可控。推荐顺序使用display current-configuration备份当前配置。使用save保存修改前的配置。在测试环境验证 sub 地址配置方案。在业务低峰期进行变更。变更后及时保存配置。如果交换机支持远程登录修改地址时还要确保不要把自己“关在门外”。比如你通过192.168.10.1管理交换机删除该地址前要确认有没有其他管理路径。7.4 理解 sub 地址与安全的边界sub 地址解决的是三层可达性问题并不等于安全隔离。同一个 VLAN 包含多个网段时网段之间默认是互通的。如果业务上要求192.168.10.0/24不能访问192.168.20.0/24不能依靠“不同网段自动隔离”这种误解必须在交换机上配置 ACL 或在防火墙上做策略。这一点在很多“同 VLAN 不同网段”的改造中容易被忽略结果网络通了但业务上的安全边界也被打破了。7.5 与“基于 IP 子网的 VLAN 划分”区分前面提到过还有一种技术叫 IP 子网 VLAN 划分例如华为的ip subnet-based vlan。它根据报文的源 IP 地址把不同网段的流量动态划分到不同 VLAN 中用于解决“同一台终端根据 IP 归属进入不同 VLAN”的需求。如果需要控制的是流量的 VLAN 归属而不是通信路径那应该研究 IP 子网 VLAN 划分如果需要解决“同一个 VLAN 内多网段互通”则使用 VLANIF sub 地址更合适。两者经常被混淆但解决的问题并不相同。7.6 DHCP 场景的注意事项如果交换机同时承担 DHCP Server 功能在多个 sub 地址网段分配地址时需要为每个网段单独配置地址池并注意网关地址的匹配。例如配置 DHCP 全局地址池网段为192.168.10.0/24网关为192.168.10.1。配置另一个地址池网段为192.168.20.0/24网关为192.168.20.1。终端在不同网段获取 IP 后默认网关必须指向对应的主地址或 sub 地址否则终端即使拿到了 IP也无法正常访问其他网段。7.7 后续演进方向sub 地址方案适合作为过渡方案或小型网络解决方案。网络规模扩大后建议逐步演进到以下模型每个业务使用独立 VLAN。每个 VLAN 只对应一个 IP 网段。三层网关集中在核心交换机或防火墙上。不同安全等级的业务通过防火墙策略或 ACL 隔离。从运维角度来说“VLAN 和网段一一对应”永远是更容易维护的状态。sub 地址是解决问题的工具但不应该成为长期依赖的默认设计。8. 总结本文围绕“利用交换机 VLANIF 接口配置 sub 子地址实现不同网段相同 VLAN 间主机的通信”这个主题完整拆解了从问题背景、核心概念、配置命令到转发原理的整个过程。关键点可以概括为以下几点同 VLAN 不同网段的主机默认不能直接通信因为它们不在同一三层网段必须通过网关转发。VLANIF 接口配置一个主地址和若干个 sub 地址后交换机可以把多个网段视为直连网段并在内部完成三层转发。配置命令很简单但在实施前要确认交换机是三层交换机并提前规划好终端网关地址。排错时优先检查接口地址、路由表、ARP 表项、终端防火墙和掩码配置。sub 地址适合作为临时方案或小型网络方案长期使用还是建议 VLAN 与网段一对一规划。实际上这种配置在打印机跨网段访问、临时地址池扩容、小型办公网络整合等场景中非常实用。如果你正好遇到“同一个 VLAN 里两台设备就是 ping 不通”的困惑不妨先检查一下是不是网段不同再决定使用 sub 地址还是新增 VLAN。最后提醒一句任何交换机配置变更前先备份当前配置变更后记得执行save保存。这一步比任何命令都重要。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价