图:
配置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丢弃数据包。