| 簡介 ACL(Access Control List
訪問控制列表)是路由器和交換機接口的指令列表,用來控制端口進出的數(shù)據(jù)包。ACL的定義也是基于每一種被動路由協(xié)議的,且適用于所有的被動路由協(xié)議(如IP、IPX、Apple
Talk等),如果路由器接口配置成為三種協(xié)議(IP、Apple
Talk和IPX),那么必須定義三種ACL來分別控制這三種協(xié)議的數(shù)據(jù)包。 ACL的作用 
ACL可以限制網(wǎng)絡(luò)流量、提高網(wǎng)絡(luò)性能;提供網(wǎng)絡(luò)安全訪問的基本手段;可以在路由器端口處決定哪種類型的通信流量被轉(zhuǎn)發(fā)或被阻塞,應用范圍很廣,如:路由過濾、Qos、NAT、Router-map、VTY等。 ACL的分類 根據(jù)過濾層次:基于IP的ACL(IP ACL)、基于MAC的ACL(MAC
ACL),專家ACL(Expert ACL)。 根據(jù)過濾字段:標準ACL(IP ACL、MAC ACL)、擴展ACL(IP ACL、MAC
ACL、專家ACL)。 根據(jù)命名規(guī)則:表號ACL、命名ACL。 說明:標準型ACL功能非常簡單;而擴展型ACL功能非常強大,匹配的更詳細,對路由器等網(wǎng)絡(luò)設(shè)備的性能要求更高,或者對于網(wǎng)速的拖慢更明顯,組網(wǎng)時需要酌情使用。 ACL的工作原理 
ACL的執(zhí)行按照列表中條件語句的順序從上到下、逐條依次判斷執(zhí)行。如果一個數(shù)據(jù)包的報頭跟表中某個條件判斷語句相匹配,則不論是第一條還是最后一條語句,數(shù)據(jù)包都會立即發(fā)送到目的端口,那么后面的語句將被忽略,不再進行檢查。當數(shù)據(jù)包與前一個判斷條件不匹配時,才被交給下一條判斷語句進行比較。如果所有的ACL判斷語句都檢測完畢,仍沒有匹配的語句出口,則該數(shù)據(jù)包將視為被拒絕而被丟棄,因為在每個ACL的最末尾都隱含一條為“拒絕所有”的語句。但是ACL并不能對本路由器產(chǎn)生的數(shù)據(jù)流量進行控制。 
 ACL遵循的規(guī)范和原則 1.ACL的列表號指出了是哪種協(xié)議的ACL。各種協(xié)議有自己的ACL,而每個協(xié)議的ACL又分為標準ACL和擴展ACL。  
