19-ACL命令
本章節下載 (231.34 KB)
【命令】
acl number acl-number [ match-order { auto | config } ]
undo acl { all | number acl-number }
【視圖】
係統視圖
【參數】
all:所有的ACL(Access Control List,訪問控製列表)。
number acl-number:ACL序號,取值範圍為:
l 2000~2999:表示基本ACL。
l 3000~3999:表示高級ACL(3998與3999是係統為集群管理預留的編號,用戶無法配置)。
l 4000~4999:表示二層ACL。
match-order:指定對該ACL規則的匹配順序,匹配順序如下:
l auto:按照“深度優先”的順序進行規則匹配。
l config:按照用戶配置規則的先後順序進行規則匹配。
關於auto和config這兩種匹配順序的詳細介紹請參見“ACL操作”中的描述。
需要注意的是,在定義二層ACL時沒有match-order參數,二層ACL的匹配順序為config。
【描述】
acl命令用來定義ACL,並進入相應的ACL視圖。undo acl命令用來刪除指定的ACL,或者刪除全部ACL。
缺省情況下,ACL規則的匹配順序為config。
用戶也可以通過本命令修改一個已經存在的ACL的匹配順序,但必須在ACL中沒有規則的時候修改,對已經包含規則的ACL是無法修改其匹配順序的。
進入相應的ACL視圖之後,可以使用rule命令增加此ACL的規則。
相關配置可參考命令rule。
【舉例】
# 定義基本ACL 2000,並配置其匹配順序為“深度優先”。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 2000 match-order auto
# 為基本ACL 2000創建三條源IP地址範圍(反掩碼中“0”位的數量)不同的規則。
[Sysname-acl-basic-2000] rule 1 permit source 1.1.1.1 0.255.255.255
[Sysname-acl-basic-2000] rule 2 permit source 2.2.2.2 0.0.255.255
[Sysname-acl-basic-2000] rule 3 permit source 3.3.3.3 0.0.0.255
# 使用display acl命令查看基本ACL 2000的配置信息。
[Sysname-acl-basic-2000] display acl 2000
Basic ACL 2000, 3 rules, match-order is auto
rule 3 permit source 3.3.3.0 0.0.0.255
rule 2 permit source 2.2.0.0 0.0.255.255
rule 1 permit source 1.0.0.0 0.255.255.255
以上信息表明,交換機按照“深度優先”的原則對基本ACL 2000內的規則進行排序,即按照規則反掩碼中“0”位的數量由多到少的順序排列。
【命令】
description text
undo description
【視圖】
基本ACL視圖/高級ACL視圖/二層ACL視圖
【參數】
text:ACL的描述信息,取值範圍為1~127個字符,可以包含空格和特殊字符。
【描述】
description命令用來定義ACL的描述信息,描述該ACL的具體用途、應用於哪些端口等信息,方便用戶對ACL進行區分和識別。undo description命令用來刪除ACL的描述信息。
缺省情況下,ACL沒有描述信息。
S5100-SI係列交換機的Release2201及以前版本均不支持在二層ACL視圖下配置此命令。
【舉例】
# 定義高級ACL 3000的描述信息為“This acl is used for filtering all HTTP packets”。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 3000
[Sysname-acl-adv-3000] description This acl is used for filtering all HTTP packets
# 使用display acl命令查看高級ACL 3000的配置信息。
[Sysname-acl-adv-3000] display acl 3000
Advanced ACL 3000, 0 rule
This acl is used for filtering all HTTP packets
Acl's step is 1
# 刪除高級ACL 3000的描述信息。
[Sysname-acl-adv-3000] undo description
【命令】
display acl { all | acl-number }
【視圖】
任意視圖
【參數】
all:所有的ACL。
acl-number:指定ACL的序號,取值範圍為2000~4999。
【描述】
display acl命令用來顯示ACL的配置信息。
需要注意的是,如果用戶在配置ACL的時候指定了match-order參數,則在使用display acl命令時,顯示的是交換機按照auto(深度優先)或config(配置順序)對ACL中的規則進行排序後的結果。
【舉例】
# 顯示基本ACL 2000的詳細配置信息。
<Sysname> display acl 2000
Basic ACL 2000, 1 rule
Acl's step is 1
rule 0 permit
表1-1 display acl命令顯示信息描述表
字段 |
描述 |
Basic ACL 2000 |
這個ACL屬於基本ACL,序號為2000 |
1 rule |
這個基本ACL包含1條規則 |
Acl's step is 1 |
這個基本ACL的規則序號的步長值為1 |
【命令】
display acl remaining entry
【視圖】
任意視圖
【參數】
無
【描述】
display acl remaning entry命令用來顯示設備剩餘的ACL表項資源。
用戶可以根據該命令的輸出信息來了解某類型的ACL規則消耗的表項資源數,確認ACL無法下發的原因是否與表項資源耗盡有關。
隻有H3C S5100-EI係列以太網交換機支持本命令。
【舉例】
# 顯示設備剩餘的ACL表項資源。
<Sysname> display acl remaining entry
Resource Total Reserved Configured Remaining Start End
Type Number Number Number Number Port Name Port Name
--------------------------------------------------------------------------
RULE/MASK 1024 64 1 959 GE1/0/1 GE1/0/24
COUNTER 32 0 0 32 GE1/0/1 GE1/0/24
METER 256 0 0 256 GE1/0/1 GE1/0/24
表1-2 display acl remaining entry命令顯示信息描述表
字段名 |
描述 |
Resource Type |
ACL表項資源類型 l RULE/MASK:規則資源,即可以下發的rule數量 l CONUTER:流量統計資源,即可以下發的traffic-statistics數量 l METER:流限速資源,即可以下發的traffic-limit數量 |
Total Number |
ACL表項資源的總數 |
Reserved Number |
初始化時係統ACL用去的資源數目 |
Configured Number |
用戶定義的ACL占用的資源數目 |
Remaining Number |
剩餘的ACL資源數目 |
Start Port Name End Port Name |
該表項所對應的起始端口號和結束端口號 |
【命令】
display packet-filter { global | interface interface-type interface-number | port-group [ group-id ] | unitid unit-id | vlan [ vlan-id ] }
【視圖】
任意視圖
【參數】
global:表示顯示全局包過濾的應用信息。
interface interface-type interface-number:端口類型和端口編號。表示顯示指定端口的包過濾的應用信息。
port-group group-id:端口組編號。表示顯示指定端口組的包過濾的應用信息。
unitid unit-id:Unit ID,取值隻能為1。表示顯示設備上的包過濾的應用信息。
vlan vlan-id:VLAN編號。表示顯示指定VLAN上的包過濾的應用信息。
【描述】
display packet-filter命令用來顯示包過濾的應用信息。
l S5100-SI係列交換機的Release2201及以前版本均不支持此命令。
l S5100-SI係列交換機不支持端口組,因此不支持port-group group-id參數。
【舉例】
# 顯示交換機上的包過濾的應用信息。
<Sysname> display packet-filter unitid 1
GigabitEthernet1/0/1
Inbound:
Acl 2000 rule 0 running
表1-3 display packet-filter命令顯示信息描述表
字段 |
描述 |
GigabitEthernet1/0/1 |
應用包過濾的端口 |
Inbound |
過濾方向為入方向 |
Acl 2000 rule 0 |
過濾規則為基本ACL 2000的0號規則 |
running |
規則的下發狀態,包含以下兩種: l running:表示激活 l not running:表示沒有激活,通常是由於此規則引用的時間段不生效所致 |
【命令】
display time-range { all | time-name }
【視圖】
任意視圖
【參數】
all:所有的時間段。
time-name:為時間段的名稱,以英文字母a~z或A~Z為起始字母的字符串,取值範圍為1~32個字符。
【描述】
display time-range命令用來顯示時間段的配置和狀態,當前處於激活狀態的時間段將顯示Active,處於非激活狀態的時間段將顯示Inactive。
相關配置可參考命令time-range。
【舉例】
# 顯示所有的時間段。
<Sysname> display time-range all
Current time is 17:01:34 May/21/2007 Monday
Time-range : tr ( Active )
12:00 to 18:00 working-day
Time-range : tr1 ( Inactive )
From 12:00 Jan/1/2008 to 12:00 Jun/1/2008
表1-4 display time-range命令顯示信息描述表
字段 |
描述 |
Current time is 17:01:34 May/21/2007 Monday |
係統的當前時間 |
Time-range |
時間段的名稱 |
Active |
時間段的狀態,包含以下兩種: l Active:表示此時間段處於激活狀態,已經生效 l Inactive:表示此時間段處於非激活狀態,沒有生效 |
12:00 to 18:00 working-day |
周期時間段,範圍為工作日的12點到18點 |
From 12:00 Jan/1/2008 to 12:00 Jun/1/2008 |
絕對時間段,範圍為2008年1月1日12點到2008年6月1日12點 |
【命令】
packet-filter inbound acl-rule
undo packet-filter inbound acl-rule
【視圖】
係統視圖/以太網端口視圖/端口組視圖(S5100-SI係列不支持端口組視圖)
【參數】
inbound:表示對接收的數據包進行過濾。
acl-rule:應用的ACL規則,可以是多種ACL的組合。組合方式如表1-5所示。
表1-5 組合應用ACL的方式
組合方式 |
acl-rule的形式 |
單獨應用一個IP型ACL(基本ACL或高級ACL)中的所有規則 |
ip-group acl-number |
單獨應用一個IP型ACL(基本ACL或高級ACL)中的一條規則 |
ip-group acl-number rule rule-id |
單獨應用一個二層ACL中的所有規則 |
link-group acl-number |
單獨應用一個二層ACL中的一條規則 |
link-group acl-number rule rule-id |
同時應用IP型ACL(基本ACL或高級ACL)中一條規則和二層型ACL的一條規則 |
ip-group acl-number rule rule-id link-group acl-number rule rule-id |
ip-group acl-number:表示基本或高級ACL序號,取值範圍為2000~3999。
link-group acl-number:表示二層ACL序號,取值範圍為4000~4999。
rule rule-id:ACL規則編號,取值範圍為0~65534。如果不指定規則編號則表示ACL中的所有規則。
【描述】
packet-filter命令用來在全局、端口或端口組上應用ACL,對數據包進行過濾。undo packet-filter命令用來取消ACL在全局、端口或端口組上的應用。
l S5100-SI係列交換機的Release2201及以前版本均不支持此命令。
l S5100-SI係列交換機不支持端口組,因此不支持在端口組上應用ACL。
【舉例】
# 在端口GigabitEthernet1/0/1上應用基本ACL 2000中的所有規則,對端口接收的數據包進行過濾。假設基本ACL 2000已經創建並且相關規則已經存在。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] interface GigabitEthernet1/0/1
[Sysname-GigabitEthernet1/0/1] packet-filter inbound ip-group 2000
[Sysname-GigabitEthernet1/0/1] quit
# 在端口GigabitEthernet 1/0/4上應用高級ACL 3000中的規則1和二層ACL 4000中的規則2,對端口接收的數據包進行過濾。假設高級ACL 3000和二層ACL 4000已經創建並且相關規則已經存在。
[Sysname] interface GigabitEthernet 1/0/4
[Sysname-GigabitEthernet1/0/4] packet-filter inbound ip-group 3000 rule 1 link-group 4000 rule 2
完成上述配置後,用戶可以使用display packet-filter命令來查看包過濾的應用信息。
【命令】
packet-filter vlan vlan-id inbound acl-rule
undo packet-filter vlan vlan-id inbound acl-rule
【視圖】
係統視圖
【參數】
vlan-id:VLAN編號。
inbound:表示對接收的數據包進行過濾。
acl-rule:應用的ACL,可以是多種ACL的組合。組合方式說明如表1-5所示。
【描述】
packet-filter vlan命令用來在VLAN上應用ACL,對VLAN中的所有端口上的數據包進行過濾。undo packet-filter vlan命令用來取消ACL在VLAN上的應用。
l S5100-SI係列交換機的Release2201及以前版本均不支持此命令。
l VLAN下發的ACL隻能對帶有802.1Q標簽頭的報文生效。關於802.1Q標簽頭的詳細介紹請參見本手冊“VLAN”部分。
當用戶需要在某一個VLAN內的所有端口上應用同一條ACL時,可以使用packet-filter vlan命令來批量下發ACL,減少配置的工作量。
【舉例】
# 在VLAN 10上應用基本ACL 2000中的所有規則,對VLAN 10中的所有端口接收的數據包進行過濾。假設VLAN 10和基本ACL 2000已經創建並且相關規則已經存在。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] packet-filter vlan 10 inbound ip-group 2000
完成上述配置後,用戶可以使用display packet-filter命令來查看包過濾的應用信息。
【命令】
rule [ rule-id ] { deny | permit } [ rule-string ]
undo rule rule-id [ fragment | source | time-range ]*
【視圖】
基本ACL視圖
【參數】
rule-id:ACL規則編號,取值範圍為0~65534。
deny:表示丟棄符合條件的數據包。
permit:表示允許符合條件的數據包通過。
rule-string:ACL規則信息,具體參數說明如表1-6所示。
表1-6 基本ACL規則信息
參數 |
類別 |
作用 |
說明 |
fragment |
分片信息 |
定義規則僅對非尾片分片報文有效 |
- |
source { sour-addr sour-wildcard | any } |
源地址信息 |
定義基本ACL規則的源地址信息 |
sour-addr為指定源IP地址,采用點分十進製表示;sour-wildcard為目標子網掩碼的反碼,采用點分十進製表示;sour-wildcard可以為0,代表主機地址 any代表任意源IP地址 |
time-range time-name |
時間段信息 |
定義規則生效的時間段 |
time-name:指定規則生效的時間段名稱,為1~32個字符的字符串,不區分大小寫,必須以英文字母a~z或A~Z開頭,為避免混淆,時間段的名字不可以使用英文單詞all |
sour-wildcard為目標子網掩碼的反碼,采用點分十進製表示。例如,如果用戶想指定子網掩碼255.255.0.0,則需要輸入0.0.255.255。
rule-id:ACL規則編號,必須是一個已經存在的ACL規則編號。如果用戶不知道ACL規則的編號,可以使用display acl命令來查看。
fragment:刪除編號對應的ACL規則的對非尾片分片報文有效的設置。
source:刪除編號對應的ACL規則的源IP地址的設置。
time-range:刪除編號對應的ACL規則的時間段設置。
【描述】
rule命令用來定義ACL規則。undo rule命令用來刪除ACL規則或者規則中的某些屬性信息。
在刪除一條ACL規則時,如果不指定其他參數,交換機將這個ACL規則完全刪除;否則交換機隻刪除該ACL規則中相應的屬性信息。
需要注意的是:
l 當基本ACL的匹配順序為config時,用戶可以修改該ACL中的任何一條已經存在的規則,在修改ACL中的某條規則時,該規則中沒有修改到的部分仍舊保持原來的狀態;當基本ACL的匹配順序為auto時,用戶不能修改該ACL中的任何一條已經存在的規則,否則係統會提示錯誤信息。
l 在創建一條ACL規則的時候,用戶可以不指定規則的編號,交換機將自動為這個規則分配一個編號:如果此ACL中沒有規則,編號為0;如果此ACL中已有規則,編號為現有規則的最大編號+1;如果此ACL中現有規則的最大編號為65534,則係統會提示錯誤信息,此時用戶必須指定規則的編號才能創建成功。
l 新創建或修改後的規則不能和已經存在的規則相同,否則會導致創建或修改不成功,係統會提示該規則已經存在。
l 當基本ACL的匹配順序為auto時,新創建的規則將按照“深度優先”的原則插入到已有的規則中,但是所有規則對應的編號不會改變。
【舉例】
# 創建基本ACL 2000,定義規則1,禁止源IP地址為192.168.0.1的報文通過。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule 1 deny source 192.168.0.1 0
[Sysname-acl-basic-2000] quit
# 創建基本ACL 2001,定義規則1,禁止非尾片分片報文通過。
[Sysname] acl number 2001
[Sysname-acl-basic-2001] rule 1 deny fragment
[Sysname-acl-basic-2001] quit
# 創建基本ACL 2002,定義規則1,禁止所有報文在時間段trname所表示的時間範圍內通過。
[Sysname] acl number 2002
[Sysname-acl-basic-2002] rule 1 deny time-range trname
完成上述配置後,用戶可以使用display acl命令查看ACL的配置信息。
【命令】
rule [ rule-id ] { deny | permit } protocol [ rule-string ]
undo rule rule-id [ destination | destination-port | dscp | fragment | icmp-type | precedence | source | source-port | time-range | tos ]*
【視圖】
高級ACL視圖
【參數】
rule-id:ACL規則編號,取值範圍為0~65534。
deny:表示丟棄符合條件的數據包。
permit:表示允許符合條件的數據包通過。
protocol:IP承載的協議類型。用數字表示時,取值範圍為1~255;用名字表示時,可以選取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)、udp(17)。
rule-string:ACL規則信息,具體參數說明如表1-7所示。
表1-7 高級ACL規則信息
參數 |
類別 |
作用 |
說明 |
source { sour-addr sour-wildcard | any } |
源地址信息 |
定義ACL規則的源地址信息 |
sour-addr sour-wildcard用來確定數據包的源地址,點分十進製表示;sour-wildcard可以為0,表示主機地址 any代表任意源地址 |
destination { dest-addr dest-wildcard | any } |
目的地址信息 |
定義ACL規則的目的地址信息 |
dest-addr dest-wildcard用來確定數據包的目的地址,點分十進製表示;dest-wildcard可以為0,表示主機地址 any代表任意目的地址 |
precedence precedence |
報文優先級 |
IP優先級 |
用數字表示時,取值範圍為0~7 |
tos tos |
報文優先級 |
ToS優先級 |
用數字表示時,取值範圍為0~15 |
dscp dscp |
報文優先級 |
DSCP優先級 |
用數字表示時,取值範圍為0~63 |
fragment |
分片信息 |
定義規則僅對非尾片分片報文有效 |
- |
time-range time-name |
時間段信息 |
定義規則生效的時間段 |
time-name:指定規則生效的時間段名稱,為1~32個字符的字符串,不區分大小寫,必須以英文字母a~z或A~Z開頭,為避免混淆,時間段的名字不可以使用英文單詞all |
sour-wildcard與dest-wildcard為目標子網掩碼的反碼,點分十進製表示。例如,如果用戶想指定子網掩碼255.255.0.0,則需要輸入0.0.255.255。
如果選擇dscp關鍵字,除了直接輸入數值0~63外,用戶也可輸入如表1-8所示的關鍵字。
表1-8 DSCP關鍵字說明
關鍵字 |
DSCP值(十進製) |
DSCP值(二進製) |
af11 |
10 |
001010 |
af12 |
12 |
001100 |
af13 |
14 |
001110 |
af21 |
18 |
010010 |
af22 |
20 |
010100 |
af23 |
22 |
010110 |
af31 |
26 |
011010 |
af32 |
28 |
011100 |
af33 |
30 |
011110 |
af41 |
34 |
100010 |
af42 |
36 |
100100 |
af43 |
38 |
100110 |
be |
0 |
000000 |
cs1 |
8 |
001000 |
cs2 |
16 |
010000 |
cs3 |
24 |
011000 |
cs4 |
32 |
100000 |
cs5 |
40 |
101000 |
cs6 |
48 |
110000 |
cs7 |
56 |
111000 |
ef |
46 |
101110 |
如果選擇precedence關鍵字,除了直接輸入數值0~7外,用戶也可輸入如表1-9所示的關鍵字。
表1-9 IP Precedence關鍵字說明
關鍵字 |
IP Precedence(十進製) |
IP Precedence(二進製) |
routine |
0 |
000 |
priority |
1 |
001 |
immediate |
2 |
010 |
flash |
3 |
011 |
flash-override |
4 |
100 |
critical |
5 |
101 |
internet |
6 |
110 |
network |
7 |
111 |
如果選擇tos關鍵字,除了直接輸入數值0~15外,用戶也可輸入如表1-10所示的關鍵字。
表1-10 ToS關鍵字說明
關鍵字 |
ToS(十進製) |
ToS(二進製) |
normal |
0 |
0000 |
min-monetary-cost |
1 |
0001 |
max-reliability |
2 |
0010 |
max-throughput |
4 |
0100 |
min-delay |
8 |
1000 |
當協議類型選擇為TCP或者UDP時,用戶還可以定義如表1-11所示信息。
表1-11 TCP/UDP特有的ACL規則信息
參數 |
類別 |
作用 |
說明 |
source-port operator port1 [ port2 ] |
源端口 |
定義UDP/TCP報文的源端口信息 |
operator為操作符,取值可以為lt(小於)、gt(大於)、eq(等於)、neq(不等於)或者range(在指定範圍內);隻有操作符range需要兩個端口號做操作數,其他操作符隻需要一個端口號做操作數 port1、port2:TCP或UDP的端口號,用名字或數字表示,數字的取值範圍為0~65535 |
destination-port operator port1 [ port2 ] |
目的端口 |
定義UDP/TCP報文的目的端口信息 |
|
established |
TCP連接建立標識 |
表示此條規則僅對TCP建立連接的第一個SYN報文有效 |
TCP協議特有的參數 |
當TCP或UDP的端口號用名字表示時,用戶還可以定義如表1-12所示信息。
表1-12 TCP或UDP端口取值信息
協議類型 |
取值信息 |
TCP |
CHARgen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、domain(53)、echo(7)、exec(512)、finger(79)、ftp(21)、ftp-data(20)、gopher(70)、hostname(101)、irc(194)、klogin(543)、kshell(544)、login(513)、lpd(515)、nntp(119)、pop2(109)、pop3(110)、smtp(25)、sunrpc(111)、tacacs(49)、talk(517)、telnet(23)、time(37)、uucp(540)、whois(43)、www(80) |
UDP |
biff(512)、bootpc(68)、bootps(67)、discard(9)、dns(53)、dnsix(90)、echo(7)、mobilip-ag(434)、mobilip-mn(435)、nameserver(42)、netbios-dgm(138)、netbios-ns(137)、netbios-ssn(139)、ntp(123)、rip(520)、snmp(161)、snmptrap(162)、sunrpc(111)、syslog(514)、tacacs-ds(65)、talk(517)、tftp(69)、time(37)、who(513)、xdmcp(177) |
H3C S5100係列以太網交換機在硬件下發高級ACL時,有如下限製:
l 不支持precedence和tos參數。
l 當協議類型選擇為TCP或者UDP時,隻支持operator操作符取值為eq的情況。
當協議類型選擇為ICMP時,用戶還可以定義如表1-13所示信息。
表1-13 ICMP特有的ACL規則信息
參數 |
類別 |
作用 |
說明 |
icmp-type icmp-type icmp-code |
ICMP報文的類型和消息碼信息 |
定義規則中ICMP報文的類型和消息碼信息 |
icmp-type:ICMP消息類型,取值為0~255 icmp-code:ICMP的消息碼,取值為0~255 |
當協議類型選擇為ICMP時,用戶也可以直接在icmp-type參數後輸入ICMP的消息名稱,如表1-14所示。
名稱 |
ICMP TYPE |
ICMP CODE |
echo |
Type=8 |
Code=0 |
echo-reply |
Type=0 |
Code=0 |
fragmentneed-DFset |
Type=3 |
Code=4 |
host-redirect |
Type=5 |
Code=1 |
host-tos-redirect |
Type=5 |
Code=3 |
host-unreachable |
Type=3 |
Code=1 |
information-reply |
Type=16 |
Code=0 |
information-request |
Type=15 |
Code=0 |
net-redirect |
Type=5 |
Code=0 |
net-tos-redirect |
Type=5 |
Code=2 |
net-unreachable |
Type=3 |
Code=0 |
parameter-problem |
Type=12 |
Code=0 |
port-unreachable |
Type=3 |
Code=3 |
protocol-unreachable |
Type=3 |
Code=2 |
reassembly-timeout |
Type=11 |
Code=1 |
source-quench |
Type=4 |
Code=0 |
source-route-failed |
Type=3 |
Code=5 |
timestamp-reply |
Type=14 |
Code=0 |
timestamp-request |
Type=13 |
Code=0 |
ttl-exceeded |
Type=11 |
Code=0 |
rule-id:ACL規則編號,必須是一個已經存在的ACL規則編號。如果用戶不知道ACL規則的編號,可以使用display acl命令來查看。
source:刪除編號對應的ACL規則的源IP地址的設置。
source-port:刪除編號對應的ACL規則的源端口的設置,本參數僅在規則定義的協議是TCP或者UDP的情況下有效。
destination:刪除編號對應的ACL規則的目的IP地址的設置。
destination-port:刪除編號對應的ACL規則的目的端口的設置,本參數僅在規則定義的協議是TCP或者UDP的情況下有效。
icmp-type:刪除編號對應的ACL規則的ICMP類型和消息碼的設置,本參數僅在規則定義的協議是ICMP的情況下有效。
precedence:刪除編號對應的ACL規則的IP Precedence的相關設置。
tos:刪除編號對應的ACL規則的ToS的相關設置。
dscp:刪除編號對應的ACL規則的DSCP的相關設置。
time-range:刪除編號對應的ACL規則的時間段設置。
fragment:刪除編號對應的ACL規則的對非尾片分片報文有效的設置。
【描述】
rule命令用來定義ACL規則。undo rule命令用來刪除ACL規則或者ACL規則中的某些屬性信息。
在刪除一條ACL規則時,如果不指定其他參數,交換機將這個ACL規則完全刪除;否則交換機隻刪除該ACL規則中相應的屬性信息。
需要注意的是:
l 當高級ACL的匹配順序為config時,用戶可以修改該ACL中的任何一條已經存在的規則,在修改ACL中的某條規則時,該規則中沒有修改到的部分仍舊保持原來的狀態;當高級ACL的匹配順序為auto時,用戶不能修改該ACL中的任何一條已經存在的規則,否則係統會提示錯誤信息。
l 在創建一條ACL規則的時候,用戶可以不指定規則的編號,交換機將自動為這個規則分配一個編號:如果此ACL中沒有規則,編號為0;如果此ACL中已有規則,編號為現有規則的最大編號+1;如果此ACL中現有規則的最大編號為65534,則係統會提示錯誤信息,此時用戶必須指定規則的編號才能創建成功。
l 新創建或修改後的規則不能和已經存在的規則相同,否則會導致創建或修改不成功,係統會提示該規則已經存在。
l 當高級ACL的匹配順序為auto時,新創建的規則將按照“深度優先”的原則插入到已有的規則中,但是所有規則對應的編號不會改變。
【舉例】
# 創建高級ACL 3000,定義規則1,拒絕源IP地址為192.168.0.1並且DSCP優先級為46的IP報文通過。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 3000
[Sysname-acl-adv-3000] rule 1 deny ip source 192.168.0.1 0 dscp 46
[Sysname-acl-adv-3000] quit
# 創建高級ACL 3001,定義規則1,允許從129.9.0.0/16網段的主機向202.38.160.0/24網段的主機發送的目的端口號為80的TCP報文通過。
[Sysname] acl number 3001
[Sysname-acl-adv-3001] rule 1 permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq 80
完成上述配置後,用戶可以使用display acl命令查看ACL的配置信息。
【命令】
rule [ rule-id ] { deny | permit } [ rule-string ]
undo rule rule-id
【視圖】
二層ACL視圖
【參數】
rule-id:ACL規則編號,取值範圍為0~65534。
deny:表示丟棄符合條件的數據包。
permit:表示允許符合條件的數據包通過。
rule-string:ACL規則信息,具體參數說明如表1-15所示。
表1-15 二層ACL規則信息
參數 |
類別 |
作用 |
說明 |
format-type |
鏈路層封裝類型 |
定義規則中的鏈路層封裝類型 |
format-type:取值可以為802.3/802.2、802.3、ether_ii、snap |
lsap lsap-code lsap-wildcard |
LSAP字段 |
定義規則的LSAP字段 |
lsap-code:數據幀的封裝格式,16比特的十六進製數 lsap-wildcard:lsap值的掩碼, 16比特的十六進製數,用於指定屏蔽位 |
source { source-mac-addr source-mac-mask | vlan-id }* |
源MAC信息或源VLAN信息 |
定義規則的源MAC地址範圍或源VLAN ID |
source-mac-addr:源MAC地址,格式為H-H-H source-mac-mask:源MAC地址的掩碼,格式為H-H-H vlan-id:源VLAN ID,取值範圍1~4094 |
dest dest-mac-addr dest-mac-mask |
目的MAC信息 |
定義規則的目的MAC地址範圍 |
dest-mac-addr:目的MAC地址,格式為H-H-H dest-mac-mask:目的MAC地址的掩碼,格式為H-H-H |
cos vlan-pri |
802.1p優先級 |
定義規則的802.1p優先級 |
vlan-pri:取值範圍為0~7 |
time-range time-name |
時間段信息 |
定義規則生效的時間段 |
time-name:指定規則生效的時間段名稱,為1~32個字符的字符串,不區分大小寫,必須以英文字母a~z或A~Z開頭,為避免混淆,時間段的名字不可以使用英文單詞all |
type protocol-type protocol-mask |
以太網幀的協議類型 |
定義以太網幀的協議類型 |
protocol-type:協議類型 protocol-mask:協議類型掩碼 |
H3C S5100係列以太網交換機在硬件下發二層ACL時,不支持配置format-type參數和lsap參數。
【描述】
rule命令用來定義ACL規則。undo rule命令用來刪除ACL規則。
在刪除一條ACL規則時,需要指定該ACL規則的編號。如果用戶不知道ACL規則的編號,可以使用display acl命令來查看。
需要注意的是:
l 用戶可以修改二層ACL中的任何一條已經存在的規則,在修改ACL中的某條規則時,該規則中沒有被修改到的部分仍舊保持原來的狀態。
l 在創建一條ACL規則的時候,用戶可以不指定規則的編號,交換機將自動為這個規則分配一個編號:如果此ACL中沒有規則,編號為0;如果此ACL中已有規則,編號為現有規則的最大編號+1;如果此ACL中現有規則的最大編號為65534,則係統會提示錯誤信息,此時用戶必須指定規則的編號才能創建成功。
l 新創建或修改後的規則不能和已經存在的規則相同,否則會導致創建或修改不成功,係統會提示該規則已經存在。
S5100-SI係列交換機的Release2201及以前版本均不支持此命令。
【舉例】
# 創建二層ACL 4000,定義規則1,禁止從MAC地址000d-88f5-97ed發送到MAC地址0011-4301-991e且802.1p優先級為3的報文通過。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule 1 deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff
【命令】
rule rule-id comment text
undo rule rule-id comment
【視圖】
高級ACL視圖/二層ACL視圖
【參數】
rule-id:ACL規則編號,取值範圍為0~65534。
text:ACL規則的注釋信息,字符串格式,取值範圍為1~127個字符。
【描述】
rule comment命令用來定義ACL規則的注釋信息。undo rule comment命令用來刪除ACL規則的注釋信息。
用戶可以使用rule comment命令來描述ACL規則的具體用途、應用於哪些端口等信息,方便用戶對ACL規則進行區分和識別。
缺省情況下,ACL規則沒有注釋信息。
需要注意的是,在定義ACL規則的注釋信息之前,該ACL規則必須已經存在。
S5100-SI係列交換機的Release2201及以前版本均不支持在二層ACL視圖下配置此命令。
【舉例】
# 定義高級ACL 3001的rule 0的注釋信息為“This rule is to be applied to Gigabitetheth 1/0/1”。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 3001
[Sysname-acl-adv-3001] rule 0 comment This rule is to be applied to Gigabitetheth 1/0/1
# 使用display acl命令查看高級ACL 3001的配置信息。
[Sysname-acl-adv-3001] display acl 3001
Advanced ACL 3001, 1 rule
Acl's step is 1
rule 0 deny IP source 1.1.1.1 0 destination 2.2.2.2 0
rule 0 comment This rule is to be applied to Gigabitetheth 1/0/1
【命令】
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 }
undo time-range { all | name 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 ] }
【視圖】
係統視圖
【參數】
all:所有的時間段。
time-name:時間段的名稱,為1~32個字符的字符串,不區分大小寫,必須以英文字母a~z或A~Z開頭。為避免混淆,時間段的名字不能使用英文單詞all。
start-time:可選參數,周期時間段的開始時間,表示形式為hh:mm。
end-time:可選參數,周期時間段的結束時間,表示形式為hh:mm。結束時間必須大於起始時間。
days-of-the-week:可選參數,參數表示該周期時間在每周幾有效。可以輸入如下參數及其組合:
l 數字(0~6);
l 星期一到星期日(Mon,Tue,Wed,Thu,Fri,Sat,Sun);
l 工作日(working-day),包括從星期一到星期五五天;
l 休息日(off-day),包括星期六和星期日;
l 每一天(daily),一個星期中的每一天。
from start-time start-date:可選參數,絕對時間段的開始日期,和end-time end-date共同表示該絕對時間在某一段日期中生效,表示形式為hh:mm MM/DD/YYYY或hh:mm YYYY/MM/DD。如果不指定開始日期,則開始日期為1970年1月1日0點0分。
to end-time end-date:可選參數,絕對時間段的結束日期,和start-time start-date共同表示該絕對時間在某一段日期中生效,表示形式為hh:mm MM/DD/YYYY或hh:mm YYYY/MM/DD。如果不指定結束日期,則結束日期為2100年12月31日23點59分。
【描述】
time-range命令用來配置一個時間段。undo time-range命令用來刪除一個時間段或刪除所有的時間段。
需要注意的是:
l 如果一個時間段隻定義了周期時間段,則隻有係統時鍾在該周期時間段內,該時間段才進入激活狀態。如果一個時間段下定義了多個周期時間段,則這些周期時間段之間是“或”的關係。
l 如果一個時間段隻定義了絕對時間段,則隻有係統時鍾在該絕對時間段內,該時間段才進入激活狀態。如果一個時間段下定義了多個絕對時間段,則這些絕對時間段之間是“或”的關係。
l 如果一個時間段同時定義了絕對時間段和周期時間段,則隻有同時滿足絕對時間段和周期時間段的定義時,該時間段才進入激活狀態。例如,一個時間段定義了絕對時間段:從2004年1月1日零點零分到2004年12月31日23點59分,同時定義了周期時間段:每周三的12:00到14:00。該時間段隻有在2004年內每周三的12:00到14:00才進入激活狀態。
【舉例】
# 定義周期時間段,時間範圍為每周一到周五的08:00至12:00。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] time-range tr1 08:00 to 12:00 working-day
# 定義絕對時間段,時間範圍為2008年1月1日12:00至2008年6月1日12:00。
[Sysname] time-range tr2 from 12:00 1/1/2008 to 12:00 6/1/2008
# 顯示時間段的配置信息。
[Sysname] display time-range all
Current time is 17:37:23 Nov/27/2007 Tuesday
Time-range : tr1 ( Inactive )
08:00 to 12:00 working-day
Time-range : tr2 ( Inactive )
From 12:00 Jan/1/2008 to 12:00 Jun/1/2008
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!