CCNA考點精析——訪問控制列表

字號:

訪問控制列表使用目的:
    1、限制網絡流量、提高網絡性能。例如隊列技術,不僅限制了網絡流量,而且減少了擁塞
    2、提供對通信流量的控制手段。例如可以用其控制通過某臺路由器的某個網絡的流量
    3、提供了網絡訪問的一種基本安全手段。例如在公司中,允許財務部的員工計算機可以訪問財務服務器而拒絕其他部門訪問財務服務器
    4、在路由器接口上,決定某些流量允許或拒絕被轉發(fā)。例如,可以允許FTP的通信流量,而拒絕TELNET的通信流量。
    工作原理:
    ACL中規(guī)定了兩種操作,所有的應用都是圍繞這兩種操作來完成的:允許、拒絕
    注意: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
    那么結果將于預期背道而馳,把表一和表二調換過來之后,再看一下有沒有問題:
    拒絕172.16.1.0/24
    允許172.16.0.0/18
    允許192.168.1.1/24
    拒絕172.16.3.0/24
    發(fā)現172.16.3.0/24和剛才的情況一樣,這個表項并未起到作用,因為執(zhí)行到表二就發(fā)現匹配,于是路由器將會允許,和我們的需求完全相反,那么還需要把表項四的位置移到前面
    最后變成這樣:
    拒絕172.16.1.0/24
    拒絕172.16.3.0/24
    允許172.16.0.0/18
    允許192.168.1.1/24
    可以發(fā)現,在ACL的配置中的一個規(guī)律:越精確的表項越靠前,而越籠統(tǒng)的表項越靠后放置
    ACL是一組判斷語句的集合,它主要用于對如下數據進行控制:
    1、入站數據;
    2、出站數據;
    3、被路由器中繼的數據
    工作過程
    1、無論在路由器上有無ACL,接到數據包的處理方法都是一樣的:當數據進入某個入站口時,路由器首先對其進行檢查,看其是否可路由,如果不可路由那么就丟棄,反之通過查路由選擇表發(fā)現該路由的詳細信息——包括AD,METRIC……及對應的出接口;
    2、這時,我們假定該數據是可路由的,并且已經順利完成了第一步,找出了要將其送出站的接口,此時路由器檢查該出站口有沒有被編入ACL,如果沒有ACL 的話,則直接從該口送出。如果該接口編入了ACL,那么就比較麻煩。第一種情況——路由器將按照從上到下的順序依次把該數據和ACL進行匹配,從上往下,逐條執(zhí)行,當發(fā)現其中某條ACL匹配,則根據該ACL指定的操作對數據進行相應處理(允許或拒絕),并停止繼續(xù)查詢匹配;當查到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
    從命令上來看,配置似乎可以滿足條件。
    假定從1.1.1.2有數據包要發(fā)往3.1.1.2,進入路由器接口E0后,這里采用的是入站表,則不需查找路由表,直接匹配ACL,發(fā)現有語句 access-list 1 deny 1.1.1.2 0.0.0.255拒絕該數據包,丟棄;假定從3.1.1.2有數據包要發(fā)往1.1.1.2,同上。
    當1.1.1.2要和5.1.1.2通信,數據包同樣會被拒絕掉
    當3.1.1.2要和5.1.1.2通信,數據包也會被拒絕掉
    該ACL只能針對源進行控制,所以無論目的是何處,只要滿足源的匹配,則執(zhí)行操作。
    如何解決此問題?
    1、把源放到離目標最近的地方,使用出站控制;
    2、使ACL可以針對目的地址進行控制。
    第一項很好理解,因為標準的ACL只能針對源進行控制,如果把它放在離源最近的地方,那么就會造成不必要的數據包丟失的情況,一般將標準ACL放在離目標最近的位置!
    第二種辦法,要針對目標地址進行控制。因為標準ACL只針對源,所以,這里不能采用標準ACL,而要采用擴展ACL.但是它也有它的劣勢,對數據的查找項目多,雖然控制很精確,但是速度卻相對慢些。
    簡單比較以下標準和擴展ACL
    標準ACL僅僅只針對源進行控制
    擴展ACL可以針對某種協(xié)議、源、目標、端口號來進行控制
    從命令行就可看出
    標準:
    Router(config)#access-list list-number
    擴展:
    Router(config)#access-list list-number protocol source {source-mask destination destination-mask} [operator operand] [established] [log]
    Protocol—用來指定協(xié)議類型,如IP、TCP、UDP、ICMP以及IGRP等
    Source and destination—源和目的,分別用來標示源地址及目的地址
    Source-mask and destination-mask—源和目的的通配符掩碼
    Operator operand—It,gt,eq,neq(分別是小于、大于、等于、不等于)和一個端口號
    Established—如果數據包使用一個已建連接(例如,具有ACK位組),就允許TCP信息通過
    為了避免過多的查表,所以擴展ACL一般放置在離源最近的地方
    看完上面的內容后,那么大家可以看以下幾道關于CISCO訪問控制列表的例題:
    1、What are two reasons that a network administrator would use access lists? (Choose two.)
    A:to control vty access into a router
    B:to control broadcast traffic through a router
    C:to filter traffic as it passes through a router
    D:to filter traffic that originates from the router
    E:to replace passwords as a line of defense against security incursions
    Answers: A, C
    注:該題主要考察CISCO考生對ACL作用的理解:網絡管理員在網絡中使用ACL的兩個理由?
    A選項指出了CISCO 訪問列表的一個用法:通過VTY線路來訪問路由器的訪問控制;
    ACL不能對穿越路由器的廣播流量作出有效控制。
    選項C也指明了ACL的另一個作用,那就是過濾穿越路由器的流量。這里要注意了,是“穿越”路由器的流量才能被ACL來作用,但是路由器本身產生的流量,比如路由更新報文等,ACL是不會對它起任何作用的:因為ACL不能過濾由路由器本身產生的流量,那么D也是錯誤的;
    2、For security reasons, the network administrator needs to prevent pings into the corporate networks from hosts outside the internetwork. Which protocol should be blocked with access control lists?
    A: IP
    B: ICMP
    C: TCP
    D: UDP
    Answers: B
    安全起見,網絡管理員想要阻止來自Internet上的外部主機PING企業(yè)內部網絡,哪種協(xié)議必須在訪問列表中被阻塞掉?PING使用的是ICMP協(xié)議,在ACL中,我們可以自己來定義需要被允許或者拒絕某些協(xié)議的流量。該題選B
    3、Refer to the exhibit. The access list has been configured on the S0/0 interface of router RTB in the outbound direction. Which two packets, if routed to the interface, will be denied? (Choose two.)
    access-list 101 deny tcp 192.168.15.32 0.0.0.15 any eq telnet
    access-list 101 permit ip any any
    
    訪問控制列表
    A:source ip address: 192.168.15.5; destination port: 21
    B:source ip address:, 192.168.15.37 destination port: 21
    C:source ip address:, 192.168.15.41 destination port: 21
    D:source ip address:, 192.168.15.36 destination port: 23
    E:source ip address: 192.168.15.46; destination port: 23
    Correct Answers: B, E
    如圖,在RTB上配置了訪問列表,控制從S0/0口出去向外部的由192.168.15.32/29網段發(fā)起的telnet流量,其它流量允許通過。telnet使用23號端口,由此可以排除掉ABC三個選項。該題選擇D,E.