這些ACL都是通過ACL表號區(qū)別的。如果在使用一種訪問ACL時用錯了列表號,那么就會出錯。 2.一個ACL的配置是基于每種協(xié)議的每個接口的每個方向。路由器的一個接口上每一種協(xié)議可以配置進方向和出  
方向兩個ACL。也就是說,如果路由器上啟用了兩種協(xié)議棧IP和IPX(那么路由器的一個接口上可以配置IP、IPX   兩種協(xié)議),每種協(xié)議進出兩個方向,共四個ACL。 3.ACL的語句順序決定了對數(shù)據(jù)包的控制順序。在ACL中各描述語句的放置順序是很重要的。當路由器決定某一數(shù)  
據(jù)包是被轉(zhuǎn)發(fā)還是阻塞時,會按照各項描述語句在ACL中的順序,根據(jù)各描述語句的判斷條件,對數(shù)據(jù)報進行   檢查,一旦找到了某一匹配條件就結(jié)束比較過程,不再檢查以后的其它條件判斷語句。 4.最有限制性的語句應放在ACL語句的首行。把最有限制性的語句放在ACL語句中靠上的位置或者限制性不強的語  
句前面,以保證位于前面的語句不會否定后面語句的作用效果;把“全部允許”或者“全部拒絕”這樣的語句   放在末行或接近末行,可以防止出現(xiàn)諸如本該拒絕(放過)的數(shù)據(jù)包被放過(拒絕)的情況。 5.盡量考慮將擴展ACL放在靠近源的位置上,保證被拒絕的數(shù)據(jù)包盡早拒絕,避免浪費帶寬;另外,盡量使標準  
ACL靠近目的,由于標準ACL只使用源地址,如果將其靠近源會阻止數(shù)據(jù)包流向其它端口。 6.允許的語句少,先允許后拒絕所欲;拒絕的語句少,先拒絕后允許所有。 7.在標準ACL里,ACL語句不能被逐條刪除,只能一次性刪除整個ACL。并且新語句只能被添加到ACL的末行,這意  
味著不可能改變已有訪問控制列表的功能。如果必須改變,只有先刪除已存在的ACL,然后創(chuàng)建一個新ACL,將   新ACL應用到相應的接口上。 8.在將ACL應用到接口之前,一定要先建立ACL。首先在全局模式下建立ACL,然后再指明ACL是應用于接口進方向   (流入數(shù)據(jù))還是接口出方向(流出數(shù)據(jù))。在接口上應用一個不存在的ACL是不可能的。 9.在ACL的最后,隱含一條“全部拒絕”的命令,所以在ACL里一定至少有一條“允許”的語句。 10.ACL只能過濾穿過本路由器的數(shù)據(jù)流量,不能過濾由本路由器上發(fā)出的數(shù)據(jù)包。 11.路由器接口收到數(shù)據(jù)包時,應用在接口in方向的ACL起作用,數(shù)據(jù)包被該ACL允許后,路由器才會對數(shù)據(jù)包進  
行路由處理;在數(shù)據(jù)包被路由選擇交付到出站接口時,應用在接口out方向的ACL起作用,對接口發(fā)送出去的數(shù)   據(jù)進行檢查。相比之下,入站ACL比出站ACL更加高效。 3P原則: 每種協(xié)議(Per Protocol)的每個接口(Per Interface)的每個方向(Per
Direction)只能配置一個ACL。 每種協(xié)議一個ACL:要控制接口上的流量,必須為接口上啟用的每種協(xié)議定義相應的ACL。 
每個方向一個ACL:一個ACL只能控制接口上一個方向的流量。要控制入站和出站流量,必須分別定義兩個ACL。 每個接口一個ACL:一個ACL只能控制一個接口(如快速以太網(wǎng)F0/0)上的流量。   基于表號的的訪問控制列表 標準IP訪問控制列表 用于簡單的訪問控制、路由過濾,且僅對源地址進行過濾。 標準ACL格式 R1(config)#access-list access-list-number
{remark|permit|deny}
source source-wildcard
[log] R1(config)#access-list
 表號  策略 
源地址 表號:標準ACL范圍,1-99、1300-1999。 策略:permit(允許);deny(拒絕)。 源地址:指定IP網(wǎng)段:IP地址+通配符掩碼;單個主機地址:host;任意地址:any。 說明: ①“remark”選項:用于給訪問控制列表添加備注,增強列表的可讀性。 ②源地址字段中:any選項表示任何IP地址,等同于0.0.0.0
255.255.255.255;host選項可代替掩碼0.0.0.0。 ③可選參數(shù)“l(fā)og”:用于對匹配的數(shù)據(jù)包生成信息性日志消息,并發(fā)送到控制臺上。 接口關(guān)聯(lián)ACL R1(config)#int f0/0 R1(config-if)#ip access-group
 表號 
方向 表號:與該接口關(guān)聯(lián)的訪問控制列表表號。 方向:in
對所有入站的數(shù)據(jù)匹配;out 對所有出站的數(shù)據(jù)進行匹配。 示例: R1(config)#access-list 1 remark
Deny:172.16.1.0/24&Permit:PC1       
//給ACL 1添加備注 R1(config)#access-list
1 permit host
172.16.1.1       
//允許172.16.1.1主機 R1(config)#access-list 1 deny 172.16.1.0
0.0.0.255       
//拒絕172.16.1.0/24網(wǎng)段 R1(config)#access-list 1 permit
any       
//允許所有 (R1(config)#access-list 1 deny
any)       
//隱式拒絕所有 R1(config)#int f0/0 R1(config)#ip access-group 1
in       
//關(guān)聯(lián)F0/0接口入站數(shù)據(jù) R1#show
access-list       
//查看定義的訪問控制列表  R1#clear access-list
counters       
//將ACL計數(shù)器清零
 通配符掩碼/反碼:0表示精確匹配;1表示不匹配。通配符掩碼 = 255.255.255.255
- 子網(wǎng)掩碼。 
如:192.168.1.0/24反碼為0.0.0.255;192.168.1.64/28反碼為0.0.0.15;192.168.1.1/32反碼為0.0.0.0。 說明:192.168.1.1/32既可以寫成host
192.168.1.1,又可以寫成192.168.1.1 0.0.0.0。 ACL對Telnet的控制 控制路由器有兩種方法:一種是通過本地控制臺端口(console
port)直接操作;另一種是遠程控制,在遠程控制中最常用的方法是Telnet,只要知道路由器的任意一個物理接口地址和Telnet口令,并且存在路由,就可以遠程操作路由器。 
使用ACL提高Telnet的安全性也有兩種辦法:一種是在物理線路上設(shè)置訪問控制列表,這種方法比較麻煩,需要在路由器上配置多條ACL并關(guān)聯(lián)到每個物理接口;另一種是配置ACL并關(guān)聯(lián)到Telnet使用的虛擬口(VTY
0 4)上,這種方法比較簡單。 實驗:  
 
 實驗要求:只有Pc2是管理員,只允許它控制管理路由器。 R1(config)#access-list
1 deny host 1.1.1.2
log       
//拒絕1.1.1.2主機并記錄日志 R1(config)#access-list 1 permit host
1.1.4.2 R1(config)#line vty 0 4 R1(config-line)#access-class 1
in       
//線路模式應用標準ACL R2、R3、R4配置同R1。 注意:VTY端口關(guān)聯(lián)ACL的命令是“access-class”,“access-class”命令只對標準ACL有效。 擴展IP訪問控制列表 
標準ACL只能根據(jù)源地址來檢查數(shù)據(jù)包,它允許/拒絕的整個TCP/IP協(xié)議集的數(shù)據(jù),功能有限。擴展的訪問控制列表可以根據(jù)源和目的端口等來檢查數(shù)據(jù)包,條件細化、更加靈活。但是擴展ACL對網(wǎng)絡(luò)設(shè)備性能、網(wǎng)絡(luò)帶寬要求更高,組網(wǎng)時需要酌情使用。 擴展ACL格式 R1(config)#access-list
access-list-number
{remark|permit|deny}
protocol source [source-mask]    
[operator operand] destination
[destination-mask] [operator
operand] [established]
[log] R1(config)#access-list 
表號  策略  協(xié)議  源地址
 源端口  目的地址
 目的端口 表號:擴展ACL范圍,100-199、2000-2699。 策略:permit(允許);deny(拒絕)。 協(xié)議:檢查特定協(xié)議的數(shù)據(jù)包,如TCP、UDP、ICMP、IP等。 源地址:指定IP網(wǎng)段:IP地址+通配符掩碼;單個主機地址:host;任意地址:any。 源端口:可省略不寫,lt、gt、eq、neq(小于、大于、等于、不等于)。 
目的地址:指定IP網(wǎng)段:IP地址+通配符掩碼;單個主機地址:host;任意地址:any。 目的端口:可省略不寫,lt、gt、eq、neq(小于、大于、等于、不等于)。 說明:“establishe”選項用于TCP協(xié)議,指示已建立的連接。 接口關(guān)聯(lián)ACL R1(config)#int f0/0 R1(config-if)#ip access-group 
表號  方向 表號:與該接口關(guān)聯(lián)的訪問控制列表表號。 方向:in
對所有入站的數(shù)據(jù)匹配;out 對所有出站的數(shù)據(jù)進行匹配。 示例: R1(config)#access-list 100 deny tcp
172.16.1.0 0.0.0.255 host 172.16.2.1 eq 23 log 
                                 //拒絕172.16.1.0/24網(wǎng)段訪問172.16.2.1主機的Telnet服務,并記錄日志 R1(config)#access-list
100 permit tcp 172.16.1.0 0.0.0.255 host
172.16.2.1 eq ftp R1(config)#access-list
100 permit tcp 172.16.1.0 0.0.0.255 host
172.16.2.1 eq ftp-data 
                                         //以上2行允許172.16.1.0/24網(wǎng)段訪問172.16.2.1主機的FTP服務 R1(config)#access-list 100 permit tcp
172.16.1.0 0.0.0.255 host 172.16.2.1 eq www 
                                                //允許172.16.1.0/24網(wǎng)段訪問172.16.2.1主機的WWW服務 R1(config)#access-list
100 deny tcp host 172.16.1.4 host
172.16.2.1 eq www 
                                                   //拒絕172.16.1.4主機訪問172.16.2.1主機的WWW服務 R1(config)#access-list
100 deny ip 172.16.2.0 0.0.0.255 host
172.16.3.1 
                                             //拒絕172.16.2.0/24網(wǎng)段對172.16.3.1主機的所有數(shù)據(jù)通信 (R1(config)#access-list 100 deny any
any)       
//隱式拒絕所有 R1(config)#int f0/0 R1(config)#ip access-group
100 out       
//關(guān)聯(lián)F0/0接口出站數(shù)據(jù) 說明:FTP使用20端口傳輸數(shù)據(jù),21端口傳輸控制命令,所以以上兩條命令又分別可以寫成:   R1(config)#access-list
100 permit tcp 172.16.1.0 0.0.0.255 host 172.16.2.1 eq
21   R1(config)#access-list
100 permit tcp 172.16.1.0 0.0.0.255 host 172.16.2.1 eq
20 常用協(xié)議及端口號: 
ICMP協(xié)議    
 3層      
 網(wǎng)絡(luò)控制消息協(xié)議(測試網(wǎng)絡(luò)連通性) TCP協(xié)議: 
HTTP        
 80      
  超文本傳輸協(xié)議(www服務) FTP-Data   
 
20       
 文件控制連接 
FTP        
 
21      
  文件傳輸協(xié)議 
SMTP       
 
25       
 簡單郵件傳輸協(xié)議(發(fā)送郵件) 
POP3        
 110      
 第三版郵局協(xié)議(接收郵件) 
TELNET     
 
23       
 遠程登錄協(xié)議 UDP協(xié)議: 
TFTP       
 
69       
 簡單文件傳輸協(xié)議 
DNS        
 
53       
 域名解析協(xié)議 
DHCP       
 
67       
 動態(tài)主機配置協(xié)議 
SNMP       
 
161      
 簡單網(wǎng)絡(luò)管理協(xié)議 “established”選項 
TCP報頭中有6個控制位,分別是:URG、ACK、PSH、RST、SYN、FIN。在整個TCP數(shù)據(jù)傳輸過程中ACK位除了在第一次握手的時候為0外,其它任何時候都是置1的,根據(jù)這個原理可以實現(xiàn)控制TCP連接的方向。當路由器收到了一個數(shù)據(jù)包并匹配到了帶有established的ACL時,established會通過檢查ACK和RST位,如果兩個控制位都沒被設(shè)置(使用),那么表明源地址正在向目標地址建立TCP連接,這與established選項的含義不一致,數(shù)據(jù)包將被拒絕通過,也就是拒絕該源地址發(fā)起建立TCP連接的請求。established只對TCP連接起作用,對UDP不起作用。 示例: R1(config)#access-list 110 permit
tcp any 172.22.0.0 0.0.255.255 
                                                         //允許any和172.22.0.0/16網(wǎng)絡(luò)之間的TCP連接 R1(config)#access-list 110 permit
tcp any 172.22.0.0 0.0.255.255 established 
        //如果TCP鏈接是從any發(fā)向172.22.0.0/16網(wǎng)絡(luò)的,由于ACK和RST位都沒有被設(shè)置,與established選項 
          不匹配,請求將被拒絕;那么只允許172.22.0.0/16網(wǎng)絡(luò)主動向any請求發(fā)起的TCP連接才被允許建立 R1(config)#access-list 110 permit
tcp 172.22.0.0 0.0.255.255 any established 
        //如果TCP鏈接是從172.22.0.0/16網(wǎng)絡(luò)發(fā)向any的,由于ACK和RST位都沒有被設(shè)置,與established選項 
         
不匹配,請求將被拒絕;那么只允許any主動向172.22.0.0/16網(wǎng)絡(luò)請求發(fā)起的TCP連接才被允許建立   命名訪問控制列表 
基于表號的訪問控制列表新添加的語句只能放在最后邊,且執(zhí)行順序是從上到下、逐條執(zhí)行的。如果需要修改列表執(zhí)行順序只能刪除整個列表(列表里的語句是不可刪除的),然后重新編寫(導出配置文件進行修改,將ACL規(guī)則復制到編輯工具進行修改),然而這又是不現(xiàn)實的。所以基于表號訪問控制列表就有缺陷,而命名訪問控制列表可以彌補這個缺陷。 命名ACL的修改和維護 
命名訪問控制列表可以單獨刪除某條語句而不破壞整個列表的順序;也可以在新添加的語句前面寫入編號,把語句插入到指定的位置,當沒有寫入編號的時候默認添加到最末行。 示例: R1(config)#ip
access-list extended
test3       
//創(chuàng)建名字為test3的擴展命名ACL R1(config-ext-nacl)#15 permit ospf any
any       
//在位置15的地方插入該語句 R1(config-ext-nacl)#no
20      
 //刪除20號語句 R1(config)#ip access-list
resequence test3 5
5       
//設(shè)置起始序號為5,遞增序號為5 說明:ACL規(guī)則的起始序號默認值為10;遞增序號默認值為10。 標準命名擴展訪問控制列表 標準命名ACL格式 R1(config)#ip access-list standard 
表名 R1(config-std-nacl)#策略
 源地址 表名:標準ACL范圍,1-99、1300-1999;字符、字符+數(shù)字。 策略:permit(允許);deny(拒絕)。 源地址:指定IP網(wǎng)段:IP地址+通配符掩碼;單個主機地址:host;任意地址:any。 接口關(guān)聯(lián)ACL R1(config)#int f0/0 R1(config-if)#ip access-group  表號
 方向 表號:與該接口關(guān)聯(lián)的訪問控制列表表號。 方向:in
對該接口所有進站的數(shù)據(jù)匹配;out 對該接口所有出站的數(shù)據(jù)進行匹配。 示例: R1(config)#ip access-list standard
test1 R1(config-std-nacl)#deny 172.16.1.0
0.0.0.255      
 //拒絕172.16.1.0/24網(wǎng)段 R1(config-std-nacl)#deny host
172.16.2.1      
 //拒絕172.16.2.1主機 R1(config-std-nacl)#permit
any      
 //允許所有 (R1(config-std-nacl)#deny
any)       
//隱式拒絕所有 R1(config)#int f0/0 R1(config)#ip access-group test1
in      
 //關(guān)聯(lián)F0/0接口入站數(shù)據(jù) 擴展命名訪問控制列表 擴展命名ACL格式 R1(config)#ip access-list
