學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識(shí) > 路由器 > 路由器知識(shí)大全 > 為什么使用訪問控制列表

為什么使用訪問控制列表

時(shí)間: 若木635 分享

為什么使用訪問控制列表

  訪問控制列表使用目的:

  1、限制網(wǎng)絡(luò)流量、提高網(wǎng)絡(luò)性能。例如隊(duì)列技術(shù),不僅限制了網(wǎng)絡(luò)流量,而且減少了擁塞。

  2、提供對(duì)通信流量的控制手段。例如可以用其控制通過某臺(tái)路由器的某個(gè)網(wǎng)絡(luò)的流量。

  3、提供了網(wǎng)絡(luò)訪問的一種基本安全手段。例如在公司中,允許財(cái)務(wù)部的員工計(jì)算機(jī)可以訪問財(cái)務(wù)服務(wù)器而拒絕其他部門訪問財(cái)務(wù)服務(wù)器。

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

  工作原理:

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

  注意:ACL是CISCO IOS中的一段程序,對(duì)于管理員輸入的指令,有其自己的執(zhí)行順序,它執(zhí)行指令的順序是從上至下,一行行的執(zhí)行,尋找匹配,一旦匹配則停止繼續(xù)查找,如果到末尾還未找到匹配項(xiàng),則執(zhí)行一段隱含代碼——丟棄DENY.所以在寫ACL時(shí),一定要注意先后順序。

  例如:要拒絕來自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和剛才的情況一樣,這個(gè)表項(xiàng)并未起到作用,因?yàn)閳?zhí)行到表二就發(fā)現(xiàn)匹配,于是路由器將會(huì)允許,和我們的需求完全相反,那么還需要把表項(xiàng)四的位置移到前面。

  最后變成這樣:

  拒絕172.16.1.0/24

  拒絕172.16.3.0/24

  ACL是一組判斷語句的集合,它主要用于對(duì)如下數(shù)據(jù)進(jìn)行控制:

  1、入站數(shù)據(jù);

  2、出站數(shù)據(jù);

  3、被路由器中繼的數(shù)據(jù)

  工作過程

  1、無論在路由器上有無ACL,接到數(shù)據(jù)包的處理方法都是一樣的:當(dāng)數(shù)據(jù)進(jìn)入某個(gè)入站口時(shí),路由器首先對(duì)其進(jìn)行檢查,看其是否可路由,如果不可路由那么就丟棄,反之通過查路由選擇表發(fā)現(xiàn)該路由的詳細(xì)信息——包括AD,METRIC……及對(duì)應(yīng)的出接口;

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

  對(duì)于ACL,從工作原理上來看,可以分成兩種類型:

  1、入站ACL

  2、出站ACL

  上面的工作過程的解釋是針對(duì)出站ACL的。它是在數(shù)據(jù)包進(jìn)入路由器,并進(jìn)行了路由選擇找到了出接口后進(jìn)行的匹配操作;而入站ACL是指當(dāng)數(shù)據(jù)剛進(jìn)入路由器接口時(shí)進(jìn)行的匹配操作,減少了查表過程。

  并不能說入站表省略了路由過程就認(rèn)為它較之出站表更好,依照實(shí)際情況而定:

  如圖所示,采用基本的ACL——針對(duì)源的訪問控制:

  要求如下:

  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來對(duì)其進(jìn)行控制

  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的配置中的一個(gè)規(guī)律:越精確的表項(xiàng)越靠前,而越籠統(tǒng)的表項(xiàng)越靠后放置。

  假定從1.1.1.2有數(shù)據(jù)包要發(fā)往3.1.1.2,進(jìn)入路由器接口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ù)包同樣會(huì)被拒絕掉。

  當(dāng)3.1.1.2要和5.1.1.2通信,數(shù)據(jù)包也會(huì)被拒絕掉。

  該ACL只能針對(duì)源進(jìn)行控制,所以無論目的是何處,只要滿足源的匹配,則執(zhí)行操作。

  以上就是學(xué)習(xí)啦帶給大家不一樣的精彩。想要了解更多精彩的朋友可以持續(xù)關(guān)注學(xué)習(xí)啦,我們將會(huì)為你奉上最全最新鮮的內(nèi)容哦! 學(xué)習(xí)啦,因你而精彩。希望會(huì)對(duì)你有所幫助。

114372