CISCO ACL配置(目前)


什么是ACL?

訪問控制列表簡稱為ACL,訪問控制列表使用包過濾技術,在路由器上讀取第三層及第四層包頭中的信息如源地址,目的地址,源端口,目的端口等,根據預先定義好的規則對包進行過濾,從而達到訪問控制的目的。

 

ACL的原理

對路由器來說有兩個方向

出:已經經路由器的處理,正離開路由器接口的數據包

入:已經到達路由器接口的數據包,將被路由器處理

順序為:自下而上,依次匹配。 默認為拒絕

 

ACL的使用原則

 

1、最小特權原則
只給受控對象完成任務所必須的最小的權限。也就是說被控制的總規則是各個規則的交集,只滿足部分條件的是不容許通過規則的。
2、最靠近受控對象原則
所有的網絡層訪問權限控制。也就是說在檢查規則時是采用自上而下在ACL中一條條檢測的,只要發現符合條件了就立刻轉發,而不繼續檢測下面的ACL語句。
3、默認丟棄原則
在CISCO路由交換設備中默認最后一句為ACL中加入了DENY ANY ANY,也就是丟棄所有不符合條件的數據包。

一、標准訪問列表
訪問控制列表ACL分很多種,不同場合應用不同種類的ACL。其中最簡單的就是標准訪問控制列表,標准訪問控制列表是通過使用IP包中的源IP地址進行過濾,使用訪問控制列表號1到99來創建相應的ACL。

它的具體格式:
access-list access-list-number [permit | deny ] [sourceaddress][wildcard-mask]
access-list-number 為1-99 或者 1300-1999之間的數字,這個是訪問列表號。

拿下面這個例子來具體說說

一台路由器,一台PC和一台服務器。分別給PC和服務器配置好IP地址和默認網關。他們分別在不同的網段,配置好服務器是PC和服務器ping通。目的是拒絕192.168.1.0網段的主機從f0/0出去。

配置步驟:

access-list 10 deny 192.168.1.0   0.0.0.255          //丟棄所有來自源地址192.168.1.0的數據包

access-list 10 permit  any           //使除了1.0網段之外的其他網段可通  (這一步非常重要)

int f0/0                      //進入相應端口

ip access-list 10 out        //將ACL應用至端口,如無此步驟,那么一切都沒用

可見路由器將來自192.168.1.0 的數據拒絕訪問了。

 有值得注意的地方:

1.標准ACL應配置盡量靠近目的端

2.一定要加permit any使其他網絡可通

3.訪問列表使從上到下逐條進行匹配的,所以在設置訪問列表的時候要注意順序。如果從第一條匹配到最后一條還是不知道怎么做,路由器就會丟棄這個數據包(默認),也就是為什么要加permit  any。

 

刪除已建立的標准ACL

no access-list + [access-list number]

對於標准的ACL 來說,不能刪除單個ACL語句,只能刪除整個ACL。

 

二、擴展訪問控制列表
上面我們提到的標准訪問控制列表是基於IP地址進行過濾的,是最簡單的ACL。那么如果我們希望將過濾細到端口怎么辦呢?或者希望對數據包的目的地址進行過濾。這時候就需要使用擴展訪問控制列表了。使用擴展IP訪問列表可以有效的容許用戶訪問物理LAN而並不容許他使用某個特定服務(例如WWW,FTP等)。擴展訪問控制列表使用的ACL號為100到199。

擴展訪問控制列表的格式:
access-list access-list number {permit/deny} protocol +源地址+反碼 +目標地址+反碼+operator operan(It小於,gt大於,eq等於,neq不等於.具體可?)+端口號

注意事項:

1.擴展ACL的列表號范圍使100-199或2000-2699

2.因為默認情況下,每個訪問控制列表的末尾隱含deny all,所以在每個擴展訪問控制列表里面必須有:access-list number permit ip any any

3.不同的服務要使用不同的協議,比如TFTP使用的是UDP協議

 

例如路由器連接了兩個網段(可參照上面的拓撲),禁止192.168.1.0的PC訪問192.168.2.0的PC包括服務器,不過唯獨可以訪問192.168.2.10的www服務(端口號為80),而其它服務不能訪問。

配置如下:

access-list 101 permit tcp any 192.168.2.10  0.0.0.255 eq 80       //設置ACL101,允許源地址為任意ip,目的地址為192.168.2.10主機的80端口。思科默認deny 阿拉蕾,此處只寫這句就夠了。

int f0/0             //進入端口

ip access-group 101 out         //將ACL101應用到端口

 

刪除和標准ACL一樣,不能單條刪除,只能刪除整個ACL

 

三、命名訪問控制列表
不管是標准訪問控制列表還是擴展訪問控制列表都有一個弊端,那就是當設置好ACL的規則后發現其中的某條有問題,希望進行修改或刪除的話只能將全部ACL信息都刪除。也就是說修改一條或刪除一條都會影響到整個ACL列表。這一個缺點影響了我們的工作,為我們帶來了繁重的負擔。不過我們可以用基於名稱的訪問控制列表來解決這個問題。

例如:

ip access-list [standard/extened] access-list-name

ip access-list standard killer         //建立一個名為killer的標准訪問控制列表

使用方法:

ip access-list standard + name

11 permit host + ip            //默認第一條是10 ,第二條20

deny any

刪除命名ACL,可以向之前的ACL插入ACL,也可以刪除單條ACL

ip access-list standard benet

no 11

使用show access-list 可查看配置的ACL信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM