淺析ACL中established參數

很多人,尤其是初學者對於ACL中的established參數不能很好的理解。說實話,在我初學的時候也是一樣。這裏對它進行一下簡單淺顯的解釋,希望對廣大朋友有用處。

  這裏先列出本文所用的拓撲以及示例ACL:
 

 其中PCServer地址配置見圖示,

    路由器的配置(基礎配置略):

    Router(config)#access-list 100 permit tcp any 192.168.1.0 0.0.0.255 established

Router(config)#int fa0/0

Router(config-if)#ip access-group 100 out

這個ACL條目的作用就是允許192.168.1.0/24網絡裏的主機或者設備(拓撲中爲PC0)對外部的網絡建立TCP連接,但是不允許外部網絡的主機或者設備對192.168.1.0/24網絡內部建立TCP連接。工作機理是:TCP連接的建立請求由1.0網絡發出,在路由器的fa0/0接口可以不做檢查就被路由;但是返回的TCP應答數據報在到達路由器的FA0/0接口是就要做ACL檢查了,並且滿足源地址any,目的地址192.168.1.0,而且也是established數據報,所以就回去了。

但是外部網絡中的主機發送TCP請求數據報到達fa0/0接口時,源地址和目的地址都符合,但就是不符合最後的參數,不是應答數據報,而是請求數據報。

對於建立TCP連接的內容詳情請瀏覽:

http://www.51cto.com/art/200604/25146.htm

下面我想說明的是,如果上文最後一條命令最後一個參數out改成in,情況會是完全不同的。

分析如下:

PC0TCP數據報不能通過路由器達到外部網絡,因爲在每個ACL的最後都有一個默認的deny any any的語句;並且這裏是TCP請求建立的數據報,不符合established的條件,所以數據報根本不回通過路由器。

寫得有些亂,學理的沒有什麼文采。將就着看吧兄弟們。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章