1.ACL:即Access Control List——訪問控制列表,它是一種基於包過濾的訪問控制技術,它可以根據設定的條件對接口上的數據包進行過濾,允許其通過或丟棄。訪問控制列表被廣泛地應用於路由器和三層交換機,借助於訪問控制列表,可以有效地控制用戶對網絡的訪問,從而最大程度地保障網絡安全。
2.ACL基於三層的IP包頭的IP地址、四層的TCP/UDP頭部的端口號、【5層數據(該項要看設備)】
3.ACL在路由器上配置,也可以在防火牆上配置(在防火牆上一般稱為策略)
4.ACL主要分為2類
1)標准ACL
2)擴展ACL
5.標准ACL:
表號:1-99
特點:只能基於源IP對包進行過濾
命令:在全局模式(config terminal)下
access-list 表號 permit/deny 源IP或源網段 反子網掩碼
Tips:反子網掩碼:將正子網掩碼0和1倒置。
255.0.0.0——0.255.255.255
255.255.0.0——0.0.255.255
255.255.255.0——0.0.0.255
反子網掩碼作用:它是用來做匹配條件的,與0對應的嚴格匹配,與1對應的忽略!
eg:access-list 1 deny 10.1.3.1 0.0.255.255
在這個條件中,反子網掩碼有兩個0,那么該條目所檢查的就是來自10.1.x.x的包全部過濾,若反子網掩碼為0.0.0.0,那么過濾的就是來自10.1.3.1這個IP的包
6.擴展ACL:
表號:100-199
特點:可以基於源IP、目標IP、端口號、協議等對包進行過濾
命令:access-list 101 permit/deny 協議 源IP/源網段 反子網掩碼 目標IP/源網段 反子網掩碼 [eq 端口號]
注釋:協議有tcp/udp/icmp/ip
eg: access-list 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
access-list 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
access-list 100 permit ip any any
這三條命令是指10.1.1.1只能訪問20.1.1.0網段中20.1.1.3的80端口,除10.1.1.1外的主機不受影響
7.ACL原理:
1)ACL表必須應用到接口的進或出方向才生效
2)一個接口的一個方向智能應用一個表
3)進還是出方向的應用取決於流量控制的總方向
4)ACL表是嚴格自上而下檢查每一條,所以盡量從下往上寫,即越詳細的規則寫在最上面
5)每一條是由條件和動作組成,當流量滿足某一條時就執行(通過或丟棄),當某流量沒有滿足條件,就繼續檢查下一條
6)標准ACL盡量寫在靠近目標的地方
7)擴展ACL盡量寫在靠近源的地方
8)一般情況下標准和擴展ACL一旦編寫好,無法修改某一條,也無法刪除某一條或修改順序,智能一直在最后添加新的條目,如想修改表只能刪除表重新寫
刪除ACL表:在配置模式下:no access-list 表號
查看ACL表:在enable模式:show ip access-list 表號
將ACL表應用到接口:int fx/x
ip access-group 表號 in/out(表明進或出,二選一,寫錯接口,前面加個no再執行就行,表不會被刪除)
exit
8.命名ACL
作用:可對標准或擴展ACL進行自定義命名
優點:自定義命令更容易辨認和記憶,可以任意修改某一條,或刪除某一條,也能網中間插入某一條
命令:ip access-list extended/standard 表名(英文和數字) 回車進入ACL配置模式
permit tcp 10.1.0.0 0.0.255.255 host 10.1.1.1 eq 80 (根據擴展或標准ACL規則寫,只是將前面的access-list隱藏了)
exit 退出
刪除:在ACL配置模式下: no 條目序號
增加:在ACL配置模式下:在寫的條目前面加上想插入的位置序號即可。
Tips:ACL表中的進出方向是對路由器而言的,進路由器的為進,出路由的為出