一.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之间不能互访。如何实现上述要求呢?