extended  名稱 名稱:擴展ACL范圍,100-199、2000-2699;字符、字符+數(shù)字。 R1(config-ext-nacl)#策略  協(xié)議 
源地址  源端口  目的地址 
目的端口 策略:permit(允許);deny(拒絕)。 協(xié)議:檢查特定協(xié)議的數(shù)據(jù)包,如TCP、UDP、ICMP、IP等。 源地址:指定IP網(wǎng)段:IP地址+通配符掩碼;單個主機地址:host;任意地址:any。 源端口:可省略不寫,lt、gt、eq、neq(小于、大于、等于、不等于)。 
目的地址:指定IP網(wǎng)段:IP地址+通配符掩碼;單個主機地址:host;任意地址:any。 目的端口:可省略不寫,lt、gt、eq、neq(小于、大于、等于、不等于)。 接口關(guān)聯(lián)ACL R1(config)#int f0/0 R1(config-if)#ip access-group 
名稱  方向 表號:與該接口關(guān)聯(lián)的訪問控制列表表號。 方向:in
對該接口所有進站的數(shù)據(jù)匹配;out 對該接口所有出站的數(shù)據(jù)進行匹配。 示例: R1(config)#ip access-list extended test2 R1(config-ext-nacl)#deny tcp host 172.16.1.1 host 172.16.2.1 eq
23 R1(config-ext-nacl)#permit tcp 172.16.1.0 0.0.0.255 host
172.16.2.1 eq ftp R1(config-ext-nacl)#permit tcp 172.16.1.0 0.0.0.255 host
172.16.2.1 eq ftp-data R1(config-ext-nacl)#deny ip 172.16.2.0 0.0.0.255 host
172.16.3.1 (R1(config-ext-nacl)#deny any) R1(config)#int f0/0 R1(config)#ip access-group test2 in   動態(tài)訪問控制列表 
動態(tài)訪問控制列表是對傳統(tǒng)訪問控制列表的一種重要功能增強。動態(tài)ACL是能夠自動創(chuàng)建動態(tài)訪問表項的訪問列表。傳統(tǒng)的標準訪問列表和擴展的訪問列表都不能動態(tài)創(chuàng)建訪問表項。一旦在傳統(tǒng)訪問列表中加入了一個表項,除非手工刪除,該表項將一直產(chǎn)生作用。而在動態(tài)訪問表中,讀者可以根據(jù)用戶認證過程來創(chuàng)建特定的、臨時的訪問表項,一旦某個表項超時,就會自動從路由器中刪除。 動態(tài)ACL工作原理 
用戶一般通過提供用戶名和口令,就能夠開啟一個到路由器的Telnet會話。在用戶被認證之后,路由器會自動關(guān)閉Telnet會話,并將一個動態(tài)訪問表項置于某個訪問表中,以允許源地址為認證用戶地址的報文通過。這樣,我們可以在安全邊界上配置訪問表,只允許那些能夠通過用戶認證的工作站才能發(fā)送向內(nèi)的報文。我們至少應該允許到達路由器的Telnet通信報文,這樣才能進行用戶認證過程。如果不允許Telnet連接,用戶就不能在訪問表中創(chuàng)建動態(tài)的訪問表項。并一定要將Telnet表項放置在動態(tài)表項的前面。 動態(tài)ACL的優(yōu)點 
在傳統(tǒng)的訪問表中,如果處于路由器不可信任端的用戶需要訪問內(nèi)部的資源,就必須永久性地在訪問表中開啟一個突破口,以允許這些用戶的報文進入可信任網(wǎng)絡(luò)。這些在訪問表中的永久性的突破口給黑客發(fā)送報文進入安全邊界,并達到內(nèi)部網(wǎng)絡(luò)提供了機會。這種情況可以通過只允許特定的可信IP源地址的報文進入內(nèi)部,解決部分問題。但是,當用戶使用動態(tài)的IP地址時(DHCP用戶、ISP撥號用戶等),上述的方法就不起作用了。 
 R1(config)#username user1
privilege 15 secret
cisco       
//建立用戶本地認證數(shù)據(jù)庫R1(config)#access-list 120 permit tcp
172.16.1.0 0.0.0.255 host 172.16.1.1 eq
telnet
 R1(config)#access-list 120 permit tcp
172.16.1.0 0.0.0.255 host 172.16.12.1
eq telnet
 //以上兩行允許172.16.1.0/24網(wǎng)段Telnet路由器R1
 R1(config)#access-list 120 dynamic
DACL timeout 60 permit ip 172.16.1.0 0.0.0.255
host           172.16.12.2         //定義名字為DACL的動態(tài)ACL,“timeout”定義了動態(tài)ACL絕對的超時時間 R1(config)#int f1/0R1(config-if)#ip access-group 120
in
 R1(config)#line vty 0
2
 R1(config-line)#login
local       
//VTY使用本地認證
 R1(config-line)#autocommand
access-enable host timeout 10
 
              //允許在動態(tài)ACL中自動建立一個臨時性的訪問控制列表條目,“timeout”定義了空閑超時時間R1(config)#line vty 3
4
 R1(config-line)#login local
 R1(config-line)#rotary
1       
//建立一個旋轉(zhuǎn)端口號
 說明: ①第一個timeout和第二個timeout的區(qū)別:  
1>第一個timeout是絕對超時時間,第二個timeout是空閑超時時間,設(shè)置命令時它們的單位都是分鐘;一般第    
一個timeout要大于第二個timeout,因為第一個timeout是全局的。  
2>空閑超時時間是針對單獨的一個表項的時間,如果該表項在指定的時間內(nèi)沒有流量通過,那么它就會超時,    
并且自動從動態(tài)ACL中刪除。  3>絕對超時時間是針對所有表項的,一旦它超時,所有通信還是都會被切斷,即使這時有流量正在傳輸,如果   
還需要通信,就需要重新建立連接。 ②“autocommand access-enable host timeout
10”命令:  
1>該命令既可以在VTY線路模式下面打,也可以在特權(quán)模式下打,所不同是是,在特權(quán)模式下打時可以看到命    
令的詳細解釋,而VTY下面看不到命令提示的?  
2>如果使用“host”參數(shù),那么動態(tài)ACL將只為用戶所用的單個IP地址創(chuàng)建臨時性的條目;如果不使用,一旦    
一臺主機認證成功以后,則用戶的整個網(wǎng)絡(luò)都將被該臨時性條目允許,都不需要認證了。 ③“rotary
1”命令:在VTY中開啟動態(tài)ACL后,用戶所有發(fā)起的Telnet會話都會觸發(fā)一個動態(tài)ACL表項,并且此  
時Telnet會馬上被關(guān)閉,用戶無法遠程連接到此設(shè)備。如果想要管理一臺設(shè)備的話,就需要在另外一個VTY進  
程下面使用rotary命令建立一個旋轉(zhuǎn)端口號,然后在Telnet的時在地址后面打上“3000 +
端口號”就可以遠   程管理此設(shè)備了。  
例如:本例中即為3001,如果用戶要遠程管理路由器R1時,可以使用“telnet 172.16.1.1
3001”命令。 實驗調(diào)試 R1#show ip
access-list   自反訪問控制列表 自反ACL用于控制網(wǎng)絡(luò)的單向訪問。例如通常只允許內(nèi)網(wǎng)主動訪問外網(wǎng),并允許外部數(shù)據(jù)通過;但拒絕外網(wǎng)主動訪問內(nèi)網(wǎng)。 自反ACL工作原理 
當內(nèi)網(wǎng)主動訪問外網(wǎng)時,將被一條擴展命名ACL(如名為ACLOUT)匹配,再由這條ACL動態(tài)地創(chuàng)建一條暫時的自反ACL(如名為REF),REF再被外網(wǎng)到內(nèi)網(wǎng)的擴展命名ACL(如名為ACLIN)調(diào)用。這條自反ACL的源、目的IP和源、目的端口剛好與ACLOUT相反,也就是匹配上外網(wǎng)響應內(nèi)網(wǎng)的數(shù)據(jù)包。這樣,一條從內(nèi)網(wǎng)主動訪問外網(wǎng)的雙向通信便建立了。而如果有外網(wǎng)主動訪問內(nèi)網(wǎng)的數(shù)據(jù)包時,由于沒有匹配的ACL語句,并且默認deny
any any,因此外網(wǎng)主動訪問的數(shù)據(jù)就被拒絕了。 示例:  
 R1(config)#ip reflexive-list
timeout
100       
//配置臨時性訪問條目的生存期(默認300秒) R1(config)#ip access-list extended
ACLOUT R1(config-ext-nacl)#permit ip any any
reflect REF timeout 120 
                                               //匹配后自動生成一條名為REF的自反ACL,生存期為120秒 R1(config)#ip access-list extended
ACLIN R1(config-ext-nacl)#evaluate REF       
//評估REF ACL R1(config)#int f0/1 R1(config-if)#ip
access-group ACLOUT in R1(config)#int f0/0 R1(config-if)#ip
access-group ACLIN
in說明:
 1.盡管在概念上與擴展ACL的“established”選項相似,但自反ACL可用于不含ACK或RST位的UDP和ICMP。 2.自反ACL僅可在擴展命名IP
ACL中定義,不能在編號ACL或標準命名ACL中定義。 3.自反ACL可以只允許出去的流量,并阻止外部網(wǎng)絡(luò)主動向內(nèi)部網(wǎng)絡(luò)發(fā)起的的流量,從而更好地保護內(nèi)部網(wǎng)絡(luò)。 4.自反ACL不是直接被應用到某個接口下的,需要由一個擴展命名ACL調(diào)用(如上例中ACLIN)。 5.自反ACL默認超時時間300秒,或者TCP報文FIN位置1的數(shù)據(jù)包通過接口時,自反ACL會自動清除,因此定義自反  
ACL的超時時間對非TCP數(shù)據(jù)很關(guān)鍵。 6.自反ACL只有permit語句沒有deny語句,即永遠是permit的(如上例中permit ip any any
reflect REF)。但調(diào)  
用自反ACL的其它ACL(如上例中ACLIN)默認存在deny any
any的,因此不符合自反ACL的數(shù)據(jù)包則會被拒絕。   基于時間的訪問控制列表 
基于時間的ACL可以對于不同的時間段實施不同的訪問控制規(guī)則。在原有ACL的基礎(chǔ)上應用時間段。時間段可以分為:絕對時間段(absolute)、周期時間段(periodic)和混合時間段。 設(shè)置路由器時間:R1#clock set
時:分:秒日月年    
  例如:R1#clock set 14:08:37 21 may
2012 說明:在配置基于時間的ACL之前確保路由器系統(tǒng)時間設(shè)置正確。 第一步,定義時間段: R1(config)#time-range
 名稱            例如:R1(config)#time-range
t1    
//定時時間段,名稱為t1 R1(config-tmie-range)#定義時間段 名稱:數(shù)字、字符、字符+數(shù)字。 定義時間段: 1.定義絕對時間段:   R1(config-tmie-range)#absolute start 
開始時間  end 
結(jié)束時間   開始時間:時:分 
日  月  年;   結(jié)束時間:時:分 
日  月  年。   例如:R1(config-tmie-range)#absolute start 8:00 21 may 2012 
       
R1(config-tmie-range)#absolute start 8:00 21
may 2012 end 18:00 21 may 2012 2.定義周期時間段:   R1(config-tmie-range)#periodic  開始時間 
to  結(jié)束時間   開始/結(jié)束時間:某一天或某幾天。星期一到星期日
monday、tuesday、wednesday、thursday、friday、 
                 
saturday、sunday,daily;星期一到星期五 weekday;星期六到星期日 weekend。   例如:R1(config-tmie-range)#periodic weekend 8:00 to
18:00       
//星期六和星期日8:00到18:00 
        R1(config-tmie-range)#periodic
daily 8:00 to
18:00       
//一周中每天8:00到18:00 
       
R1(config-tmie-range)#periodic wednesday
15:00 to saturday 8:00
 //星期三15:00到星期六8:00 說明:每個時間段只能有一個absolute語句,但可以有多個periodic語句。 absolute:為時間范圍指定一個絕對的開始和結(jié)束時間。 periodic:為時間范圍指定一個重復發(fā)生的開始和結(jié)束時間,它接受以下參數(shù):Monday、Tuesday、Wednesday、      
Thursday、Friday、Saturday、Sunday、Daily(從Monday到Sunday)、Weekday(從Monday到Friday)、     
 Weekday(Saturday和sunday)。 第二步,在訪問控制列表中用time-range調(diào)用定義的時間段: 例如:access-list 100 permit
tcp any any eq 80 time-range t1 說明:在調(diào)用時間段時,只有配置了相應的time-range的時間規(guī)則才會在指定的時間段內(nèi)生效   R1#show
time-range       
//查看定義的時間范圍 R1#show access-list
表名       
//查看ACL信息 |