萬盛學電腦網

 萬盛學電腦網 >> 路由器知識 >> 路由器簡介 >> 為什麼使用訪問控制列表

為什麼使用訪問控制列表

  訪問控制列表使用目的:

  1、限制網絡流量、提高網絡性能。例如隊列技術,不僅限制了網絡流量,而且減少了擁塞。

  2、提供對通信流量的控制手段。例如可以用其控制通過某台路由器的某個網絡的流量。

  3、提供了網絡訪問的一種基本安全手段。例如在公司中,允許財務部的員工計算機可以訪問財務服務器而拒絕其他部門訪問財務服務器。

  4、在路由器接口上,決定某些流量允許或拒絕被轉發。例如,可以允許FTP的通信流量,而拒絕TELNET的通信流量。

  工作原理:

  ACL中規定了兩種操作,所有的應用都是圍繞這兩種操作來完成的:允許、拒絕。

  注意:ACL是CISCO IOS中的一段程序,對於管理員輸入的指令,有其自己的執行順序,它執行指令的順序是從上至下,一行行的執行,尋找匹配,一旦匹配則停止繼續查找,如果到末尾還未找到匹配項,則執行一段隱含代碼——丟棄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

  那麼結果將於預期背道而馳,把表一和表二調換過來之後,再看一下有沒有問題:

  拒絕172.16.1.0/24

  允許172.16.0.0/18

  允許192.168.1.1/24

  拒絕172.16.3.0/24

  發現172.16.3.0/24和剛才的情況一樣,這個表項並未起到作用,因為執行到表二就發現匹配,於是路由器將會允許,和我們的需求完全相反,那麼還需要把表項四的位置移到前面。

  最後變成這樣:

  拒絕172.16.1.0/24

  拒絕172.16.3.0/24

  ACL是一組判斷語句的集合,它主要用於對如下數據進行控制:

  1、入站數據;

  2、出站數據;

  3、被路由器中繼的數據

  工作過程

  1、無論在路由器上有無ACL,接到數據包的處理方法都是一樣的:當數據進入某個入站口時,路由器首先對其進行檢查,看其是否可路由,如果不可路由那麼就丟棄,反之通過查路由選擇表發現該路由的詳細信息——包括AD,METRIC……及對應的出接口;

  2、這時,我們假定該數據是可路由的,並且已經順利完成了第一步,找出了要將其送出站的接口,此時路由器檢查該出站口有沒有被編入ACL,如果沒有ACL 的話,則直接從該口送出。如果該接口編入了ACL,那麼就比較麻煩。第一種情況——路由器將按照從上到下的順序依次把該數據和ACL進行匹配,從上往下,逐條執行,當發現其中某條ACL匹配,則根據該ACL指定的操作對數據進行相應處理(允許或拒絕),並停止繼續查詢匹配;當查到ACL的最末尾,依然未找到匹配,則調用ACL最末尾的一條隱含語句deny any來將該數據包丟棄。

  對於ACL,從工作原理上來看,可以分成兩種類型:

  1、入站ACL

  2、出站ACL

  上面的工作過程的解釋是針對出站ACL的。它是在數據包進入路由器,並進行了路由選擇找到了出接口後進行的匹配操作;而入站ACL是指當數據剛進入路由器接口時進行的匹配操作,減少了查表過程。

  並不能說入站表省略了路由過程就認為它較之出站表更好,依照實際情況而定:

  如圖所示,采用基本的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

  可以發現,在ACL的配置中的一個規律:越精確的表項越靠前,而越籠統的表項越靠後放置。

  假定從1.1.1.2有數據包要發往3.1.1.2,進入路由器接口E0後,這裡采用的是入站表,則不需查找路由表,直接匹配ACL,發現有語句 access-list 1 deny 1.1.1.2 0.0.0.255拒絕該數據包,丟棄;假定從3.1.1.2有數據包要發往1.1.1.2,同上。

  當1.1.1.2要和5.1.1.2通信,數據包同樣會被拒絕掉。

  當3.1.1.2要和5.1.1.2通信,數據包也會被拒絕掉。

  該ACL只能針對源進行控制,所以無論目的是何處,只要滿足源的匹配,則執行操作。

  以上就是學習啦帶給大家不一樣的精彩。想要了解更多精彩的朋友可以持續關注學習啦,我們將會為你奉上最全最新鮮的內容哦! 學習啦,因你而精彩。希望會對你有所幫助。

copyright © 萬盛學電腦網 all rights reserved