通常的vlan的IP分配,我们一般是一个vlan分配一个网段,但是有的时候这样的分配未免太过奢侈。所以就出现了多个vlan共用一个网段的情况。这个就是聚合vlan。

现在先来认识几个概念:

父亲vlan:该vlan不被分配给任何的物理接口,仅仅作为聚合vlan的网关,也就是聚合vlan的三层路由接口

子vlan:子vlan就是聚合vlan的一部分,子vlan用于分配给物理接口,子接口依靠父亲vlan的三层接口与外界联系或与不同vlan通信

配置

vlan添加网关 网关vlan绑定_网络

比如设置上面的例子中,vlan100为父亲vlan,vlan10,20为子vlan,假设聚合vlan其他的常规配置以及完成。

配置命令:

系统视图:vlan 100
vlan100视图:aggregate-vlan  :表明该vlan是一个父vlan
vlan100视图:access-vlan 10,20 :将vlan11和vlan22加入到vlan100,作为其子vlan

完成到这里,只要其他的vlan也配置了三层虚拟接口,也就是vlanif,那么子vlan可以和其他不同vlan通信。但是聚合vlan内的子vlan却不能通信,这是因为它们使用的是同网段的地址,那么子vlan之间如果想要通过arp进行IP地址与mac地址的映射关系信息的获取的时候,子vlan会因为同网段的缘故将arp包进行广播,而其arp包中指明了其针对的对象是聚合vlan中的子vlan,但是虽然它们身处同一个聚合vlan,本质上它们还是不同的vlan,所以子vlan间的arp包自然带有vlan标签,所以一个子vlan的arp广播包按常理是不会传递到其他子vlan上去的,这就导致了子vlan之间的通信中断。

同一个聚合vlan中子vlan不能通信的原因和解决方法

要解决这个问题就要在父亲vlan的vlanif视图下输入arp-proxy inter-sub-vlan-proxy enable

比如我现在在上面的例子让PC10和PC9互相ping,然后观察它们的arp缓存,如下图所示:

 PC9的ARP缓存

vlan添加网关 网关vlan绑定_华为_02

PC10的ARP缓存

vlan添加网关 网关vlan绑定_三层交换机_03

可以看见,这两台主机的arp缓存中对应IP的mac指向的都是同一个mac,这个mac地址就是vlanif100虚拟接口的mac地址。虽然在实际生活中arp代理可能很少遇见,但是这个配置的实例却让arp代理出现在大众的视野。