為什么使用訪問控制列表
為什么使用訪問控制列表
訪問控制列表使用目的:
1、限制網(wǎng)絡(luò)流量、提高網(wǎng)絡(luò)性能。例如隊列技術(shù),不僅限制了網(wǎng)絡(luò)流量,而且減少了擁塞。
2、提供對通信流量的控制手段。例如可以用其控制通過某臺路由器的某個網(wǎng)絡(luò)的流量。
3、提供了網(wǎng)絡(luò)訪問的一種基本安全手段。例如在公司中,允許財務(wù)部的員工計算機可以訪問財務(wù)服務(wù)器而拒絕其他部門訪問財務(wù)服務(wù)器。
4、在路由器接口上,決定某些流量允許或拒絕被轉(zhuǎn)發(fā)。例如,可以允許FTP的通信流量,而拒絕TELNET的通信流量。
工作原理:
ACL中規(guī)定了兩種操作,所有的應(yīng)用都是圍繞這兩種操作來完成的:允許、拒絕。
注意:ACL是CISCO IOS中的一段程序,對于管理員輸入的指令,有其自己的執(zhí)行順序,它執(zhí)行指令的順序是從上至下,一行行的執(zhí)行,尋找匹配,一旦匹配則停止繼續(xù)查找,如果到末尾還未找到匹配項,則執(zhí)行一段隱含代碼——丟棄DENY.所以在寫ACL時,一定要注意先后順序。
例如:要拒絕來自172.16.1.0/24的流量,把ACL寫成如下形式:
允許172.16.0.0/18
拒絕172.16.1.0/24
允許192.168.1.1/24
拒絕172.16.3.0/24
那么結(jié)果將于預(yù)期背道而馳,把表一和表二調(diào)換過來之后,再看一下有沒有問題:
拒絕172.16.1.0/24
允許172.16.0.0/18
允許192.168.1.1/24
拒絕172.16.3.0/24
發(fā)現(xiàn)172.16.3.0/24和剛才的情況一樣,這個表項并未起到作用,因為執(zhí)行到表二就發(fā)現(xiàn)匹配,于是路由器將會允許,和我們的需求完全相反,那么還需要把表項四的位置移到前面。
最后變成這樣:
拒絕172.16.1.0/24
拒絕172.16.3.0/24
ACL是一組判斷語句的集合,它主要用于對如下數(shù)據(jù)進行控制:
1、入站數(shù)據(jù);
2、出站數(shù)據(jù);
3、被路由器中繼的數(shù)據(jù)
工作過程
1、無論在路由器上有無ACL,接到數(shù)據(jù)包的處理方法都是一樣的:當(dāng)數(shù)據(jù)進入某個入站口時,路由器首先對其進行檢查,看其是否可路由,如果不可路由那么就丟棄,反之通過查路由選擇表發(fā)現(xiàn)該路由的詳細信息——包括AD,METRIC……及對應(yīng)的出接口;
2、這時,我們假定該數(shù)據(jù)是可路由的,并且已經(jīng)順利完成了第一步,找出了要將其送出站的接口,此時路由器檢查該出站口有沒有被編入ACL,如果沒有ACL 的話,則直接從該口送出。如果該接口編入了ACL,那么就比較麻煩。第一種情況——路由器將按照從上到下的順序依次把該數(shù)據(jù)和ACL進行匹配,從上往下,逐條執(zhí)行,當(dāng)發(fā)現(xiàn)其中某條ACL匹配,則根據(jù)該ACL指定的操作對數(shù)據(jù)進行相應(yīng)處理(允許或拒絕),并停止繼續(xù)查詢匹配;當(dāng)查到ACL的最末尾,依然未找到匹配,則調(diào)用ACL最末尾的一條隱含語句deny any來將該數(shù)據(jù)包丟棄。
對于ACL,從工作原理上來看,可以分成兩種類型:
1、入站ACL
2、出站ACL
上面的工作過程的解釋是針對出站ACL的。它是在數(shù)據(jù)包進入路由器,并進行了路由選擇找到了出接口后進行的匹配操作;而入站ACL是指當(dāng)數(shù)據(jù)剛進入路由器接口時進行的匹配操作,減少了查表過程。
并不能說入站表省略了路由過程就認(rèn)為它較之出站表更好,依照實際情況而定:
如圖所示,采用基本的ACL——針對源的訪問控制:
要求如下:
1、拒絕1.1.1.2訪問3.1.1.2但允許訪問5.1.1.2
2、拒絕3.1.1.2訪問1.1.1.2但允許訪問5.1.1.2
采用基本的ACL來對其進行控制
R1(config)#access-list 1 deny 1.1.1.2 0.0.0.255
R1(config)#access-list 1 permit any
R1(config)#int e0
R1(config-if)#access-group 1 in
R2(config)#access-list 1 deny 3.1.1.2 0.0.0.255
R2(config)#access-list 1 permit any
R2(config)#int e0
R2(config-if)#access-group 1 in
從命令上來看,配置似乎可以滿足條件。
允許172.16.0.0/18
允許192.168.1.1/24
可以發(fā)現(xiàn),在ACL的配置中的一個規(guī)律:越精確的表項越靠前,而越籠統(tǒng)的表項越靠后放置。
假定從1.1.1.2有數(shù)據(jù)包要發(fā)往3.1.1.2,進入路由器接口E0后,這里采用的是入站表,則不需查找路由表,直接匹配ACL,發(fā)現(xiàn)有語句 access-list 1 deny 1.1.1.2 0.0.0.255拒絕該數(shù)據(jù)包,丟棄;假定從3.1.1.2有數(shù)據(jù)包要發(fā)往1.1.1.2,同上。
當(dāng)1.1.1.2要和5.1.1.2通信,數(shù)據(jù)包同樣會被拒絕掉。
當(dāng)3.1.1.2要和5.1.1.2通信,數(shù)據(jù)包也會被拒絕掉。
該ACL只能針對源進行控制,所以無論目的是何處,只要滿足源的匹配,則執(zhí)行操作。
以上就是學(xué)習(xí)啦帶給大家不一樣的精彩。想要了解更多精彩的朋友可以持續(xù)關(guān)注學(xué)習(xí)啦,我們將會為你奉上最全最新鮮的內(nèi)容哦! 學(xué)習(xí)啦,因你而精彩。希望會對你有所幫助。