一.1. 端口隔离技术背景

目前网络中以太网技术的应用非常广泛。然而,各种网络攻击的存在(例如针对ARP、DHCP等协议的攻击、勒索病毒攻击、宾馆等公共场所的广播泛洪攻击等等),不仅造成了网络合法用户无法正常访问网络资源,而且对网络信息安全构成严重威胁,因此以太网交换的安全性越来越重要。谈到以太网二层安全大家很快会想到VLAN,VLAN确实可以实现报文之间的二层隔离,缩小了广播域的范围一定程度上提升了网络安全性。但Vlan 内部呢?相同Vlan内不同的端口之间如何隔离呢?接下来我们来看三个场景。

场景①:

上图中存在两个问题:

问题1:大型网络中,业务需求种类繁多,只通过VLAN实现报文二层隔离,会浪费有限的VLAN资源。

问题2:PC1与PC2并没有做到二层隔离。

PS:针对以上问题,有人可能会想到使用ACL做隔离,但ACL属于三层技术(虽然有二层ACL,但二层ACL并不能解决该问题),主要应用于控制不同vlan的互访。那么上述问题该如何解决呢?

场景②:

图中Switch所有接口都属于vlan2,PC1为第三方驻场运维人员,为了保证数据的安全性,要求第三方PC1 不能直接访问数据库server,要求其只能先登录堡垒机,以堡垒机为跳板来访问server(此时堡垒机可以对其访问过程进行授权和审计)。当然内部工作人员PC2 是可以直接访问数据库的。该问题又该如何解决呢?使用ACL嘛,ACL在该场景中当然无法做到,因为上述场景是二层互访限制,而ACL主要应用于三层环境(虽然有二层ACL但二层ACL并不适用于该场景)。或者上述的二层Switch 不支持ACL。

场景③:

图中二层交换机所有接口都属于Vlan2,现在用户希望能够实现图中的单向访问需求即Server可以将报文发向PC(如UDP的流媒体报文或者组播报文,无需回包)但PC无法将报文发给Server。想要实现上述需求最适合的设备莫过于防火墙,但图中显然没有这个条件。

还有一些场景,如接在同一个无线AP下面的多个无线终端设备也需要进行隔离(同一个vlan内不同用户间隔离),尤其是一些公共场所。上述需求该如何解决呢?

其实想要解决上面几个场景的问题也很简单,那就是接来我们要介绍的Vlan内端口隔离技术。

一.2. 端口隔离技术概述

采用端口隔离功能,可以实现同一VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。

端口隔离分成两种:

① 双向隔离

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

② 单向隔离

为了实现不同端口隔离组的接口之间的隔离,可以通过配置接口之间的单向隔离来实现。华为设备缺省情况下,未配置端口单向隔离。

注意1:在一台交换机上可以创建多个隔离组,处于相同隔离组的端口互相隔离。

注意2:一个接口可以同时加入多个隔离组(用于完成复杂访问需求)。

注意3:隔离组具有本地意义(本台交换机有效),在同一台交换机上生效。

注意4:本文提到的端口隔离为常用的二层隔离(默认方式)。Vlan内三层隔离(vlan内arp代理场景)应用场景较少,在此不做讨论。

注意5:端口隔离在access和trunk 两种接口下都可以生效。

一.3. 端口隔离配置命令(华为设备)

Int Gi0/0/3

port-isolate enable group 1 将接口Gi0/0/3 加入隔离组1

Int gi 0/0/5

am isolate GigabitEthernet 0/0/6 单向隔离从5口进入的流量不能从6口发出,但从6口进入的流量可以从5口发出

一.4. 端口隔离配置举例

如图所示:PC1、PC2和PC3属于VLAN 2,通过配置端口隔离,使PC3可以与PC1、PC2通信,但是PC1和PC2之间无法通信。

配置如下:

[Switch] vlan 2

[Switch] interface GigabitEthernet 0/0/1

[Switch-GigabitEthernet0/0/1] port link-type access 端口模式配置为access

[Switch-GigabitEthernet0/0/1] port default vlan 2 端口加入vlan2

[Switch-GigabitEthernet0/0/1] port-isolate enable group 2 端口加入隔离组2

[Switch] interface GigabitEthernet 0/0/2

[Switch-GigabitEthernet0/0/2] port link-type access

[Switch-GigabitEthernet0/0/2] port default vlan 2

[Switch-GigabitEthernet0/0/2] port-isolate enable group 2

[Switch] interface GigabitEthernet 0/0/3

[Switch-GigabitEthernet0/0/3] port link-type access

[Switch-GigabitEthernet0/0/3] port default vlan 2

调试命令及验证:

[SW]display port-isolate group 2

The ports in isolate group 2:

GigabitEthernet0/0/1 GigabitEthernet0/0/2

PC1>ping 10.1.1.2

Ping 10.1.1.2: 32 data bytes, Press Ctrl_C to break

From 10.1.1.1: Destination host unreachable

From 10.1.1.1: Destination host unreachable

From 10.1.1.1: Destination host unreachable

From 10.1.1.1: Destination host unreachable

From 10.1.1.1: Destination host unreachable

--- 10.1.1.2 ping statistics ---

5 packet(s) transmitted

0 packet(s) received

100.00% packet loss

一.5. 思考题

上图中,要求所有PC都可以访问Router,且PC1可以访问PC2,但PC1-PC3、PC2-PC3之间不能互访。如何实现上述要求呢?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