VLAN之間ACL和VACL的區別

VLAN之間ACL和VACL的區別

[size=3]     最近常常碰到有人問起Cisco交換機上如何實現VLAN之間的訪問控制,通常我都會告訴對方,在三層交換機上直接把ACL應用到相應VLAN的虛端口就OK了,其實我本身也沒有機會去真正實踐過。眼下正巧有個項目涉及到這方面的需求,因而對如何實現VLAN之間的訪問控制仔細研究了一番,這才發現VLAN訪問控制列表(VACL)和VLAN之間的訪問控制列表其實在實現方式上是有很大不一樣的,雖然從字面上看二者差很少。      咱們常說的VLAN之間的訪問控制,它的實現方式是將ACL直接應用到VLAN的虛端口上,與應用到物理端口的ACL實現方式是同樣的。而VLAN訪問控制(VACL),也稱爲VLAN訪問映射表,它的實現方式與前者徹底不一樣。它應用於VLAN中的全部通訊流,支持基於ETHERTYPE和MAC地址的過濾,能夠防止未經受權的數據流進入VLAN。目前支持的VACL操做有三種:轉發(forward),丟棄(drop),重定向(redirect)。 [/size] [size=3] VACL不多用到,在配置時要注意如下幾點: 1)       最後一條隱藏規則是deny ip any any,與ACL相同。 2)       VACL沒有inbound和outbound之分,區別於ACL。 3)       若ACL列表中是permit,而VACL中爲drop,則數據流執行drop。 4)       VACL規則應用在NAT以前。 5)       一個VACL能夠用於多個VLAN中;但一個VLAN只能與一個VACL關聯。 6)       VACL只有在VLAN的端口被激活後纔會啓用,不然狀態爲inactive。 下面,我以Cisco3550交換機做爲實例來詳細描述一下二者之間不一樣的實現方式。 [attach]180705[/attach] 網絡拓撲圖 網絡基本狀況是劃分了三個vlan:vlan十、vlan20和vlan30,vlan虛端口的IP地址分別爲192.168.10.1/2四、192.168.20.1/24和192.168.30.1/24。 訪問控制要求:vlan10和vlan20之間不能訪問,但都能訪問vlan30。 (一)     經過VLAN之間ACL方式實現 ******** 配置VLAN ******** Switch(config)# vlan 10  // 建立vlan 10 Switch(config-vlan)# vlan 20 Switch(config-vlan)# vlan 30 Switch(config-vlan)# int vlan 10 Switch(config-if)# ip address 192.168.10.1 255.255.255.0 // 配置vlan10虛端口IP Switch(config-if)# int vlan 20 Switch(config-if)# ip address 192.168.20.1 255.255.255.0 Switch(config-if)# int vlan 30 Switch(config-if)# ip address 192.168.30.1 255.255.255.0 ******** 配置ACL ******** Switch(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255 Switch(config)# access-list 102 permit ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255 ******** 應用ACL至VLAN端口 ******** Switch(config)# int vlan 10 Switch(config-if)# ip access-group 101 in   Switch(config)# int vlan 20 Switch(config-if)# ip access-group 102 in ******** 完畢 ******** (二)     經過VACL方式實現 ******** 配置VLAN ******** (同上) ******** 配置ACL ******** Switch(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255 Switch(config)# access-list 101 permit ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255 [color=red](不一樣之處:由於VACL對數據流沒有inbound和outbound之分,因此要把容許經過某vlan的IP數據流都permit才行。VLAN10容許與VLAN30通信,而數據流又是雙向的,因此要在ACL中增長VLAN30的網段)[/color] Switch(config)# access-list 102 permit ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255 Switch(config)# access-list 102 permit ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255 ******** 配置VACL ******** 第一步:配置vlan access map Switch(config)# vlan access-map test1  //定義一個vlan access map,取名爲test1 Switch(config-vlan-access)# match ip address 101 // 設置匹配規則爲acl 101 Switch(config-vlan-access)# action forward // 匹配後,設置數據流轉發(forward) Switch(config)# vlan access-map test2  //定義一個vlan access map,取名爲test2 Switch(config-vlan-access)# match ip address 102 // 設置匹配規則爲acl 102 Switch(config-vlan-access)# action forward // 匹配後,設置數據流轉發(forward) 第二步:應用VACL Switch(config)# vlan filter test1 vlan-list 10 //將上面配置的test1應用到vlan10中 Switch(config)# vlan filter test2 vlan-list 20 //將上面配置的test1應用到vlan20中 ******** 完畢 ******** 以上就是關於VLAN之間ACL和VACL的簡單配置實例。我我的認爲通常狀況下,經過VLAN之間ACL實現訪問控制比較方便,可是當VLAN的端口比較分散時,採用VACL相對而言就要簡單不少。不過使用VACL的前提是交換機支持此功能,目前可能只有Cisco 3550、4500和6500系列的交換機支持。 [/size]
相關文章
相關標籤/搜索