關於ACL的其它輸寫形式與應用注意事項

來源:文萃谷 6.58K

在前面的幾個小節中描述了關於標準與擴展ACL的應用,並演示了具體的配置過程,在本節小編主要對ACL的應用事項進行一下總結,其中包括ACL的輸寫形式、ACL的應用位置、ACL條目的增加與刪除,具體如下:

關於ACL的其它輸寫形式與應用注意事項

  關於ACL語句的輸寫形式:

access-list 1permit host 等於access-list 1 permit 的功能,語句中的host是申明配置的地址是一個主機地址,它等於反碼的全匹配(),以全匹配形式出現的反碼,表示匹配的IP地址是一個主機IP地址。

access-list 102permit tcp eq www 等於access-list 102 permit tcp any any eq 80的功能,語句中的源IP地址和目標IP地址都是0,指示源和目標IP地址可以是任意IP地址;源地址和目標地址的反碼都是255,指示不關心任何位,它就等同於在擴展ACL中源和目標IP地址都以any關鍵字出現的情況;eqwww就等於eq 80,因為TCP 80號端口正是眾所周知的www服務端口,但是這裏提出一個注意事項,如果Web服務器的端口沒有使用眾所周知的80號端口,出於某種安全原因或者特殊要求,服務器管理員自定義了Web的服務端口號,那麼,在輸寫ACL時,就只能在eq關鍵字之後申明具體的端口號,而不是申明www,否則ACL將無法完成匹配。

access-list 102permit ip host host 等於access-list 102 permit ip ;ACL的語句中的'源IP和目標IP都是具體的主機IP地址,所以可以在ACL語句中使有host關鍵字申明主機地址,它和反碼的全匹配形式所表示的意義同種。

  關於ACL應用位置的設計:

n 標準ACL只關心源地址,所以必須將其應用到距離控制目標最近的接口位置。

n 擴展ACL既關心源地址,又關心目標地址,建議將其應用到距離控制源最近的接口位置,這樣可以優化流量,減少主幹網上沒有必要的流量開銷。

n 在同一接口、同一協議、同一方向只能應用一個訪問控制列表。

n 訪問控制列表,只能過濾穿越路由器的流量,對應用訪問控制列表的路由器本地產生的流量不生效。

  關於在傳統IOS版本中ACL條目的增加與刪除問題

在傳統的IOS版本中,對ACL條目的增加或者刪除是一件非常痛苦的事情,因為當一個ACL的多條語句被配置在路由器之後,如果想要在ACL中增加一條過濾語句,那麼這條增加的語句將出現在已存在的所有ACL語句之後,這樣就會出現安全漏洞,為網絡造成風險行為,為了更好的理解這一點,現在要舉一個實例:

用户首次已經完成了一條ACL 101的編寫:

ACL 101 的第一條語句 :access-list 101 deny ip host

ACL 101 的第二條語句: access-list 101 permit ip any any

現在用户希望更改原有的ACL 101,希望在上述的兩條語句之間加入如下所示的ACL語句:

access-list 101 deny ip host

但是當你完成加入後,這條被加入的語句將被放到ACL 101的最後,如下圖所示,這樣,它的匹配順序也如圖所示,最後加入的語句被放置到ACL列表的最後,而第二條語句是允許任何流量,所以根本不會給第三條語句匹配的機會,那麼第三條語句將永遠不生效,即便是您可能希望它於permit any any 之前生效,但事實上它不會,這類似於微機原理裏面的堆棧原理,先進入。先調用。

所以在傳統IOS中管理員對ACL的修改變得很頭痛,通常,管理員會把現在的ACL複製到一個文本文件中進行增加或者刪除語句的操作,然後把原本在路由器上配置的ACL通過no access-list 101全部清除,再將文本文件中修改完成的ACL複製到路由器上,無法做到逐條修改ACL語句的效果。

熱門標籤