01-ACL配置
本章節下載: 01-ACL配置 (378.84 KB)
目 錄
· 本文將用於IPv4和IPv6的ACL分別簡稱為IPv4 ACL和IPv6 ACL。若非特別指明,本文所指的ACL均包括IPv4 ACL和IPv6 ACL。
· 設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。
· 本文中提到的“接口子卡”對應的具體單板型號,請參見產品安裝指導中的“附錄A 交換機硬件規格”。
· 本文中提到的EB類、EC1類和EF類單板指的是絲印後綴分別為EB、EC1、EF的單板。
ACL(Access Control List,訪問控製列表)是一或多條規則的集合,用於識別報文流。所謂規則,是指描述報文匹配條件的判斷語句,這些條件可以是報文的源地址、目的地址、端口號等。網絡設備依照這些規則識別出特定的報文,並根據預先設定的策略對其進行處理。
ACL本身隻能識別報文,而無法對識別出的報文進行處理,對這些報文的具體處理方法由引用ACL的功能模塊(如策略路由、防火牆、流分類等)來決定。
ACL可以應用在諸多領域,其中最基本的就是應用ACL進行報文過濾,具體配置過程請參見“1.3.9 應用ACL進行報文過濾”。此外,ACL還可應用於諸如路由、安全、QoS等領域,有關ACL在這些領域的具體應用方式,請參見相關的配置指導。
用戶在創建ACL時必須為其指定編號,不同的編號對應不同類型的ACL,如表1-1所示;同時,為了便於記憶和識別,用戶在創建ACL時還可選擇是否為其設置名稱。ACL一旦創建,便不允許用戶再為其設置名稱、修改或刪除其原有名稱。
當ACL創建完成後,用戶就可以通過指定編號或名稱的方式來指定該ACL,以便對其進行操作。
二層ACL和用戶自定義ACL的編號和名稱全局(即IPv4和IPv6)唯一;IPv4基本和高級ACL的編號和名稱隻在IPv4中唯一;IPv6基本和高級ACL的編號和名稱也隻在IPv6中唯一。
根據規則製訂依據的不同,可以將ACL分為如表1-1所示的幾種類型。
表1-1 ACL的分類
ACL類型 |
編號範圍 |
適用的IP版本 |
規則製訂依據 |
基本ACL |
2000~2999 |
IPv4 |
報文的源IPv4地址 |
IPv6 |
報文的源IPv6地址 |
||
高級ACL |
3000~3999 |
IPv4 |
報文的源IPv4地址、目的IPv4地址、報文優先級、IPv4承載的協議類型及特性等三、四層信息 |
IPv6 |
報文的源IPv6地址、目的IPv6地址、報文優先級、IPv6承載的協議類型及特性等三、四層信息 |
||
二層ACL |
4000~4999 |
- |
報文的源MAC地址、目的MAC地址、802.1p優先級、鏈路層協議類型等二層信息 |
用戶自定義ACL |
5000~5999 |
IPv4&IPv6 |
以報文頭為基準,指定從報文的第幾個字節開始與掩碼進行“與”操作,並將提取出的字符串與用戶定義的字符串進行比較,從而找出相匹配的報文 |
由於ACL中每條規則的報文匹配條件不同,導致這些規則之間可能存在重複甚至矛盾的地方,因此在將一個報文與ACL的各條規則進行匹配時,需要有明確的匹配順序來確定規則執行的優先級,一旦匹配上某條規則就不會再繼續匹配下去,係統將依據該規則對該報文執行相應的操作。ACL的規則匹配順序有以下兩種:
· 配置順序:按照規則編號由小到大進行匹配。
· 自動排序:按照“深度優先”原則由深到淺進行匹配,各類型ACL的“深度優先”排序法則如表1-2所示。
用戶自定義ACL的規則隻能按照配置順序進行匹配;其它類型的ACL則可選擇按照配置順序或自動順序進行匹配。
表1-2 各類型ACL的“深度優先”排序法則
ACL類型 |
“深度優先”排序法則 |
IPv4基本ACL |
(1) 先判斷規則中是否攜帶有VPN實例,攜帶VPN實例者優先 (2) 如果VPN實例的攜帶情況相同,再比較源IPv4地址範圍,範圍較小者優先 (3) 如果源IPv4地址範圍也相同,再比較配置順序,編號較小者優先 |
IPv4高級ACL |
(1) 先判斷規則中是否攜帶有VPN實例,攜帶VPN實例者優先 (2) 如果VPN實例的攜帶情況相同,再比較協議範圍,指定有IPv4承載的協議類型者優先 (3) 如果協議範圍也相同,再比較源IPv4地址範圍,較小者優先 (4) 如果源IPv4地址範圍也相同,再比較目的IPv4地址範圍,較小者優先 (5) 如果目的IPv4地址範圍也相同,再比較四層端口(即TCP/UDP端口)號範圍,較小者優先 (6) 如果四層端口號範圍也相同,再比較配置順序,編號較小者優先 |
IPv6基本ACL |
(1) 先比較源IPv6地址範圍,範圍較小者優先 (2) 如果源IPv6地址範圍也相同,再比較配置順序,編號較小者優先 |
IPv6高級ACL |
(1) 先比較協議範圍,指定有IPv6承載的協議類型者優先 (2) 如果協議範圍相同,再比較源IPv6地址範圍,較小者優先 (3) 如果源IPv6地址範圍也相同,再比較目的IPv6地址範圍,較小者優先 (4) 如果目的IPv6地址範圍也相同,再比較四層端口(即TCP/UDP端口)號範圍,較小者優先 (5) 如果四層端口號範圍也相同,再比較配置順序,編號較小者優先 |
二層ACL |
(1) 先比較源MAC地址範圍,較小者優先 (2) 如果源MAC地址範圍相同,再比較目的MAC地址範圍,較小者優先 (3) 如果目的MAC地址範圍也相同,再比較配置順序,編號較小者優先 |
· 比較IPv4地址範圍的大小,就是比較IPv4地址通配符掩碼中“0”位的多少:“0”位越多,範圍越小。通配符掩碼(又稱反向掩碼)以點分十進製表示,並以二進製的“0”表示“匹配”,“1”表示“不關心”,這與子網掩碼恰好相反,譬如子網掩碼255.255.255.0對應的通配符掩碼就是0.0.0.255。此外,通配符掩碼中的“0”或“1”可以是不連續的,這樣可以更加靈活地進行匹配,譬如0.255.0.255就是一個合法的通配符掩碼。
· 比較IPv6地址範圍的大小,就是比較IPv6地址前綴的長短:前綴越長,範圍越小。
· 比較MAC地址範圍的大小,就是比較MAC地址掩碼中“1”位的多少:“1”位越多,範圍越小。
在一個ACL中用戶可以創建多條規則,為了方便標識這些規則的用途,用戶可以為單條規則添加描述信息,也可以在各條規則之間插入注釋信息來對前一段或後一段規則進行統一描述。
規則描述信息主要用於對單條規則進行單獨標識。當需要對各條規則進行不同的標識或對某條規則進行特別標識時,適用此方式。
規則注釋信息主要用於對一段規則進行統一標識。當需要對一段規則進行相同的標識時,如果采用對每條規則都添加相同描述信息的方式,需要進行大量配置,效率會非常低下。在這種情況下,可以在這段規則的前、後插入注釋信息的方式來提高標識效率,即:在這段規則的首條規則之前以及末條規則之後分別插入一條注釋信息,通過首、尾這兩條注釋信息就可以標識整段規則的用途。
ACL中的每條規則都有自己的編號,這個編號在該ACL中是唯一的。在創建規則時,可以手工為其指定一個編號,如未手工指定編號,則由係統為其自動分配一個編號。由於規則的編號可能影響規則匹配的順序,因此當由係統自動分配編號時,為了方便後續在已有規則之前插入新的規則,係統通常會在相鄰編號之間留下一定的空間,這個空間的大小(即相鄰編號之間的差值)就稱為ACL的步長。譬如,當步長為5時,係統會將編號0、5、10、15……依次分配給新創建的規則。
係統為規則自動分配編號的方式如下:係統從0開始,按照步長自動分配一個大於現有最大編號的最小編號。譬如原有編號為0、5、9、10和12的五條規則,步長為5,此時如果創建一條規則且不指定編號,那麼係統將自動為其分配編號15。
如果步長發生了改變,ACL內原有全部規則的編號都將自動從0開始按新步長重新排列。譬如,某ACL內原有編號為0、5、9、10和15的五條規則,當修改步長為2之後,這些規則的編號將依次變為0、2、4、6和8。
表1-3 ACL配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置ACL的生效時間段 |
可選 本配置任務適用於IPv4和IPv6 |
||
配置ACL工作模式 |
可選 本配置任務僅適用於EB類單板 |
||
配置基本ACL |
四者至少選其一 |
本配置任務適用於IPv4和IPv6 |
|
配置高級ACL |
本配置任務適用於IPv4和IPv6 |
||
配置二層ACL |
本配置任務適用於IPv4和IPv6 |
||
配置用戶自定義ACL |
本配置任務適用於IPv4和IPv6 |
||
複製ACL |
可選 本配置任務適用於IPv4和IPv6 |
||
配置用戶自定義流模板 |
可選 本配置任務適用於IPv4和IPv6 |
||
應用ACL進行報文過濾 |
可選 本配置任務適用於IPv4和IPv6 |
當ACL規則隻需在某個或某些特定的時間段內生效時,可以設置基於時間段的ACL過濾。為此,用戶可以先配置一個或多個時間段,然後在規則中引用這些時間段,那麼該規則將隻在指定的時間段內生效。ACL的生效時間段可分為以下兩種:
· 周期時間段:表示規則以一周為周期(如每周一的8至12點)循環生效。
· 絕對時間段:表示規則在指定時間範圍內(如2011年1月1日8點至2011年1月3日18點)生效。
用戶使用同一名稱可以配置內容不同的多條時間段,所配置的各周期時間段之間以及各絕對時間段之間分別取並集之後,各並集的交集將成為最終生效的時間範圍。
表1-4 配置ACL的生效時間段
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建時間段 |
time-range time-range-name { start-time to end-time days [ from time1 date1 ] [ to time2 date2 ] | from time1 date1 [ to time2 date2 ] | to time2 date2 } |
必選 缺省情況下,不存在任何時間段 |
用戶最多可以創建256個不同名稱的時間段,而同一名稱下最多可以配置32條周期時間段和12條絕對時間段。
設備上有EB類單板時,用戶可以通過配置ACL工作模式來改變EB類單板的ACL規則長度。
· 當工作在ACL標準模式時,EB類單板的ACL規則長度為24字節,且僅支持二層ACL、IPv4基本ACL和IPv4高級ACL。
· 當工作在ACL高級模式時,EB類單板的ACL規則長度為48字節,且支持二層ACL、IPv4基本ACL、IPv4高級ACL、IPv6基本ACL、IPv6高級ACL和用戶自定義ACL。
切換ACL工作模式會改變EB類單板的ACL規則長度和支持的ACL規則總數(ACL標準模式下支持的ACL規則總數比ACL高級模式下增加一倍),可能會導致ACL相關的配置失效,請謹慎使用。
表1-5 配置ACL的工作模式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置EB類單板的ACL工作模式 |
acl mode { standard | advanced } |
必選 缺省情況下,EB類單板工作在ACL高級模式 |
· 本功能僅對EB類單板生效。
· 本功能配置後,必須保存配置並重啟設備後才會生效。
IPv4基本ACL根據報文的源IP地址來製訂規則,對IPv4報文進行匹配。
表1-6 配置IPv4基本ACL
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建IPv4基本ACL,並進入IPv4基本ACL視圖 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
必選 缺省情況下,不存在任何ACL IPv4基本ACL的編號範圍為2000~2999 |
配置ACL的描述信息 |
description text |
可選 缺省情況下,ACL沒有任何描述信息 |
配置規則編號的步長 |
step step-value |
可選 缺省情況下,規則編號的步長為5 |
創建規則 |
rule [ rule-id ] { deny | permit } [ counting | fragment | logging | source { sour-addr sour-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ] * |
必選 缺省情況下,IPv4基本ACL內不存在任何規則 目前,僅Packet-Filter特性支持logging參數 當設備為PE設備時,對於VPN私網側的報文無法匹配IPv4基本ACL規則中的VPN實例(即無法匹配rule中的vpn-instance參數)。當設備為MCE設備時VPN的報文也無法匹配IPv4基本ACL規則中的VPN實例。關於PE設備、MCE設備的介紹請參見“MPLS配置指導”中的“MPLS L3VPN” |
為指定規則配置描述信息 |
rule rule-id comment text |
可選 缺省情況下,規則沒有任何描述信息 |
配置規則注釋信息 |
rule [ rule-id ] remark text |
可選 缺省情況下,ACL內沒有任何規則注釋信息 |
使能ACL的規則匹配統計功能 |
hardware-count enable |
可選 缺省情況下,ACL的規則匹配統計功能處於關閉狀態 |
如果在創建IPv4基本ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。
IPv6基本ACL根據報文的源IPv6地址來製訂規則,對IPv6報文進行匹配。
表1-7 配置IPv6基本ACL
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置係統ACL規則的長度 |
acl ipv6 enable |
必選 本命令用來設置EC1/EF類單板ACL規則長度為80字節 缺省情況下,EC1/EF類單板ACL規則長度為40字節 本命令僅對EC1/EF類單板有效,隻有在執行本命令後,此類單板才支持用戶自定義ACL、IPv6 基本ACL或IPv6 高級ACL |
創建IPv6基本ACL,並進入IPv6基本ACL視圖 |
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ] |
必選 缺省情況下,不存在任何ACL IPv6基本ACL的編號範圍為2000~2999 |
配置ACL的描述信息 |
description text |
可選 缺省情況下,ACL沒有任何描述信息 |
配置規則編號的步長 |
step step-value |
可選 缺省情況下,規則編號的步長為5 |
創建規則 |
rule [ rule-id ] { deny | permit } [ counting | fragment | logging | source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | time-range time-range-name | vpn-instance vpn-instance-name ] * |
必選 缺省情況下,IPv6基本ACL內不存在任何規則 目前,僅Packet-Filter特性支持logging參數 目前設備不支持vpn-instance參數 |
為指定規則配置描述信息 |
rule rule-id comment text |
可選 缺省情況下,規則沒有任何描述信息 |
配置規則注釋信息 |
rule [ rule-id ] remark text |
可選 缺省情況下,ACL內沒有任何規則注釋信息 |
使能ACL的規則匹配統計功能 |
hardware-count enable |
可選 缺省情況下,ACL的規則匹配統計功能處於關閉狀態 |
如果在創建IPv6基本ACL時為其指定了名稱,則也可以使用acl ipv6 name acl6-name命令通過指定名稱的方式進入其視圖。
IPv4高級ACL可根據報文的源IP地址、目的IP地址、報文優先級、IP承載的協議類型及特性(如TCP/UDP的源端口和目的端口、TCP報文標識、ICMP協議的消息類型和消息碼等)等信息來製定規則,對IPv4報文進行匹配。用戶可利用IPv4高級ACL製訂比IPv4基本ACL更準確、豐富、靈活的規則。
表1-8 配置IPv4高級ACL
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建IPv4高級ACL,並進入IPv4高級ACL視圖 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
必選 缺省情況下,不存在任何ACL IPv4高級ACL的編號範圍為3000~3999 |
配置ACL的描述信息 |
description text |
可選 缺省情況下,ACL沒有任何描述信息 |
配置規則編號的步長 |
step step-value |
可選 缺省情況下,規則編號的步長為5 |
創建規則 |
rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-addr dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | tos tos | vpn-instance vpn-instance-name ] * |
必選 缺省情況下,IPv4高級ACL內不存在任何規則 僅Packet-Filter特性支持logging參數 reflective參數暫不支持 當EB類單板工作在ACL標準模式時,該類單板引用的IPv4高級ACL不支持vpn-instance參數 當設備為PE設備時,對於VPN私網側的報文無法匹配IPv4基本ACL規則中的VPN實例(即無法匹配rule中的vpn-instance參數)。當設備為MCE設備時VPN的報文也無法匹配IPv4基本ACL規則中的VPN實例。關於PE設備、MCE設備的介紹請參見“MPLS配置指導”中的“MPLS L3VPN” |
為指定規則配置描述信息 |
rule rule-id comment text |
可選 缺省情況下,規則沒有任何描述信息 |
配置規則注釋信息 |
rule [ rule-id ] remark text |
可選 缺省情況下,ACL內沒有任何規則注釋信息 |
使能ACL的規則匹配統計功能 |
hardware-count enable |
可選 缺省情況下,ACL的規則匹配統計功能處於關閉狀態 |
如果在創建IPv4高級ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。
IPv6高級ACL可根據報文的源IPv6地址、目的IPv6地址、報文優先級、IPv6承載的協議類型及特性(如TCP/UDP的源端口和目的端口、TCP報文標識、ICMPv6協議的消息類型和消息碼等)等信息來製定規則,對IPv6報文進行匹配。用戶可利用IPv6高級ACL製訂比IPv6基本ACL更準確、豐富、靈活的規則。
表1-9 配置IPv6高級ACL
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置係統ACL規則的長度 |
acl ipv6 enable |
必選 本命令用來設置EC1/EF類單板ACL規則長度為80字節 缺省情況下,EC1/EF類單板ACL規則長度為40字節 本命令僅對EC1/EF類單板有效,隻有在執行本命令後,此類單板才支持用戶自定義ACL、IPv6 基本ACL或IPv6 高級ACL |
創建IPv6高級ACL,並進入IPv6高級ACL視圖 |
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ] |
必選 缺省情況下,不存在任何ACL IPv6高級ACL的編號範圍3000~3999 |
配置ACL的描述信息 |
description text |
可選 缺省情況下,ACL沒有任何描述信息 |
配置規則編號的步長 |
step step-value |
可選 缺省情況下,規則編號的步長為5 |
創建規則 |
rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] * |
必選 缺省情況下,IPv6高級ACL內不存在任何規則 目前,僅Packet-Filter特性支持logging參數 設備目前不支持vpn-instance參數 |
為指定規則配置描述信息 |
rule rule-id comment text |
可選 缺省情況下,規則沒有任何描述信息 |
配置規則注釋信息 |
rule [ rule-id ] remark text |
可選 缺省情況下,ACL內沒有任何規則注釋信息 |
使能ACL的規則匹配統計功能 |
hardware-count enable |
可選 缺省情況下,ACL的規則匹配統計功能處於關閉狀態 |
如果在創建IPv6高級ACL時為其指定了名稱,則也可以使用acl ipv6 name acl6-name命令通過指定名稱的方式進入其視圖。
二層ACL可根據報文的源MAC地址、目的MAC地址、802.1p優先級、鏈路層協議類型等二層信息來製訂規則,對報文進行匹配。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建二層ACL,並進入二層ACL視圖 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
必選 缺省情況下,不存在任何ACL 二層ACL的編號範圍為4000~4999 |
配置ACL的描述信息 |
description text |
可選 缺省情況下,ACL沒有任何描述信息 |
配置規則編號的步長 |
step step-value |
可選 缺省情況下,規則編號的步長為5 |
創建規則 |
rule [ rule-id ] { deny | permit } [ cos vlan-pri | counting | dest-mac dest-addr dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac sour-addr source-mask | time-range time-range-name ] * |
必選 缺省情況下,二層ACL內不存在任何規則 設備目前不支持lsap參數 當EB類單板工作在ACL標準模式時,該類單板引用的二層ACL規則中protocol-type protocol-type-mask不支持配置為0x86DD 0xFFFF(匹配IPv6報文) |
為指定規則配置描述信息 |
rule rule-id comment text |
可選 缺省情況下,規則沒有任何描述信息 |
配置規則注釋信息 |
rule [ rule-id ] remark text |
可選 缺省情況下,ACL內沒有任何規則注釋信息 |
使能ACL的規則匹配統計功能 |
hardware-count enable |
可選 缺省情況下,ACL的規則匹配統計功能處於關閉狀態 |
如果在創建二層ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。
用戶自定義ACL可以以報文頭為基準,指定從報文的第幾個字節開始與掩碼進行“與”操作,並將提取出的字符串與用戶定義的字符串進行比較,從而找出相匹配的報文。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置係統ACL規則的長度 |
acl ipv6 enable |
必選 本命令用來設置EC1/EF類單板ACL規則長度為80字節 缺省情況下,EC1/EF類單板ACL規則長度為40字節 本命令對EC1/EF類單板有效,隻有在執行本命令後,此類單板才支持用戶自定義ACL、IPv6 基本ACL或IPv6 高級ACL |
創建用戶自定義ACL,並進入用戶自定義ACL視圖 |
acl number acl-number [ name acl-name ] |
必選 缺省情況下,不存在任何ACL 用戶自定義ACL的編號範圍為5000~5999 |
配置ACL的描述信息 |
description text |
可選 缺省情況下,ACL沒有任何描述信息 |
創建規則 |
rule [ rule-id ] { deny | permit } [ { { ipv4 | ipv6 | l2 | l4 } rule-string rule-mask offset }&<1-8> ] [ time-range time-range-name ] [ counting ] |
必選 缺省情況下,用戶自定義ACL內不存在任何規則 |
為指定規則配置描述信息 |
rule rule-id comment text |
可選 缺省情況下,規則沒有任何描述信息 |
配置規則注釋信息 |
rule [ rule-id ] remark text |
可選 缺省情況下,ACL內沒有任何規則注釋信息 |
使能ACL的規則匹配統計功能 |
hardware-count enable |
可選 缺省情況下,ACL的規則匹配統計功能處於關閉狀態 |
· 如果在創建用戶自定義ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。
· 用戶自定義ACL的規則隻能按照配置順序進行匹配。
· 在組成IRF的所有設備上,acl ipv6必須配置一致,即都為acl ipv6 enable或都為acl ipv6 disable,否則不能形成IRF。有關IRF的介紹,請參見“IRF配置指導”中的“IRF”。
用戶可通過複製一個已存在的ACL(即源ACL),來生成一個新的同類型ACL(即目的ACL)。除了ACL的編號和名稱不同外,新生成的目的ACL的匹配順序、規則匹配統計功能的使能情況、規則編號的步長、所包含的規則、規則的描述信息以及ACL的描述信息等都與源ACL的相同。
表1-12 複製IPv4 ACL
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
複製生成一個新的同類型IPv4 ACL |
acl copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name } |
必選 |
目的IPv4 ACL要與源IPv4 ACL的類型相同,且目的IPv4 ACL必須不存在,否則將導致複製失敗。
表1-13 複製IPv6 ACL
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
複製生成一個新的同類型IPv6 ACL |
acl ipv6 copy { source-acl6-number | name source-acl6-name } to { dest-acl6-number | name dest-acl6-name } |
必選 |
目的IPv6 ACL要與源IPv6 ACL的類型相同,且目的IPv6 ACL必須不存在,否則將導致複製失敗。
· 本章內容,僅POS接口子卡支持,以太網接口板不支持。
· 流模板隻對基於硬件處理的ACL有效,對基於軟件處理的ACL不生效。
流模板與ACL配合使用,其主要功能是對硬件下發的ACL規則所包含的信息進行限製。在接口下發的規則所包含的信息必須是該接口下發的流模板中所定義信息的子集。比如,流模板定義了對源IP地址、目的IP地址、源TCP端口、目的TCP端口等的限製,隻有限製範圍內的規則才可以正確地下發給硬件;否則,規則將無法下發給硬件,從而導致包過濾、QoS等功能無法引用該規則。
缺省情況下,接口上應用有缺省的流模板。用戶也可以創建自定義流模板,然後將其應用在接口上。
表1-14 配置用戶自定義流模板
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建用戶自定義流模板 |
flow-template flow-template-name basic { customer-vlan-id | dip | dmac | dport | dscp | ethernet-protocol | fragments | icmp-code | icmp-type | ip-precedence | ip-protocol | mpls-exp | service-cos | sip | smac | sport | tcp-flag | tos } * |
必選 |
進入接口視圖
|
interface interface-type interface-number |
二者必選其一 接口視圖下的配置隻對當前接口生效,端口組視圖下的配置對端口組中的所有端口都生效 |
進入端口組視圖 |
port-group manual port-group-name |
|
在接口上應用用戶自定義流模板 |
flow-template flow-template-name |
必選 缺省情況下,接口上應用有缺省流模板 |
· 每個接口隻允許應用一個用戶自定義流模板。
· 如果用戶想在接口上應用用戶自定義流模板,則必須先配置一個用戶自定義流模板。
· 缺省流模板包含以下字段:sip、dip、ip-protocol、sport、dport、 icmp-code、 icmp-type、 tos、 dscp、 ip-precedence、 mpls-exp、 tcp-flag和fragment。
· 在POS接口上配置用戶自定義流模板時,不支持配置smac、dmac、ethernet-protocol和customer-vlan-id字段。
ACL最基本的應用就是進行報文過濾,即通過將ACL規則應用到指定接口的入或出方向上,從而對該接口收到或發出的報文進行過濾。此外,通過配置報文過濾日誌的生成與發送周期,還可周期性地生成並發送報文過濾的日誌信息(信息級別為informational),包括匹配次數以及所使用的ACL規則。該日誌信息將被發往信息中心,有關信息中心的詳細介紹,請參見“網絡管理和監控配置指導”中的“信息中心”。
· 在VLAN接口上應用ACL進行報文過濾時,隻能對通過該接口進行三層轉發的報文進行過濾,而對純二層轉發的報文不進行過濾。
· 係統隻支持對應用基本ACL或高級ACL進行報文過濾的日誌進行記錄,並在配置上述ACL規則時必須打開其日誌記錄功能(通過指定logging參數)和規則匹配統計功能(通過指定counting參數或使用hardware-count enable命令)。
表1-15 在設備上應用IPv4 ACL進行報文過濾
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能以太網接口板VLAN接口出方向報文過濾限製功能 |
packet-filter forwarding-layer route outbound |
可選 執行本命令後,如果再在以太網接口板上的VLAN接口出方向配置報文過濾功能,報文過濾將隻對VLAN接口出方向的三層單播報文生效 缺省情況下,以太網接口板VLAN接口出方向配置的IPv4報文過濾對所有報文生效 當EB類單板工作在ACL標準模式下時,該類單板不支持VLAN接口出方向報文過濾限製功能 |
進入接口視圖 |
interface interface-type interface-number |
- |
應用IPv4基本ACL、IPv4高級ACL、二層ACL或用戶自定義ACL進行報文過濾 |
packet-filter { acl-number | name acl-name } { inbound | outbound } |
必選 缺省情況下,在接口上不對報文進行過濾 在VLAN接口上執行本命令,入方向隻對三層單播報文生效,出方向對所有報文生效;在以太網接口上執行本命令,對所有報文均生效 當EB類單板工作在ACL標準模式時,該類單板上的接口不支持應用用戶自定義ACL進行報文過濾 請避免多個用戶同時進行本配置,否則可能導致配置失敗 |
退回係統視圖 |
quit |
- |
配置報文過濾日誌的生成與發送周期 |
acl logging frequence frequence |
兩者必選其一 缺省情況下,報文過濾日誌的生成與發送周期為0分鍾,即不記錄報文過濾的日誌 |
· packet-filter forwarding-layer route outbound命令僅對以太網接口板生效。
· packet-filter forwarding-layer route outbound或undo packet-filter forwarding-layer route outbound命令必須在packet-filter { acl-number | name acl-name } outbound命令之前配置才有效;如果在以太網接口板的VLAN接口出方向已經配置了packet-filter { acl-number | name acl-name } outbound命令,則需要先清除此配置,然後配置packet-filter forwarding-layer route outbound或undo packet-filter forwarding-layer route outbound命令,最後在以太網接口板VLAN接口上重新配置packet-filter { acl-number | name acl-name } outbound命令,報文過濾限製功能才能正常生效。
· 配置了packet-filter forwarding-layer route outbound命令後,可能導致BFD報文被丟棄。為了保證BFD功能的正常使用,建議您配置IPv4高級ACL規則允許BFD報文通過,即配置命令rule [ rule-id ] permit udp destination-port range 3784 3785。
· 在IRF模式下,配置了packet-filter forwarding-layer route outbound命令後,可能導致sFlow報文被丟棄。為了保證sFlow功能的正常使用,建議您配置IPv4高級ACL規則允許sFlow報文通過,即配置命令rule [ rule-id ] permit udp destination-port range eq udp-port(其中udp-port是用戶配置的sFlow Collector的端口號,缺省值是6343。關於sFlow的介紹請參見“網絡管理與監控配置指導”中的“sFlow”。)
· 基於VLAN接口應用的packet-filter策略會下發到主控板和所有的接口板,如果遇到某個接口板硬件資源不足等情況,會導致策略在該接口板下發失敗。此時主控板及所有接口板不回退該策略的配置,需要用戶在VLAN接口上用undo packet-filter命令手工將該策略的相關配置清除。類似地,動態修改過程中,如果基於VLAN應用的packet-filter策略在某個接口板刷新時遇到硬件資源不足等情況,下發失敗,並不會同時更新display packet-filter命令顯示的運行情況,也需要用戶手工將該策略的配置清除。
· 如果packet-filter引用的ACL已經生效,在已生效ACL中執行添加rule的操作,新添加的rule可能會不生效(原因可能是ACL資源不夠或packet-filter不支持此rule)。通過display acl { acl-number | all | name acl-name } slot slot-number查詢ACL的配置和運行情況時,不生效的rule會被標識成“uncompleted”。如果後續有了足夠的ACL資源,需要刪除不生效的rule並重新配置,此rule才能生效。
表1-16 應用IPv6 ACL進行報文過濾
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
應用IPv6基本ACL或IPv6高級ACL進行報文過濾 |
packet-filter ipv6 { acl6-number | name acl6-name } { inbound | outbound } |
必選 缺省情況下,接口不對報文進行過濾 在VLAN接口上執行本命令,入方向隻對三層單播報文生效,出方向對所有報文生效;在以太網接口上執行本命令,對所有報文均生效 請避免多個用戶同時進行本配置,否則可能導致配置失敗 當EB類單板工作在ACL標準模式時,該類單板上的接口不支持應用IPv6 ACL進行報文過濾 |
退回係統視圖 |
quit |
- |
配置IPv6報文過濾日誌的生成與發送周期 |
acl ipv6 logging frequence frequence |
必選 缺省情況下,IPv6報文過濾日誌的生成與發送周期為0分鍾,即不記錄IPv6報文過濾的日誌 |
· 基於VLAN接口應用的packet-filter ipv6策略會下發到主控板和所有的接口板,如果遇到某個接口板硬件資源不足等情況,會導致策略在該接口板下發失敗。此時主控板及所有接口板不回退該策略的配置,需要用戶在VLAN接口上用undo packet-filter ipv6命令手工將該策略的相關配置清除。類似地,動態修改過程中,如果基於VLAN應用的packet-filter ipv6策略在某個接口板刷新時遇到硬件資源不足等情況,下發失敗,並不會同時更新display packet-filter命令顯示的運行情況,也需要用戶手工將該策略的配置清除。
· 如果packet-filter ipv6引用的ACL已經生效,在已生效ACL中執行添加rule的操作,新添加的rule可能會不生效(原因可能是ACL資源不夠或packet-filter ipv6不支持此rule)。通過display acl { acl-number | all | name acl-name } slot slot-number查詢ACL的配置和運行情況時,不生效的rule會被標識成“uncompleted”。如果後續有了足夠的ACL資源,需要刪除不生效的rule並重新配置,此rule才能生效。
在完成上述配置後,在任意視圖下執行display命令可以顯示ACL配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除ACL的統計信息。
表1-17 ACL顯示和維護
配置 |
命令 |
顯示IPv4 ACL的配置和運行情況(獨立運行模式) |
display acl { acl-number | all | name acl-name } [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示IPv4 ACL的配置和運行情況(IRF模式) |
display acl { acl-number | all | name acl-name } [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示IPv6 ACL的配置和運行情況(獨立運行模式) |
display acl ipv6 { acl6-number | all | name acl6-name } [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示IPv6 ACL的配置和運行情況(IRF模式) |
display acl ipv6 { acl6-number | all | name acl6-name } [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示EB類單板的ACL工作模式 |
display acl mode [ | { begin | exclude | include } regular-expression ] |
顯示ACL資源的使用情況(獨立運行模式) |
display acl resource [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示ACL資源的使用情況(IRF模式) |
display acl resource [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示指定名稱的用戶自定義流模板的配置信息 |
display flow-template user-defined [ flow-template-name ] [ | { begin | exclude | include } regular-expression ] |
顯示用戶自定義流模板在接口上的應用信息 |
display flow-template interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示報文過濾策略的應用情況(獨立運行模式) |
display packet-filter { { all | interface interface-type interface-number } [ inbound | outbound ] | interface vlan-interface vlan-interface-number [ inbound | outbound ] [ slot slot-number ] } [ | { begin | exclude | include } regular-expression ] |
顯示報文過濾策略的應用情況(IRF模式) |
display packet-filter { { all | interface interface-type interface-number } [ inbound | outbound ] | interface vlan-interface vlan-interface-number [ inbound | outbound ] [ chassis chassis-number slot slot-number ] } [ | { begin | exclude | include } regular-expression ] |
顯示時間段的配置和狀態信息 |
display time-range { time-range-name | all } [ | { begin | exclude | include } regular-expression ] |
清除IPv4 ACL統計信息 |
reset acl counter { acl-number | all | name acl-name } |
清除IPv6 ACL統計信息 |
reset acl ipv6 counter { acl6-number | all | name acl6-name } |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
· 公司企業網通過Switch實現各部門之間的互連。
· 要求正確配置ACL,禁止其它部門在上班時間(8:00至18:00)訪問工資查詢服務器(IP地址為129.110.1.2),而總裁辦公室(IP地址為129.111.1.2)不受限製,可以隨時訪問。
圖1-1 配置ACL組網圖
# 定義8:00至18:00的周期時間段。
<Switch> system-view
[Switch] time-range trname 8:00 to 18:00 working-day
# 定義總裁辦公室到工資服務器的訪問規則。
[Switch] acl number 3000
[Switch-acl-adv-3000] rule 1 permit ip source 129.111.1.2 0.0.0.0 destination 129.110.1.2 0.0.0.0
[Switch-acl-adv-3000] quit
# 定義其它部門到工資服務器的訪問規則。
[Switch] acl number 3001
[Switch-acl-adv-3001] rule 1 permit ip source any destination 129.110.1.2 0.0.0.0 time-range trname
[Switch-acl-adv-3001] quit
(3) 定義QoS策略並在端口上應用。
# 配置流分類和流行為。
[Switch] traffic classifier test_permit
[Switch-classifier-test_permit] if-match acl 3000
[Switch-classifier-test_permit] quit
[Switch] traffic behavior test_permit
[Switch-behavior-test_permit] filter permit
[Switch-behavior-test_permit] quit
[Switch] traffic classifier test_deny
[Switch-classifier-test_deny] if-match acl 3001
[Switch-classifier-test_deny] quit
[Switch] traffic behavior test_deny
[Switch-behavior-test_deny] filter deny
[Switch-behavior-test_deny] quit
# 配置QoS策略。
[Switch] qos policy test
[Switch-qospolicy-test] classifier test_permit behavior test_permit
[Switch-qospolicy-test] classifier test_deny behavior test_deny
[Switch-qospolicy-test] quit
# 在GigabitEthernet4/0/1~GigabitEthernet4/0/3端口的入方向上應用QoS策略。
[Switch] interface gigabitethernet 4/0/1
[Switch-GigabitEthernet4/0/1] qos apply policy test inbound
[Switch-GigabitEthernet4/0/1] quit
[Switch] interface gigabitethernet 4/0/2
[Switch-GigabitEthernet4/0/2] qos apply policy test inbound
[Switch-GigabitEthernet4/0/2] quit
[Switch] interface gigabitethernet 4/0/3
[Switch-GigabitEthernet4/0/3] qos apply policy test inbound
[Switch-GigabitEthernet4/0/3] quit
在以太網端口GigabitEthernet4/0/1上配置IPv6報文過濾,允許接收源IPv6地址為4050::9000到4050::90FF的報文,禁止接收其他報文。
# 配置源地址為4050::9000到4050::90FF的ACL規則。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] rule permit source 4050::9000/120
[Sysname-acl6-basic-2000] quit
# 配置其他源地址的ACL規則。
[Sysname] acl ipv6 number 2001
[Sysname-acl6-basic-2001] rule permit source any
[Sysname-acl6-basic-2001] quit
# 配置允許接收源地址為4050::9000到4050::90FF的類和流行為。
[Sysname] traffic classifier c_permit
[Sysname-classifier-c_permit] if-match acl ipv6 2000
[Sysname-classifier-c_permit] quit
[Sysname] traffic behavior b_permit
[Sysname-behavior-b_permit] filter permit
[Sysname-behavior-b_permit] quit
# 配置拒絕其它源地址的類和流行為。
[Sysname] traffic classifier c_deny
[Sysname-classifier-c_deny] if-match acl ipv6 2001
[Sysname-classifier-c_deny] quit
[Sysname] traffic behavior b_deny
[Sysname-behavior-b_deny] filter deny
[Sysname-behavior-b_deny] quit
# 配置QoS策略。
[Sysname] qos policy test
[Sysname-qospolicy-test] classifier c_permit behavior b_permit
[Sysname-qospolicy-test] classifier c_deny behavior b_deny
[Sysname-qospolicy-test] quit
# 在端口GigabitEthernet4/0/1入方向上應用策略。
[Sysname] interface gigabitethernet 4/0/1
[Sysname-GigabitEthernet4/0/1] qos apply policy test inbound
[Sysname-GigabitEthernet4/0/1] quit
· 要求通過在Switch的VLAN接口上配置報文過濾功能,實現在每天的8:00~18:00時間段對來自Host A的IPv4(三層)報文進行過濾,並對符合條件的報文進行統計並記錄日誌信息。
· 之後配置需求有變更,要求對來自Host B的IPv4(三層)報文進行過濾。要求通過動態修改ACL規則,實現配置需求的變更。
圖1-2 應用ACL進行報文過濾典型配置組網圖
# 配置時間段study,在每天的8:00到18:00生效。
<Switch> system-view
[Switch] time-range study 8:00 to 18:00 daily
# 配置VLAN接口,將接口GigabitEthernet3/0/1加入到指定VLAN。
[Switch] vlan 2
[Switch-vlan2] port GigabitEthernet 3/0/1
[Switch-vlan2] quit
# 創建基本IPv4 ACL 2009。
[Switch] acl number 2009
# 定義一個規則,禁止源IP地址為192.168.1.2/32的報文通過,並對符合條件的報文進行統計並記錄日誌信息。
[Switch-acl-basic-2009] rule 5 deny source 192.168.1.2 0 time-range study logging counting
[Switch-acl-basic-2009] quit
# 配置IPv4報文過濾日誌的生成與發送周期為10分鍾。
[Switch] acl logging frequence 10
# 應用基本IPv4 ACL 2009對VLAN接口收到的IPv4報文進行過濾。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.1 24
[Switch-Vlan-interface2] packet-filter 2009 inbound
[Switch-Vlan-interface2] quit
# 配置係統信息的輸出規則,將級別為informational的日誌信息輸出至控製台。
[Switch] info-center source default channel 0 log level informational
# 修改ACL規則,禁止源IP地址為192.168.1.3/32的報文通過(設備支持ACL動態修改,可直接修改已經生效ACL規則,修改後即生效)。
[Switch] acl number 2009
[Switch-acl-basic-2009] rule 5 deny source 192.168.1.3 0
配置用戶自定義流模板,並在接口上應用。
# 配置標準型用戶自定義流模板aaa。
<Sysname> system-view
[Sysname] flow-template aaa basic sip dip
# 在接口Pos3/1/1上應用用戶自定義流模板aaa。
[Sysname] interface Pos 3/1/1
[Sysname-Pos3/1/1] flow-template aaa
# 顯示用戶自定義流模板aaa的信息。
[Sysname-Pos3/1/1] display flow-template user-defined aaa
user-defined flow template: basic
name:aaa, index:1, total reference counts:1
fields: sip dip
# 顯示所有用戶自定義流模板的信息。
[Sysname]display flow-template user-defined
user-defined flow template: basic
name:aaa, index:1, total reference counts:1
fields: sip dip
user-defined flow template: basic
name:1, index:2, total reference counts:0
fields: dport
user-defined flow template: basic
name:2, index:3, total reference counts:0
fields: dscp
# 刪除用戶自定義流模板。如果用戶自定義流模板已在接口應用,須先在接口取消應用。
[Sysname] interface Pos 3/1/1
[Sysname-Pos3/1/1] undo flow-template
[Sysname-Pos3/1/1] quit
[Sysname] undo flow-template name aaa
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!