1. 程式人生 > >華為H3C ACL配置

華為H3C ACL配置

一、ACL功能簡介

隨著網路規模的擴大和流量的增加,對網路安全的控制和對頻寬的分配成為網路管理的重要內容。通過對資料包進行過濾,可以有效防止非法使用者對網路的訪問,同時也可以控制流量,節約網路資源。ACL(Access Control List,訪問控制列表)即是通過配置對報文的匹配規則和處理操作來實現包過濾的功能。

二、ACL種類

1. 基本ACL:只根據資料包的源IP地址制定規則,序號為2000~2999,定義時間段也屬於基本ACL。

2. 高階ACL:高階ACL可以使用資料包的源IP地址、目的IP地址、IP承載的協議型別、針對協議的特性(例如TCP或UDP的源埠、目的埠,ICMP協議的訊息型別、訊息碼等)內容定義規則。高階ACL序號取值範圍3000~3999(3998與3999是系統為叢集管理預留的編號,使用者無法配置)。高階ACL支援對三種報文優先順序的分析處理:ToS(Type of Service,服務型別)優先順序、IP優先順序和DSCP(Differentiated Services CodePoint,差分服務編碼點)優先順序。

3. 二層ACL:根據資料包的源MAC地址、目的MAC地址、802.1p優先順序、二層協議型別等二層資訊制定規則。使用者可以利用高階ACL定義比基本ACL更準確、更豐富、更靈活的規則。二層ACL的序號取值範圍為4000~4999。

4. 使用者自定義ACL:以資料包的頭部為基準,指定從第幾個位元組開始與掩碼進行“與”操作,將從報文提取出來的字串和使用者定義的字串進行比較,找到匹配的報文。

三、ACL匹配順序

一條ACL可以包含多個規則,因此會出現規則匹配順序,其支援兩種匹配順序:一種是配置順序(根據使用者配置規則的先後順序進行規則匹配,一種是自動排序(根據深度優先的順序進行規則匹配)

1. 基本ACL的“深度優先”順序判斷原則

(1) 先比較源IP地址範圍,源IP地址範圍小(反掩碼中“0”位的數量多)的規則優先;

(2) 如果源IP地址範圍相同,則比較是否帶有fragment引數,帶有fragment引數的規則優先;

(3) 如果源IP地址範圍、是否帶有fragment引數這兩個判斷條件也相同,則先配置的規則優先。

  2. 高階ACL的“深度優先”順序判斷原則

 (1) 首先比較協議範圍,指定了IP協議承載的協議型別的規則優先; 

(2) 如果協議範圍相同,則比較源IP地址範圍,源IP地址範圍小(反掩碼中“0”位的數量多)的規則優先;

(3)如果協議範圍、源IP地址範圍相同,則比較目的IP地址範圍,目的IP地址範圍小(反掩碼中“0”位的數量多)的規則優先; 

(4) 如果協議範圍、源IP地址範圍、目的IP地址範圍相同,則比較四層埠號(TCP/UDP埠號)範圍,四層埠號範圍小的規則優先; 

(5)如果協議範圍、源IP地址範圍、目的IP地址範圍、四層埠號範圍相同,則比較規則中引數的個數,引數個數多的規則優先。

 如果規則A與規則B的協議範圍、源IP地址範圍、目的IP地址範圍、四層埠號範圍完全相同,並且其它的引數個數也相同,將按照加權規則進行排序。裝置為每個引數設定一個固定的權值,最終的匹配順序由各個引數的權值和引數的取值來決定。各個引數自身的權值從大到小排列為icmp-type、established、dscp、tos、precedence、fragment。比較規則如下: z 裝置以一個固定權值依次減去規則中所配置的各個引數自身的權值,所得結果小的規則優先; z 如果各個規則中引數種類完全相同,則這些引數取值的累加和小的規則優先。

五、ACL在交換機(路由器)上的應用方式

1. ACL直接下發到硬體的情況

 ACL可以直接下發到交換機(路由器)的硬體,用於資料轉發過程中的報文過濾和流分類。此時一條ACL中多個規則的匹配順序是由交換機的硬體決定的,對於S3100系列乙太網交換機,匹配順序為先下發的規則先匹配。 ACL直接下發到硬體的情況包括:通過ACL過濾轉發資料、配置QoS功能時引用ACL等。 

2. ACL被上層軟體引用的情況

 ACL也可以用來對由軟體處理的報文進行過濾和流分類。此時ACL規則的匹配順序有兩種:1)config:按使用者配置的先後順序;2)auto:按“深度優先”的順序。 

使用者可以在定義ACL的時候指定一條ACL中多個規則的匹配順序。使用者一旦指定某一條ACL的匹配順序,就不能再更改該順序。只有把該ACL中所有的規則全部刪除後,才能重新指定其匹配順序。 ACL被上層軟體引用的情況包括:路由策略引用ACL、對Telnet、SNMP和WEB登入使用者進行控制時引用ACL等。

六、ACL配置

1. 配置時間段

ACL時間段配置屬於基本ACL,其配置步驟如表

配置步驟命令說明
進入系統檢視system-view
建立一個時間段time-range time-name { start-time to end-time 
days-of-the-week from start-time start-date ]
 [ to end-time end-date ] | from start-time start-date 
[ to end-time end-date ] | to end-time end-date }
[]中為可選項,可不填
舉例

(1)配置週期時間段,時間為週一到週五每天8:00到18:00

<Sysname> system-view 

[Sysname] time-range test 8:00 to 18:00 working-day 

(2)配置絕對時間段,時間為2017年1月28日15:00到2018年1月28日15:00

