默认情况下,三个大营可以互相访问。现在,丞相要求咱们在不改变我 军网段规划和 VLAN 规划的情况下,实现:1) 中军大营和士兵大营不能互相访 问; 2) 中军大营可以访问辎重大营,但辎重大营不能访问中军大营,且辎重 大营和士兵大营始终可以互相访问。

如下图所示,在交换机上将端口 GE0/0/1 和 GE0/0/2 加入同一个端口隔离组, GE0/0/3 不加入端口隔离组或者加入另一个端口隔离组就 OK 了。

端口隔离组

配置步骤如下: <Huawei> system-view [Huawei] sysname Switch [Switch] interface gigabitEthernet 0/0/1 [Switch-GigabitEthernet0/0/1] port link-type access [Switch-GigabitEthernet0/0/1] port default vlan 10 [Switch-GigabitEthernet0/0/1] port-isolate enable group 5 //端口GE0/0/1加入到端 口隔离组5 [Switch-GigabitEthernet0/0/1] quit [Switch] interface gigabitEthernet 0/0/2 [Switch-GigabitEthernet0/0/2] port link-type access [Switch-GigabitEthernet0/0/2] port default vlan 10 [Switch-GigabitEthernet0/0/2] port-isolate enable group 5 //端口GE0/0/2加入到端 口隔离组5 [Switch-GigabitEthernet0/0/2] quit [Switch] interface gigabitEthernet 0/0/3 [Switch-GigabitEthernet0/0/3] port link-type access [Switch-GigabitEthernet0/0/3] port default vlan 10 //端口GE0/0/3不加入端口 隔离组 [Switch-GigabitEthernet0/0/3] quit 完成配置后,端口 GE0/0/1 和 GE0/0/2 就加入同一个端口隔离组,端口 GE0/0/3 不加入任何端口隔离组。这样,中军大营和士兵大营就不能互相访问了,但中军 大营和辎重大营、士兵大营和辎重大营仍然可以互相访问。

如何查看端口隔离组的配置信息呢? 执行命令 display port-isolate group { group-id | all }命令就可以查看端口隔离组的 配置信息啦。

要实现中军大营可以访问辎重大营,但辎重大营不能访问中军大营, 就可以使用单向隔离功能。如下图所示,在端口 GE0/0/3 上配置单向隔离功能, 并指定隔离的端口是 GE0/0/1,这样,GE0/0/3上发出的报文不能到达 GE0/0/1, 而 GE0/0/1 发出的报文可以到达 GE0/0/3,从而实现中军大营可以访问辎重大 营,但辎重大营不能访问中军大营。

单向隔离

配置步骤如下: [Switch] interface GigabitEthernet 0/0/3 [Switch-GigabitEthernet0/0/3] am isolate gigabitethernet 0/0/1 //在GE0/0/3上配置 端口隔离功能,并指定隔离的端口是GE0/0/1 [Switch-GigabitEthernet0/0/3] quit 配置单向隔离大功告成,看,就是这么简单!”

端口隔离模式

  端口 GE0/0/1 与端口 GE0/0/2 现在是二层隔离,虽然 ARP 啥的无法透

传过来,但是通过 VLAN 内 Proxy ARP 功能,中军大营与士兵大营仍然能够借助 自己的网关实现三层互访,这就是所谓的二层隔离但是三层不隔离。”

如下图所示,取中军大营的主机 PC1 和士兵大营中的主机 PC2,在 PC1 和 PC2 加入同一个端口隔离组条件下,用 PC1 和 PC2 互相 Ping 对方,结果两者 无法互相 Ping 通,说明端口隔离功能起了作用。 在 PC1 Ping PC2 的过程中,在交换机上抓取经过 GE0/0/1 和 GE0/0/2 的报文。 GE0/0/1 的抓包信息如图所示:

抓包信息显示,PC1 发送了 ARP 请求报文(绿线框围住的 Protocol 为 ARP 的报 文)后,并没有收到来自 PC2 的 ARP 应答报文。 GE0/0/2 的抓包信息如图所示:

抓包信息显示, PC2 并没有收到来自 PC1 的 ARP 请求报文。 结论 综合 GE0/0/1 和 GE0/0/2 的抓包信息,说明了 PC1 发送的 ARP 请求报文无法通过交换机透传到 PC2 上,这样,PC1 和 PC2 之间就无法完 成 ARP 学习过程,两者之间也就无法实现相互访问。 步骤 2 PC1 和 PC2 上配置的网关是 VLANIF10 的 IP 地址:10.10.10.250/24,我 们在 VLANIF10 上使能 VLAN 内 Proxy ARP 功能。步骤如下: [Switch] interface vlanif 10 [Switch-Vlanif10] ip address 10.10.10.250 24 [Switch-Vlanif10] arp-proxy inner-sub-vlan-proxy enable //在VLANIF10上使能 VLAN内Proxy ARP功能 [Switch-Vlanif10] quit 然后用 PC1 和 PC2 互相 Ping 对方,结果两者可以互相 Ping 通,这说明端口隔离 功能失效了。这是怎么回事呢?让我们来抓包分析一下。 GE0/0/1 的抓包信息如图所示:

首先,PC1 发送 ARP 请求报文,寻找 PC2 的 MAC 地址(如黄线标注)。 其次,VLANIF10 作为 ARP 代理,代替 PC2 发送 ARP 应答报文(如蓝线标注。 注意:4c1f-cc6b-263c 是 VLANIF10 的 MAC 地址)。 然后,PC1 收到来自 VLANIF10 的 ARP 应答报文后,把 ARP 表项中 PC2 的 MAC 地址修改为 VLANIF10 的 MAC 地址,如下图所示。

最后,PC1 发送到 PC2 的 Ping Request 报文(如绿线标注)。下图是 Ping Request 报文信息, Ping Request 报文的目的 MAC 地址是 VLANIF10 的 MAC 地址(如 黄线标注),可见,Ping Request 报文会首先发送到 VLANIF10 上。

如何查看 VLANIF10 的 MAC 地址呢? 在交换机上执行 display arp all 命令就可以查看 VLANIF10 的 ARP 表项,ARP 表 项中包含 VLANIF10 的 MAC 地址。如下图所示。

GE0/0/2 的抓包信息如图所示:

首先,VLANIF10 发送 ARP 请求报文,寻找 PC2 的 MAC 地址(如黄线标注)。 其次,VLANIF10 收到来自 PC2 的 ARP 应答报文,获取了 PC2 的 MAC 地址(如 蓝线标注)。 最后,VLANIF10 将收到的来自 PC1 的 ARP Request 报文转发到 PC2(如绿线所 示)。

结论 综合 GE0/0/1 和 GE0/0/2 的抓包信息可以看出, PC1 发送 的 Ping Request 报文会发送到 VLANIF10 进行三层转发,而不是进行二层转发。 PC2 回应 PC1 的 Ping Reply 报文也同样进行三层转发,本帖不再赘述。 PC1 和 PC2 之间能够通过三层进行通信。那么,如何实现 PC1 和 PC2 二三层都隔离呢?”很简单,只需要在系统视图下执行 port- -l isolate mode all 命 令即可实现二三层都隔离。让我们再次实验一下。 实验步骤如下: 步骤 1 在接口 VLANIF10 下保留 VLAN 内 Proxy ARP 功能的配置的同时,在系 统视图下执行 port- -l isolate mode all 命令。 [Switch] port-isolate mode all //指定端口隔离模式为二层三层都隔离 步骤 2 用 PC1 和 PC2 互相 Ping 对方,结果两者不能互相 Ping 通。 抓包分析一下 PC1 和 PC2 无法互相 Ping 通的原因。 GE0/0/1 的抓包信息如图所示:

抓包信息显示,PC1 发送 ARP 请求报文,收到来自接口 VLANIF10 的 ARP 应答 报文。PC1 发送 Ping Request 报文到 VLANIF10 进行三层转发。 GE0/0/2 的抓包信息如图所示:

抓包信息显示,VLANIF10 没有发送 ARP 请求报文寻找 PC2 的 MAC 地址,也没 有把 PC1 发送的 ARP Request 报文转发到 PC2。

结论 VLANIF10 并没有转发来自 PC1 的 ARP Request 报文,这样, PC1 和 PC2 之间也就无法实现三层互访了。 在交换机上配置了这么多端口隔离的命令,万一日后我们不需要端 口隔离功能了,一条一条删除这些命令多麻烦呀!” 其实,在系统视图下执行 clear configuration port- -e isolate 命令就可以一键式清除设备上所有的端 口隔离配置,包括端口隔离组、端口单向隔离和隔离模式相关配置。 不过,由于执行 clear configuration port- -e isolate 命令一键式清除的命令数量比较多,可能 会影响其他业务,在使用时一定要谨慎哦!”