ACL(Access Control List)即訪問控制列表,是網絡設備上用來做安全防護的重要手段,通過下發各種ACL策略,可以保障非授權用戶只能訪問特定的網絡資源,從而達到對訪問進行控制的目的。所以,自從有了網絡,ACL就得到了廣泛應用。數據中心的興起,賦予了ACL更多的功能與使命。在數據中心網絡中,各種應用流量紛繁復雜,只有通過ACL才能確保網絡安全,并且完成一些特殊轉發路徑的業務部署,本文就來說一說ACL那些為人少有所知的功能,這些功能也凸顯了ACL在數據中心網絡中的重要作用。
ACL是通過匹配經過設備某類特征的流量,對這些流量做處理,從而達到安全防范的目的。ACL按照匹配的內容差別,分為四種類型,第一種叫二層的ACL,主要匹配MAC地址、以太類型,VLAN等以太報文頭主要特征;第二種叫三層的ACL,主要匹配IP地址、四層端口號、IP類型等IP報文頭主要特征;第三種叫二三層混合ACL,即匹配二層,又匹配三層報文內容;第四種叫自定義ACL,這種ACL最靈活,用戶可以根據實際應用任意組合需要匹配的內容,不過這種ACL也是最不好掌握的,需要使用者對以太報文的格式非常熟悉,才能用好。這四種類型,每種類型又分為IPv4和IPv6兩種模式,適用于IPv4和IPv6兩種場景,這樣總共有八種類型。將ACL分了這么多種類型,主要還是考慮使用上的便利性。通常情況下,三層ACL是使用最為廣泛的ACL類型,自定義ACL使用很少,一般只有在網絡設備廠家人員的指導下,才能使用。
ACL匹配的內容做好后,關鍵在于下發的處理,這個決定了匹配上ACL的流量在網絡設備上如何走向。ACL有一個3P原則,就是為每個協議、每個方向和每個接口配置一個ACL,3P原則指定了ACL需要匹配的內容,下發的是出方向還是入方向,下發的位置在端口還是VLAN還是基于全局下發,這些內容都準備好了之后,就要明確執行的動作了。也就是ACL只是明確匹配報文的內容,執行還需要與具體動作的結合才能完成。現在的ACL動作非常豐富,早就不止是Permit/Deny的安全過濾動作。比如重定向Redirect、鏡像Mirror、Copy to CPU、修改優先級、限速、修改報文特征、QINQ、策略路由等等,有了這些功能,可以讓網絡設備實現更多的功能,和不同的動作結合也衍生出來很多的網絡設備功能。
安全過濾功能自不必細說,通過在不同的端口或者接口的出入方向上下發ACL防病毒列表,從而達到防攻擊的目的。當然,這個安全過濾非常的初級,和專業的防火墻過濾不能相比,但兩者實現的機制是一樣的,只不過防火墻的過濾更加細致,支持的條目也更多,一般一臺高級防火墻下發是十幾萬條ACL都可以,但網絡設備很少能做到。安全過濾動作就是Deny,將不安全的流量直接Deny,在設備的入方向丟棄,以免影響網絡設備轉發,也防止流量再轉到其它地方。除了安全過濾,Permit/Deny也適用于流量的隔離和訪問控制。比如在一個數據中心承載的兩個客戶業務,客戶A和客戶B共用一個網絡設備,客戶之間當然不能業務打通,要進行隔離,這樣就可以通過ACL來下一些規則來達到隔離的客戶A和B之間訪問隔離的目的。
重定向和策略路由也是在網絡設備上高頻率使用的功能,通過重定向和策略路由可以改變原有報文的轉發路徑,發送到客戶希望的目的設備上。比如流量經過網絡設備時,客戶希望流量經過負載均衡LB設備,做個均流,然后流量再回到網絡設備,這時可以通過重定向將流量掰到LB設備上,改變原有的報文轉發路徑。策略路由也是如此,使報文不按照路由表來轉發,而是轉發到客戶希望的下一跳設備上。重定向和策略路由的主要區別,重定向更多的是應用到二三層轉發中,策略路由應用到三層轉發中,如果只希望對三層轉發報文生效,那只能采用策略路由。重定向的動作可以是端口、下一跳接口或下一跳地址,而策略路由只有下一跳地址。
修改報文內容也是在特定網絡應用中被使用的,其中最常用的要數修改報文優先級了。網絡設備通過對進入設備的不同類型的應用流量打上不同的優先級標記,這樣可以為高優先級的報文優先分配帶寬,在網絡出現擁塞,不斷丟包的情況下,高優先的業務可確保不受影響。報文在以太頭和IP頭里都有優先級,通過、可以任意修改兩個部分的優先級,所有的網絡設備都可以識別這兩個部分的報文優先級,從而在設備內部的轉發通道里優先通過。這就好比是救護車,在道路行駛上有優先權,在道路堵車的情況下,救護車可以走緊急通道,快速通過,優先保障救護病人,修改報文優先級希望達到的目的也是如此。有時修改報文也有其它目的,比如修改報文的VLAN,讓報文在新的VLAN中轉發,或者增加VLAN,減少VLAN,修改報文的目的MAC,改變報文的轉發路徑等等,通過這些修改可以使網絡設備應用非常靈活。
除了以上說的功能,ACL還可以做流量統計,流鏡像,下發CAR限速等,還有很多網絡功能實際上也是通過ACL來實現的,比如IP綁定,Portal認證,MAC認證,防攻擊雖然命令行上看不到ACL的影子,實際在網絡軟件實現上也是用ACL來實現的,這些功能足以說明ACL功能的強大,可以說網絡設備離不開ACL,沒有ACL網絡設備根本玩不轉。數據中心對網絡的要求很高,既要安全運行,又要部署業務靈活,這些都離不開ACL。隨著數據中心的各種復雜應用越來越多,更好地使用ACL,豐富ACL的各種功能,是未來網絡的必然選擇。