萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 路由器知識 >> 路由器介紹

訪問控制列表 (ACL) 核心原理與配置實戰:從標準到擴展、從匹配邏輯到工程應用

ACL 是路由器/交換機實現流量分類、安全過濾、策略路由、QoS 分類的基石工具。本文系統講解 ACL 定義、執行邏輯、類型編號體系、標準/擴展 ACL 創建語法、隱含拒絕機制、工程應用場景與最佳實踐。

一、ACL 本質與執行邏輯

  • 定義:管理員定義的有序規則集,控制數據包進出接口
  • 非自動生成:需人工配置,無動態學習能力
  • 順序執行:自上而下逐條匹配,首匹配原則 — 命中即執行動作 (permit/deny),停止後續匹配
  • 隱含拒絕:所有 ACL 末尾隱含 `deny any`(IPv4)或 `deny ip any any`,無匹配即拒絕
  • 接口綁定:每接口、每協議、每方向 (in/out) 僅可應用一條 ACL

二、ACL 類型編號體系

協議/類型標準 ACL 編號擴展 ACL 編號備註
IP1-99100-199Cisco 傳統編號
IPX800-8991000-1099已淘汰
AppleTalk600-699—已淘汰
命名 ACL (IOS 11.2+):支持 1-199 編號範圍內自定義名稱,增強可讀性與管理

三、標準 ACL 創建語法與實例


access-list access-list-number {permit | deny} source [source-wildcard]
參數說明
access-list-number1-99
permit | deny允許/拒絕動作
source源 IP 地址
source-wildcard反掩碼:0=必須匹配,1=不關心(如 0.0.0.255 表示匹配最後 8 位任意)

實例:拒絕 204.59.144.0/24 訪問,允許其他


access-list 1 deny 204.59.144.0 0.0.0.255
access-list 1 permit any
! 接口應用
interface GigabitEthernet0/0
 ip access-group 1 in

四、擴展 ACL 創建語法(核心技能)


access-list access-list-number {permit | deny} protocol source source-wildcard 
    destination destination-wildcard 
    [precedence precedence] [tos tos] [fragments] 
    [log | log-input] [time-range time-range-name]

關鍵字段解析

  • protocol:ip/tcp/udp/icmp/ospf/eigrp/編號 (0-255)
  • source/destination:IP/網段/any/host x.x.x.x
  • 端口操作符 (TCP/UDP):eq/neq/gt/lt/range
  • ICMP 類型/代碼:echo-reply(0)、echo(8)、unreachable(3) 等
  • fragments:專門匹配非首片分片(安全審計關鍵)
  • log/log-input:匹配時記錄日誌(含接口/源 MAC),慎用高頻流量
  • time-range:基於時間策略動態生效

實例:允許內網 192.168.1.0/24 訪問 Web 服務器 203.0.113.10 (80/443),記錄拒絕日誌


access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 203.0.113.10 eq 80
access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 203.0.113.10 eq 443
access-list 101 deny ip any any log
interface GigabitEthernet0/1
 ip access-group 101 out

五、工程應用場景與最佳實踐

場景ACL 類型關鍵要點
邊界防火牆基礎過濾擴展 ACL拒絕私有地址偽造、保留地址、明顯攻擊特征;允許業務流量
管理平面保護標準/擴展 ACL僅允許管理網段 SSH/HTTPS/SNMP 訪問設備接口 IP
VTY 線路限制標準 ACL`access-class 10 in` 限制 Telnet/SSH 來源
策略路由 (PBR)擴展 ACL匹配流量 `set ip next-hop` 實現業務分流
QoS 分類擴展 ACL匹配業務流量 `class-map` → `policy-map` 標記/隊列
NAT 過濾標準/擴展 ACL`ip nat inside source list 1 interface ...` 控制哪些流量做 NAT
路由過濾/重分發標準/擴展 ACL`distribute-list`、`route-map match ip address`

六、進階技巧與避坑指南

  • 編輯現有 ACL:命名 ACL 支持 `ip access-list extended NAME` 下 `sequence-number` 編輯;編號 ACL 需刪除重建
  • 反掩碼計算:`wildcard = 255.255.255.255 - mask`,如 /26 → 0.0.0.63
  • 隱含拒絕陷阱:至少以 `permit any` 結尾,否則所有流量被阻斷
  • 方向語義:`in` = 進接口前過濾;`out` = 路由決策後、出接口前過濾
  • 性能考量:高頻匹配條目前置;避免過長 ACL 影響轉發延遲;TCAM 容量規劃
  • IPv6 ACL:`ipv6 access-list NAME`,無編號區分,僅命名,語法類似擴展 ACL

ACL 看似簡單,實則是網絡工程師「寫策略」的核心編程語言。精通匹配邏輯、掌握工程模式、養成文檔化習慣,才能駕馭複雜網絡環境下的流量控制藝術。

copyright © 萬盛學電腦網 all rights reserved