MAC ACL、RACL和VACL

时间:2023-03-09 02:09:10
MAC ACL、RACL和VACL

拓扑结构:

MAC ACL、RACL和VACL

配置IP地址、VLAN及路由:

SW1(config)#int range f0/1 - 2
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 1
SW1(config)#int range f0/3 - 4
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 2
SW1(config)#ip routing
SW1(config)#int vlan 1
SW1(config-if)#ip add 172.16.1.254 255.255.255.0
SW1(config-if)#no sh
SW1(config)#int vlan 2
SW1(config-if)#ip add 172.16.2.254 255.255.255.0
SW1(config-if)#no sh
R1(config)#int f0/0
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#no sh
R1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.254
R2(config)#int f0/0
R2(config-if)#ip add 172.16.1.2 255.255.255.0
R2(config-if)#no sh
R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.254
R3(config)#int f0/0
R3(config-if)#ip add 172.16.2.3 255.255.255.0
R3(config-if)#no sh
R3(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.254
R4(config)#int f0/0
R4(config-if)#ip add 172.16.2.4 255.255.255.0
R4(config-if)#no sh
R4(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.254

配置MAC ACL:
MAC ACL能根据帧的源和目的MAC及帧的类型进行过滤。

SW1(config)#mac access-list extended MACL
SW1(config-ext-macl)#deny cc01.0604.0000 0000.0000.ffff any   //拒绝源MAC为CC01.0604.****的帧
SW1(config-ext-macl)#permit any any

SW1(config)#int f0/1
SW1(config-if)#mac access-group MACL in        //在F0/0接口IN方向应用MAC ACL

实验调试:

测试R1和其它路由器的通信,很可能还是正常的,原因在于:MAC ACL对ICMP这样的IP数据包并不起作用。在路由器R1上,执行“clear arp-cache”命令后,再重新测试R1和其它路由器的通信,这时应该无法通信,原因在于:当清除ARP表后,R1需要先发送ARP请求,而该ARP请求将被MAC ACL丢弃。

说明:可以通过“show int f0/0”或“show ip arp”命令查看MAC地址。

注意:MAC ACL只对非IP流量起作用。

配置RACL:

可以在交换机的二层接口应用IP标准/扩展ACL,但只能应用在IN方向。

SW1(config)#access-list 100 deny ip host 172.16.2.3 host 172.16.1.2
SW1(config)#access-list 100 permit ip any any
SW1(config)#int f0/3
SW1(config-if)#switchport        //明确指明接口是二层接口
SW1(config-if)#ip access-group 100 in
实验调试:

路由器R3和R2之间的通信应该是不正常的,R3和其它路由器之间的通信应该是正常的。

配置VACL:

VACL应用在VLAN上,没有方向性,进入或离开VLAN的数据都要受控制。

SW1(config)#int f0/3
SW1(config-if)#no ip access-group 100 in        //先清除F0/3接口上的ACL
SW1(config)#access-list 101 permit ip host 172.16.2.4 host 172.16.1.2
SW1(config)#vlan access-map VACL 5

SW1(config-access-map)#match ip address 101
SW1(config-access-map#action drop        //以上配置从R4发往R2的数据将被丢弃
SW1(config)#vlan access-map VLAN 10
SW1(config-access-map)#action forward        //以上配置其它的数据包将被转发

SW1(config)#vlan filter VLAN vlan-list 1
实验调试:

路由器R2和R3之间的通信应该是正常的;路由器R2和R4之间的通信应该是不正常的。

注意:VACL是应用在Vlan 1上的,当R2发包到R4时,VACL不丢弃数据包;而当R4发包到R2时,VACL丢弃数据包。