• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • BOB登陆 人才研學中心
  • 關於我們

06-ACL和QoS配置指導

目錄

01-ACL配置

本章節下載 01-ACL配置  (274.62 KB)

01-ACL配置


1 ACL配置

說明

本文將用於IPv4和IPv6的ACL分別簡稱為IPv4 ACL和IPv6 ACL。若非特別指明,本文所指的ACL均包括IPv4 ACL和IPv6 ACL。

 

1.1  ACL簡介

ACL(Access Control List,訪問控製列表)是用來實現流識別功能的。網絡設備為了過濾報文,需要配置一係列的匹配條件對報文進行分類,這些條件可以是報文的源地址、目的地址、端口號等。

當設備的端口接收到報文後,即根據當前端口上應用的ACL規則對報文的字段進行分析,在識別出特定的報文之後,根據預先設定的策略允許或禁止該報文通過。

由ACL定義的報文匹配規則,可以被其它需要對流量進行區分的場合引用,如包過濾、QoS中流分類規則的定義等。

1.1.1  ACL的分類

根據功能以及規則製訂依據的不同,可以將ACL分為五種類型,如表1-1所示

表1-1 ACL的分類

ACL類型

編號範圍

適用的IP版本

規則製訂依據

WLAN ACL

100~199

IPv4&IPv6

根據無線客戶端的SSID製定匹配規則

WLAN-AP ACL

200~299

IPv4和IPv6

WLAN AP(Access Point,接入點)的MAC地址和序列號

基本ACL

2000~2999

IPv4

隻根據報文的源IP地址信息製定匹配規則

IPv6

隻根據報文的源IPv6地址信息製定匹配規則

高級ACL

3000~3999

IPv4

根據報文的源IP地址信息、目的IP地址信息、IP承載的協議類型、協議的特性等三、四層信息製定匹配規則

IPv6

根據報文的源IPv6地址信息、目的IPv6地址信息、IPv6承載的協議類型、協議的特性等三、四層信息製定匹配規則

二層ACL

4000~4999

IPv4&IPv6

根據報文的源MAC地址、目的MAC地址、802.1p優先級、二層協議類型等二層信息製定匹配規則

 

1.1.2  ACL的編號和名稱

用戶在創建ACL時必須為其指定編號,係統將根據用戶所指定的編號來創建不同類型的ACL。

通常名稱比編號更易於記憶和識別,因此用戶在創建ACL時,還可以選擇是否為其指定名稱,而且隻能在創建ACL時為其指定名稱。ACL一旦創建,便不允許對其名稱進行修改或刪除。

當ACL創建完成後,用戶可以通過指定編號或名稱的方式來指定該ACL,以便對其進行操作。

說明

·       不允許為WLAN ACL和WLAN-AP ACL 指定名稱。

·       WLAN ACL的編號、二層ACL的編號和名稱全局唯一;IPv4基本和高級ACL的編號和名稱隻在IPv4中唯一;IPv6基本和高級ACL的編號和名稱也隻在IPv6中唯一。

 

1.1.3  ACL的匹配順序

一個ACL由一條或多條描述報文匹配選項的判斷語句組成,這樣的判斷語句就稱為“規則”。由於每條規則中的報文匹配選項不同,從而使這些規則之間可能存在重複甚至矛盾的地方,因此在將一個報文與ACL的各條規則進行匹配時,就需要有明確的匹配順序來確定規則執行的優先級。ACL的規則匹配順序有以下兩種:

·              配置順序:按照用戶配置規則的先後順序進行匹配,但由於本質上係統是按照規則編號由小到大進行匹配,因此後插入的規則如果編號較小也有可能先被匹配。

·              自動排序:按照“深度優先”原則由深到淺進行匹配,不同類型ACL的“深度優先”排序法則如表1-2所示。

說明

·       WLAN ACL的規則隻能按照配置順序進行匹配。

·       當報文與各條規則進行匹配時,一旦匹配上某條規則,就不會再繼續匹配下去,係統將依據該規則對該報文執行相應的操作。

 