<Sysname> system-view

[Sysname] time-range test from 15:001/28/2017 to 15:00 1/28/2018 

(3)檢視配置情況

[Sysname] display time-range test 

2. 配置基本ACL

(1)配置步驟

配置步驟命令說明
進入系統檢視system-view
建立並進入基本ACL檢視acl number acl-number [match-order] {auto |config}預設為config
定義基本ACL規則rule [rule-id] {deny | permit} [rule-string]
定義ACL的描述資訊description text

(2)配置舉例

配置ACL2000,禁止源192.168.0.1的報文通過

<Sysname> system-view 

[Sysname] acl number 2000 

[Sysname-acl-basic-2000] rule deny source 192.168.0.1 0

顯示配置

[sysname] display acl 2000

3. 配置高階ACL

配置步驟命令說明
進入系統檢視system-view
建立並進入高階ACL檢視acl number acl-number [match-order {auto |config}]
定義高階ACL規則rule [rule-id] {permit |deny} protocol [rule-string]
定義高階ACL規則的註釋資訊rule rule-id comment text可選,預設情況沒有註釋
定義ACL描述資訊description text
舉例

<Sysname> system-view 

[Sysname] acl number 3000 

[Sysname-acl-adv-3000] rule permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq 80  

3. 配置二層ACL

配置步驟同高級ACL配置,但要首先確定源MAC地址、目的MAC地址、802.1p優先順序、二層協議型別等引數

舉例:

<Sysname> system-view 

[Sysname] acl number 4000 

[Sysname-acl-ethernetframe-4000] rule deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff  

需要注意的是:1)當高階ACL的匹配順序為config時,使用者可以修改該ACL中的任何一條已經存在的規則,在修改ACL中的某條規則時,該規則中沒有修改到的部分仍舊保持原來的狀態;當高階ACL的匹配順序為auto時,使用者不能修改該ACL中的任何一條已經存在的規則,否則系統會提示錯誤資訊。 2)在建立一條ACL規則的時候,使用者可以不指定規則的編號,裝置將自動為這個規則分配一個編號:如果此ACL中沒有規則,編號為0;如果此ACL中已有規則,編號為現有規則的最大編號+1;如果此ACL中現有規則的最大編號為65534,則系統會提示錯誤資訊,此時使用者必須指定規則的編號才能建立成功。3) 新建立或修改後的規則不能和已經存在的規則相同,否則會導致建立或修改不成功,系統會提示該規則已經存在。 4) 當高階ACL的匹配順序為auto時,新建立的規則將按照“深度優先”的原則插入到已有的規則中,但是所有規則對應的編號不會改變。

七、ACL下發

ACL規則生效需要對規則進行下發,硬體下發方式有四種方式。

1)全域性下發ACL:對所有埠接收的報文應用ACL規則進行過濾。

2)VLAN下發ACL:對所有埠接收的屬於指定VLAN的報文應用ACL規則進行過濾。

3)埠組下發ACL:對埠組內所有埠接收的報文應用ACL規則進行過濾。

4)埠下發ACL:對埠接收的報文應用ACL規則進行過濾。

1. 全域性下發ACL

配置步驟命令說明
進入系統檢視system-view
全域性下發ACLpacket-filter inbound acl-rule

舉例:

在全域性下發ACL,對所有埠接受的報文應用基本ACL2000進行過濾

<Sysname>system-view

[Sysname] packet-filter inbound ip-group 2000

2. VLAN下發ACL

配置步驟命令說明
進入系統檢視system-view
全域性下發ACLpacket-filter vlan vlan-id inbound acl-rule

舉例:

在全域性下發ACL,對所有埠接受的報文應用基本ACL2000進行過濾

<Sysname>system-view

[Sysname] packet-filter vlan 10 inbound ip-group 2000

3. 埠組下發ACL

配置步驟命令說明
進入系統檢視system-view
進入埠組檢視port-group group-id
埠組下發ACLpacket-filter inbound acl-rule

舉例:

在全域性下發ACL,對所有埠接受的報文應用基本ACL2000進行過濾

<Sysname>system-view

[Sysname]port-group 1

[Sysname-port-group-1] packet-filter inbound ip-group 2000

4. 埠下發ACL
配置步驟命令說明
進入系統檢視system-view
進入埠組檢視interface interface-type interface-number
埠組下發ACLpacket-filter inbound acl-rule

舉例:

在全域性下發ACL,對所有埠接受的報文應用基本ACL2000進行過濾

<Sysname>system-view

[Sysname] interface e 0/0/1

[Sysname-Ethernet0/0/1] packet-filter inbound ip-group 2000

5. ACL被上層軟體引用

(1)Telnet登入使用者控制

在VTY使用者介面引用基本ACL 2000,對Telnet登入使用者進行控制。

 [Sysname] user-interface vty 0 4 

[Sysname-ui-vty0-4] acl 2000 inbound

(2)通過源IP對WEB登入控制
通過源IP地址對WEB登入使用者進行控制,僅允許IP地址為10.110.100.46的WEB使用者通過HTTP方式訪問交換機。EB登入使用者進行控制配置

<Sysname> system-view 

[Sysname] acl number 2001 match-order config 

[Sysname-acl-basic-2001] rule 1 permit source 10.110.100.46 0 

[Sysname-acl-basic-2001] quit

[Sysname] ip http acl 2000




高階ACL:根據資料包的源IP地址、目的IP地址、IP承載的協議型別、協議特性等三、四層資訊制定規則。

配置步驟命令說明
進入系統檢視system-view
進入埠組檢視port-group group-id
埠組下發ACLpacket-filter inbound acl-rule