「Network Switching」- 端口隔离(Port Isolation)

  CREATED BY JENKINSBOT

问题描述

在以太交换网络中,为实现报文之间的二层隔离,用户通常将不同的端口加入不同的 VLAN,实现二层广播域的隔离;

在大型网络中,业务需求种类繁多,如下图所示,由于某种业务需求,PC1 与 PC2 虽然属于同个 VLAN ,但是要求它们在二层不能互通(但允许三层互通),PC1 与 PC3 在任何情况下都不能互通,但是 VLAN 3 里的主机可以访问 VLAN 2 里的主机。 那么该如何解决这个问题呢?

如果只通过 VLAN 实现报文二层隔离,会浪费有限的 VLAN 资源:

解决方案

采用 Port Isolation(端口隔离)功能,可以实现同个 VLAN 内端口间的隔离。用户只需要将端口加入到 Isolation Group(隔离组)中,就可以实现隔离组内端口间二层数据的隔离;

原理简述

1)缺省情况,属于同个 VLAN 的 PC1 和 PC2 能够二层互通;
2)将 GE0/0/1 和 GE0/0/2 端口部署到同一个端口隔离组,则 PC1 与 PC2 无法实现二层互通;

特性说明

端口隔离功能为用户提供了更安全、更灵活的组网方案;

端口隔离只是针对同一设备上的端口隔离组成员,对于不同设备上的接口而言,无法实现该功能;

应用场景

WIP

概念术语

隔离类型

双向隔离(组内隔离):
1)解释:将不同端口分为不同的组,同组内的端口双向隔离,不能互相发送数据;
2)同端口隔离组,其接口间互相隔离;不同端口隔离组,其接口间不隔离;
3)缺省情况,未使能端口隔离功能;

单向隔离:
1)为了实现不同端口隔离组的接口之间的隔离,可以通过配置接口之间的单向隔离来实现;
2)在 Intf A 上进行配置,配置其与 Intf B 单向隔离,而后 Intf A 发送的报文不能到达 Intf B,但从 Intf B 发送的报文可以到达 Intf A;
3)缺省情况下,未配置端口单向隔离;

隔离模式

二层隔离,但三层互通(L2):
1)隔离同个 VLAN 内的广播报文,但是不同端口下的用户还可以进行三层通信;
2)当采用该模式时,在 VLANIF 上使能 VLAN Inner ARP Proxy 功能,仍可实现同个 VLAN 内主机通信(arp-proxy inner-sub-vlan-proxy enable)
2)缺省情况下,端口隔离模式为二层隔离三层互通;

二层隔离,且三层隔离(ALL):
1)在同个 VLAN 的不同端口下,用户二三层彻底隔离无法通信;

配置示例

配置信息:

interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
 port-isolate enable group 2                                                    # 如果不指定 group-id 参数时,默认加入的端口隔离组为 1;

interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
 port-isolate enable group 2

interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 10
 port-isolate enable group 3

interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 10
 port-isolate enable group 3

互通情况:
PC1 <=== X ===> PC2
PC1 <=========> PC3
PC1 <=========> PC4

如果希望 GE0/0/1 与 GE0/0/2 在端口隔离的情况下实现互通,则配置:

interface Vlanif10
 ip address 192.168.10.254 255.255.255.0
 arp-proxy inner-sub-vlan-proxy enable

# 但这同时使得 GE0/0/3 与 GE0/0/4 能够互通

此时,如果开启三层隔离,又能够进行隔离(与最开始效果相同):

[Huawei] port-isolate mode all

单向隔离

配置端口单向隔离,致使从 GE0/0/1 发往 GE0/0/3 的报文被丢弃:

[GigabitEthernet0/0/1]am isolate GigabitEthernet 0/0/3

其他命令

display port-isolate group { group-id | all }                                   # 查看端口隔离组的配置;
clear configuration port-isolate                                                # 一键式清除设备上所有的端口隔离配置;
port-isolate exclude vlan                                                       # 配置端口隔离功能生效时排除的 VLAN;