表1-2 各類型ACL的“深度優先”排序法則

ACL類型

“深度優先”排序法則

IPv4基本ACL

(1)    先比較源IPv4地址範圍,範圍較小者優先

(2)    如果源IP地址範圍也相同,再比較配置順序,配置在前者優先

IPv4高級ACL

(1)    先比較協議範圍,指定有IPv4承載的協議類型者優先

(2)    如果協議範圍也相同,再比較源IPv4地址範圍,較小者優先

(3)    如果源IPv4地址範圍也相同,再比較目的IPv4地址範圍,較小者優先

(4)    如果目的IPv4地址範圍也相同,再比較四層端口(即TCP/UDP端口)號範圍,較小者優先

(5)    如果四層端口號範圍也相同,再比較配置順序,配置在前者優先

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”位越多,範圍越小。

 

1.1.4  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.1.5  ACL的生效時間段

時間段用於描述一個特定的時間範圍。用戶可能有這樣的需求:一些ACL規則隻需在某個或某些特定的時間段內生效(即進行報文過濾),這也稱為基於時間段的ACL過濾。為此,用戶可以先配置一個或多個時間段,然後在ACL規則下引用這些時間段,那麼該規則將隻在指定的時間段內生效。

此外,如果某ACL規則所引用的時間段尚未配置,係統將給出提示信息,並仍允許該規則成功創建,但該規則將不會在其引用的時間段完成配置前生效。

1.1.6  ACL對IPv4分片報文的處理

傳統的報文過濾並不處理所有的IPv4報文分片,而隻對首片分片報文進行匹配處理,而對後續分片一律放行。這樣,網絡攻擊者可能構造後續的分片報文進行流量攻擊,就帶來了安全隱患。H3C的設備能夠對IPv4分片報文進行如下處理:

·              對所有的分片報文進行三層(IP層)匹配過濾。

·              對於包含高級信息的IPv4 ACL規則項(譬如TCP/UDP端口號、ICMP類型等),提供標準匹配和精確匹配兩種匹配方式,缺省的匹配方式為標準匹配方式。

1.1.7  ACL的應用

ACL作為一種規則,可以應用於諸如路由、安全、QoS等領域,有關ACL在這些領域的具體應用,請參見相關的配置指導。

1.2  ACL配置任務簡介

表1-3 ACL配置任務簡介

配置任務

說明

詳細配置

配置ACL的生效時間段

可選

本配置任務適用於IPv4和IPv6

1.3.1 

配置WLAN ACL

至少選擇一項

本配置任務適用於IPv4和IPv6

1.3.2 

配置基本ACL

本配置任務適用於IPv4和IPv6

1.3.3 

配置高級ACL

本配置任務適用於IPv4和IPv6

1.3.4 

配置二層ACL

本配置任務適用於IPv4和IPv6

1.3.5 

複製ACL

可選

本配置任務適用於IPv4和IPv6

1.3.6 

 

1.3  配置ACL

1.3.1  配置ACL的生效時間段

時間段可分為以下兩種:

·              周期時間段:該時間段以一周為周期循環生效。

·              絕對時間段:該時間段在指定時間範圍內生效。

表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條絕對時間段。

 

1.3.2  配置WLAN ACL

WLAN ACL會根據無線客戶端的SSID製定匹配規則,對報文進行相應的分析處理。

表1-5 配置WLAN ACL

操作

命令

說明

進入係統視圖

system-view

-

創建WLAN ACL,並進入WLAN ACL視圖

acl number acl-number

必選

缺省情況下,不存在任何ACL

WLAN ACL的編號範圍為100~199

配置ACL的描述信息

description text

可選

缺省情況下,ACL沒有任何描述信息

配置規則編號的步長

step step-value

可選

缺省情況下,規則編號的步長為5

創建規則

rule [ rule-id ] { permit | deny } [ ssid ssid-name ]

必選

缺省情況下,WLAN ACL內不存在任何規則

