ACL-包過濾技術


ACL

ACL(Access Control List):訪問控制列表(多用於路由、三層交換中建立包過濾防火牆)
ACL主要基於三層和四層過濾,三層IP包頭的IP地址、四層TCP/UDP頭部的端口號、[五層防火牆過濾數據-組策略]不推薦使用,效率太低,可以使用IDS、IPS。ACL在路由器上配置,也可以在防火牆上配置(一般稱為策略)

ACL的作用

ACL根據人為定義好的規則對數據包進行過濾

ACL分類

標准型訪問控制列表

  1. 只能基於源IP 地址過濾

  2. 該種列表的訪問控制列表號為1~99

  3. 命令

    conf  t
    access-list  表號  permit/deny   源IP或源網段  反子網掩碼
    

    注釋:反子網掩碼:將正子網掩碼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對應的忽略!

  4. 例如:

    access-list   1   deny   10.0.0.0   0.255.255.255      //該條目用來拒絕所有源IP為10開頭的!
    access-list   1   deny   10.1.1.1  0.0.0.0            //該條目用來拒絕所有源IP為10.1.1.1的主機
    access-list   1   deny   host  10.1.1.1                  //該條目用來拒絕所有源IP為10.1.1.1的主機-簡寫
    access-list   1   deny   0.0.0.0  255.255.255.255      //該條目用來拒絕所有所有人
    access-list   1   deny   any                              //該條目用來拒絕所有所有人-簡寫
    
    
  5. 完整的案例:

    conf t
    acc 1 deny host 10.1.1.1
    acc 1 deny 20.1.1.0 0.0.0.255
    acc 1 permit any
    
  6. 查看ACL表

    show  ip  access-list  [表ID]
    
  7. 將ACL應用到接口

    int  f0/x
    ip  access-group  表號  in/out
    exit
    sh run
    

擴展訪問控制列表

  1. 基於源IP、目的IP、指定協議、端口、標志過濾數據

  2. 該種列表的訪問控制列表號為100~199

  3. 命令

    acc 100 permit/deny  協議  源IP或源網段  反子網掩碼  目標IP或源網段  反子網掩碼  [eq 端口號]      //協議:tcp/udp/icmp/ip
    
  4. 案例
    acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
    acc 100 permit icmp host 10.1.1.1 20.1.1.0 0.0.0.255
    acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
    acc 100 permit ip any any

命名ACL

可以對標准或擴展ACL進行自定義命名,自定義命名更容易辨認,也便於記憶
可以任意修改某一條,或刪除某一條,也可以往中間插入某一條

conf t
ip  access-list  standard/extended   自定義表名      //添加表
      開始從deny或permit編寫ACL條目
      exit
ip  access-list  standard/extended   自定義表名      //刪除某一條
      no  條目ID
      exit
ip  access-list  standard/extended   自定義表名      //插入某一條
      條目ID   動作   條件
      exit

過濾參數

  1. 常用端口以及協議如下圖

  2. 訪問控制列表在接口應用的方向
    出:已經過路由器的處理,正離開路由器接口的數據包
    入:已達到路由器接口的數據包,將被路由器處理

ACL原理

匹配流程圖

匹配規則:自上而下所有,逐條匹配,默認隱含拒絕所有

  1. ACL表必須應用到接口的進或出方向才生效!
  2. 一個接口的一個方向只能應用一張表!
  3. 進還是出方向應用?取決於流量控制總方向
  4. ACL表是嚴格自上而下檢查每一條,所以要主要書寫順序
  5. 每一條是由條件和動作組成,當流量完全滿足條件當某流量沒有滿足某條件,則繼續檢查下一條
  6. 標准ACL盡量寫在靠近目標的地方
  7. 實際處理應用:
    1. 做流量控制,首先要先判斷ACL寫的位置(那個路由器?那個接口的哪個方向?)
    2. 再考慮怎么寫ACL。
    3. 如何寫?
      1. 首先要判斷最終要允許所有還是拒絕所有
      2. 然后寫的時候要注意:將嚴格的控制寫在前面
  8. 一般情況下,標准或擴展acl一旦編寫號,無法修改某一條,也無法刪除某一條,也無法修改順序,也無法往中間插入新的條目,只能一直在最后添加新的條目
    如想修改或插入或刪除,只能刪除整張表,重新寫!
    conf t
    no  access-list  表號
    


免責聲明!

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



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