📜  VLAN ACL (VACL)

📅  最后修改于: 2022-05-13 01:57:02.936000             🧑  作者: Mango

VLAN ACL (VACL)

先决条件 - 虚拟 LAN (VLAN)、访问列表 (ACL)
VLAN(虚拟局域网)是一个概念,我们在第 2 层逻辑上将广播域划分为更小的广播域。如果我们创建不同的 VLAN,那么默认情况下,来自一个 VLAN 的主机可以与驻留在同一 VLAN 中的所有主机通信。如果我们希望某些主机无法到达同一 VLAN 内的其他主机,则可以使用 VLAN Access-list 或 Private VLAN 的概念。 (Access-list,是一组各种permit或deny条件,用于包过滤)

VLAN ACL (VACL) –
VLAN ACL 用于过滤VLAN 的流量(VLAN 内的流量,即位于同一VLAN 中的目标主机的流量)。所有进入 VLAN 的数据包都会根据 VACL 进行检查。与路由器 ACL 不同,VACL 没有在方向上定义,但可以通过结合 VACL 和专用 VLAN 功能根据流量的方向过滤流量。

程序 -

  1. 定义要在 VACL 中使用的标准或扩展访问列表 –
    应定义访问列表以识别流量类型和应用它的主机。
  2. 定义 VLAN 访问映射 –
    定义了一个 VLAN 访问映射,其中将匹配主机 IP 地址(使用定义的访问列表)
  3. 在 VLAN 访问映射序列中配置操作子句 –
    这将告诉应该对流量采取什么操作(转发或丢弃)(在 VLAN 访问映射中定义)
  4. 将 VLAN 访问映射应用于指定的 VLAN –
    VACL 配置的最后一步是创建一个过滤器列表,指定访问映射已应用于哪个 VLAN。
  5. 显示 VLAN 访问映射信息 –
    我们可以使用命令来验证信息。

配置 -

有一个名为 switch1 的交换机连接到名为 Router1(IP 地址-192.168.1.1/24)、Router2(IP 地址-192.168.1.2/24)和 Router3(IP 地址-192.168.1.3/24)的 3 个路由器,如如图所示。
在Router1上配置IP地址。

Router1(config)#int fa0/0
Router1(config-if)#ip address 192.168.1.1 255.255.255.0
Router1(config-if)#no shut

在Router2上配置IP地址。

Router2(config)#int fa0/0
Router2(config-if)#ip address 192.168.1.2 255.255.255.0
Router2(config-if)#no shut

在Router3上配置IP地址。

Router3(config)#int fa0/0
Router3(config-if)#ip address 192.168.1.3 255.255.255.0
Router3(config-if)#no shut

在此任务中,我们将使用 VACL 拒绝从 Router1 到 Router3 的流量。

在 switch1 上配置访问列表,说明应允许从主机 192.168.1.1 到 192.168.1.3 的所有 IP 流量

switch1(config)#ip access-list extended My_access_list
switch1(config-ext-nacl)#permit ip host 192.168.1.1 host 192.168.1.3 

现在,配置 VLAN 访问映射,其中状态匹配访问列表中定义的 IP 地址并采取丢弃操作(这意味着不应允许从 192.168.1.1 到 192.168.1.3 的流量)。

switch1(config)#vlan access-map Mapping 10
switch1(config-access-map)#match ip address My_access_list
switch1(config-access-map)#action drop 
switch1(config-access-map)#exit

在第一个命令中,10 是访问映射的序号。如果我们不定义任何序列号,那么它将自动将 10 作为序列号。
现在,对于从 Router1 (192.168.1.1) 到 Router3 (192.168.1.3) 的流量,流量将被丢弃,但从 Router2 到 Router3 的流量呢?

从 Router2 到 Router3 的流量也将被丢弃,因为没有为此流量定义任何操作(隐式拒绝)。因此,我们必须定义另一个规则,说明应该允许其他流量。

switch1(config)#vlan access-map Mapping 20
switch1(config-access-map)#action forward 
switch1(config-access-map)#exit

在第一个命令中,20 是序列号,这意味着该规则将在第一条序列号为 10 的规则之后检查。

最后,我们将这个名为 My_access_list 的访问映射分配给一个 VLAN(这里是 VLAN 1)

switch1(config)#vlan filter Mapping vlan-list 1

要验证配置,请使用命令。

switch1#show vlan access-map

此命令将显示访问映射。这将显示访问映射的名称、规则的序列号和访问列表名称(已使用)。

switch1#show vlan filter

这将显示由 VLAN 访问映射过滤的 VLAN。