重複執行本命令可以創建多條規則

配置規則的描述信息

rule rule-id comment text

可選

缺省情況下,規則沒有任何描述信息

 

1.3.3  配置基本ACL

1. 配置IPv4基本ACL

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 | source { sour-addr sour-wildcard | any } | time-range time-range-name ] *

必選

缺省情況下,IPv4基本ACL內不存在任何規則

重複執行本命令可以創建多條規則

配置規則的描述信息

rule rule-id comment text

可選

缺省情況下,規則沒有任何描述信息

 

說明

如果在創建IPv4基本ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。

 

2. 配置IPv6基本ACL

IPv6基本ACL隻根據報文的源IPv6地址信息製定匹配規則,對IPv6報文進行相應的分析處理。

表1-7 配置IPv6基本ACL

操作

命令

說明

進入係統視圖

system-view

-

創建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 | source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | time-range time-range-name ] *

必選

缺省情況下,IPv6基本ACL內不存在任何規則

重複執行本命令可以創建多條規則

配置規則的描述信息

rule rule-id comment text

可選

缺省情況下,規則沒有任何描述信息

 

說明

如果在創建IPv6基本ACL時為其指定了名稱,則也可以使用acl ipv6 name acl6-name命令通過指定名稱的方式進入其視圖。

 

1.3.4  配置高級ACL

1. 配置IPv4高級ACL

IPv4高級ACL可以使用報文的源IPv4地址信息、目的IPv4地址信息、IPv4承載的協議類型、協議的特性(例如TCP或UDP的源端口、目的端口,TCP標記,ICMP協議的消息類型、消息碼等)等信息來製定匹配規則。IPv4高級ACL支持對以下三種報文優先級進行分析處理:

·              ToS(Type of Service,服務類型)優先級;

·              IP優先級;

·              DSCP(Differentiated Services Codepoint,差分服務編碼點)優先級。

用戶可以利用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 | icmp-type { icmp-type [ icmp-code ] | icmp-message } | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | tos tos ] *

必選

缺省情況下,IPv4高級ACL內不存在任何規則

重複執行本命令可以創建多條規則

配置規則的描述信息

rule rule-id comment text

可選

缺省情況下,規則沒有任何描述信息

 

說明

如果在創建IPv4高級ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。

 

2. 配置IPv6高級ACL

IPv6高級ACL可以使用報文的源IPv6地址信息、目的IPv6地址信息、IPv6承載的協議類型、協議的特性(例如TCP或UDP的源端口、目的端口,ICMP協議的消息類型、消息碼等)等信息來製定匹配規則。

用戶可以利用IPv6高級ACL定義比IPv6基本ACL更準確、豐富、靈活的規則。

表1-9 配置IPv6高級ACL

操作

命令

說明

進入係統視圖

system-view

-

創建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 | icmp6-type { icmp6-type icmp6-code | icmp6-message } | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name  ] *

必選

缺省情況下,IPv6高級ACL內不存在任何規則

重複執行本命令可以創建多條規則

配置規則的描述信息

rule rule-id comment text

可選

缺省情況下,規則沒有任何描述信息

使能ACL的規則匹配統計功能

hardware-count enable

可選

缺省情況下,ACL的規則匹配統計功能處於關閉狀態

 

說明

如果在創建IPv6高級ACL時為其指定了名稱,則也可以使用acl ipv6 name acl6-name命令通過指定名稱的方式進入其視圖。

 

1.3.5  配置二層ACL

二層ACL根據報文的源MAC地址、目的MAC地址、802.1p優先級、二層協議類型等二層信息製定匹配規則,對報文進行相應的分析處理。

表1-10 配置二層ACL

操作

命令

說明

進入係統視圖

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內不存在任何規則

重複執行本命令可以創建多條規則

配置規則的描述信息

rule rule-id comment text

可選

缺省情況下,規則沒有任何描述信息

 

說明

如果在創建二層ACL時為其指定了名稱,則也可以使用acl name acl-name命令通過指定名稱的方式進入其視圖。

 

1.3.6  複製ACL

用戶可以通過複製一個已存在的ACL,來生成一個新的同類型ACL。除了ACL的編號和名稱不同外,新生成的ACL(即目的ACL)的匹配順序、規則匹配統計功能的使能情況、規則編號的步長、所包含的規則、規則的描述信息以及ACL的描述信息等都與源ACL的相同。

1. 複製IPv4 ACL

表1-11 複製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必須存在,目的IPv4 ACL必須不存在。

·       當源或目的ACL為WLAN ACL時,都不允許為其指定名稱。

 

2. 複製IPv6 ACL

表1-12 複製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必須存在,目的IPv6 ACL必須不存在。

 

1.4  ACL顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示ACL配置後的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除ACL的統計信息。

表1-13 ACL顯示和維護

配置

命令

顯示IPv4 ACL的配置和運行情況

display acl { acl-number | all | name acl-name } [ | { begin | exclude | include } regular-expression ]

顯示IPv6 ACL的配置和運行情況

display acl ipv6 { acl6-number | all | name acl6-name } [ | { 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 }

 

1.5  ACL典型配置舉例

1.5.1  IPv4 ACL典型配置舉例

1. 組網需求

公司企業網通過AC實現無線用戶同服務器之間的互連。工資查詢服務器的地址為192.168.1.2/24。研發部門的無線用戶在無線控製器上對應的無線接口為WLAN-ESS1,要求正確配置IPv4 ACL,禁止研發部門無線用戶在工作日8:00至18:00訪問工資查詢服務器。

2. 組網圖

圖1-1 配置IPv4 ACL組網圖

 

3. 配置步驟

(1)      定義上班時間段

# 定義星期一至星期五的8:00至18:00的周期時間段。

<AC> system-view

[AC] time-range trname 8:00 to 18:00 working-day

(2)      定義到工資服務器的IPv4 ACL

# 進入高級IPv4 ACL視圖,編號為3000。

[AC] acl number 3000

# 定義匹配從研發部門到工資服務器的報文的訪問規則。

[AC-acl-adv-3000] rule 0 permit ip source any destination 192.168.1.2 0.0.0.0 time-range trname

[AC-acl-adv-3000] quit

(3)      應用IPv4 ACL

# 將IPv4 ACL 3000應用於WLAN-ESS1入方向的包過濾。

[AC] traffic classifier test

[AC-classifier-test] if-match acl 3000

[AC-classifier-test] quit

[AC] traffic behavior test

[AC-behavior-test] filter deny

[AC-behavior-test] quit

[AC] qos policy test

[AC-qospolicy-test] classifier test behavior test

[AC-qospolicy-test] quit

[AC] interface WLAN-ESS 1

[AC-WLAN-ESS1] qos apply policy test inbound

1.5.2  IPv6 ACL典型配置舉例

1. 組網需求

在無線控製器接口WLAN-ESS1配置IPv6報文過濾,禁止接收源IPv6地址為2000::0100到2000::ff00 的報文,允許接收其他報文。

2. 配置步驟

# 配置IPv6 ACL(假定IPv6 ACL編號為2000),規則如下。

<AC> system-view

[AC] acl ipv6 number 2000

[AC-acl6-basic-2000] rule permit source 2000::0100 120

[AC-acl6-basic-2000] quit

# 配置流分類

[AC] traffic classifier ipv6-2000

[AC-classifier-ipv6-2000] if-match acl ipv6 2000

[AC-classifier-ipv6-2000] quit

# 配置流行為

[AC] traffic behavior deny

[AC-behavior-deny] filter deny

[AC] quit

# 配置QOS流策略

[AC] qos policy deny2000

[AC-qospolicy-deny2000] classifier ipv6-2000 behavior deny

[AC-qospolicy-deny2000] quit

# 配置接口WLAN-ESS1入方向的IPv6報文過濾。

[AC] interface WLAN-ESS1

[AC-WLAN-ESS1] qos apply policy deny2000 inbound

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們