When the same traffic classification rules need to be configured and the same action needs to be taken for packets that match the traffic classification rules on different interfaces or in different VLANs, to save ACL resources, configure the device to classify packets based on ACL rules, to re-mark the flow ID of each type of packets, and then to classify packets based on the flow ID and to process packets matching the same flow ID in the same manner.
Assume that M ACLs are configured on the device to distinguish services, and each ACL contains N ACL rules. Traffic classifiers classify packets based on ACL rules, and the traffic policy containing the ACL rules are applied to X interfaces. If the action of re-marking flow IDs and matching rules based on the flow IDs are not configured, applying the traffic policy occupies M*N*X ACL resources. If the action of re-marking flow IDs and matching rules based on flow IDs are configured, applying the traffic policy occupies only M*(N+X) ACL resources.
In this example, the device is configured to re-mark flow IDs of packets matching ACL rules, to classify packets based on flow IDs, and to permit or deny packets matching rules to limit the access.
For applicable product models and versions, see Applicable Product Models and Versions.
For details about software mappings, visit Hardware Query Tool and search for the desired product model.
In Figure 1, the Switch connects to SwitchA, and SwitchA connect to the router. Guests can connect to the enterprise network in guest areas of office buildings 1, 2, and 3. Guests can access the public file server and the Internet, but cannot access the confidential file server and financial department server.
Device |
Interface |
VLAN |
Layer 3 Interface |
IP Address |
---|---|---|---|---|
Switch |
GigabitEthernet1/0/1 |
VLAN 10 |
VLANIF 10 |
10.1.1.1/24 |
GigabitEthernet1/0/2 |
VLAN 20 |
VLANIF 20 |
10.1.2.1/24 |
|
GigabitEthernet1/0/3 |
VLAN 30 |
VLANIF 30 |
10.1.3.1/24 |
|
GigabitEthernet1/0/4 |
VLAN 40 |
VLANIF 40 |
10.1.4.1/24 |
|
SwitchA |
GigabitEthernet1/0/1 |
VLAN 40 |
VLANIF 40 |
10.1.4.2/24 |
GigabitEthernet1/0/2 |
VLAN 50 |
VLANIF 50 |
10.1.5.1/24 |
|
GigabitEthernet1/0/3 |
VLAN 60 |
VLANIF 60 |
10.1.6.1/24 |
|
GigabitEthernet1/0/4 |
VLAN 70 |
VLANIF 70 |
10.1.7.1/24 |
|
GigabitEthernet1/0/5 |
VLAN 80 |
VLANIF 80 |
10.1.8.1/24 |
# Configure the Switch.
<HUAWEI> system-view [HUAWEI] sysname Switch [Switch] vlan batch 10 20 30 40 //Create VLAN 10 to VLAN 40. [Switch] interface gigabitethernet 1/0/1 [Switch-GigabitEthernet1/0/1] port link-type access //Configure the interface as an access interface. [Switch-GigabitEthernet1/0/1] port default vlan 10 [Switch-GigabitEthernet1/0/1] quit [Switch] interface gigabitethernet 1/0/2 [Switch-GigabitEthernet1/0/2] port link-type access [Switch-GigabitEthernet1/0/2] port default vlan 20 [Switch-GigabitEthernet1/0/2] quit [Switch] interface gigabitethernet 1/0/3 [Switch-GigabitEthernet1/0/3] port link-type access [Switch-GigabitEthernet1/0/3] port default vlan 30 [Switch-GigabitEthernet1/0/3] quit [Switch] interface gigabitethernet 1/0/4 [Switch-GigabitEthernet1/0/4] port link-type trunk //Configure the interface as a trunk interface. [Switch-GigabitEthernet1/0/4] port trunk allow-pass vlan 10 20 30 40 [Switch-GigabitEthernet1/0/4] quit [Switch] interface vlanif 10 //Create a VLANIF interface. [Switch-Vlanif10] ip address 10.1.1.1 255.255.255.0 //Configure an IP address for the VLANIF interface. [Switch-Vlanif10] quit [Switch] interface vlanif 20 [Switch-Vlanif20] ip address 10.1.2.1 255.255.255.0 [Switch-Vlanif20] quit [Switch] interface vlanif 30 [Switch-Vlanif30] ip address 10.1.3.1 255.255.255.0 [Switch-Vlanif30] quit [Switch] interface vlanif 40 [Switch-Vlanif40] ip address 10.1.4.1 255.255.255.0 [Switch-Vlanif40] quit [Switch] ip route-static 10.1.5.0 255.255.255.0 10.1.4.2 //Configure a static route. [Switch] ip route-static 10.1.6.0 255.255.255.0 10.1.4.2 [Switch] ip route-static 10.1.7.0 255.255.255.0 10.1.4.2 [Switch] ip route-static 10.1.8.0 255.255.255.0 10.1.4.2
# Configure SwitchA.
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 40 50 60 70 80 //Create VLAN 40 to VLAN 80. [SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] port link-type trunk //Configure the interface as a trunk interface. [SwitchA-GigabitEthernet1/0/1] port trunk allow-pass vlan 40 50 60 70 80 [SwitchA-GigabitEthernet1/0/1] quit [SwitchA] interface gigabitethernet 1/0/2 [SwitchA-GigabitEthernet1/0/2] port link-type access //Configure the interface as an access interface. [SwitchA-GigabitEthernet1/0/2] port default vlan 50 [SwitchA-GigabitEthernet1/0/2] quit [SwitchA] interface gigabitethernet 1/0/3 [SwitchA-GigabitEthernet1/0/3] port link-type access [SwitchA-GigabitEthernet1/0/3] port default vlan 60 [SwitchA-GigabitEthernet1/0/3] quit [SwitchA] interface gigabitethernet 1/0/4 [SwitchA-GigabitEthernet1/0/4] port link-type access [SwitchA-GigabitEthernet1/0/4] port default vlan 70 [SwitchA-GigabitEthernet1/0/4] quit [SwitchA] interface gigabitethernet 1/0/5 [SwitchA-GigabitEthernet1/0/5] port link-type access [SwitchA-GigabitEthernet1/0/5] port default vlan 80 [SwitchA-GigabitEthernet1/0/5] quit [SwitchA] interface vlanif 40 //Create a VLANIF interface. [SwitchA-Vlanif40] ip address 10.1.4.2 255.255.255.0 //Configure an IP address for the VLANIF interface. [SwitchA-Vlanif40] quit [SwitchA] interface vlanif 50 [SwitchA-Vlanif50] ip address 10.1.5.1 255.255.255.0 [SwitchA-Vlanif50] quit [SwitchA] interface vlanif 60 [SwitchA-Vlanif60] ip address 10.1.6.1 255.255.255.0 [SwitchA-Vlanif60] quit [SwitchA] interface vlanif 70 [SwitchA-Vlanif70] ip address 10.1.7.1 255.255.255.0 [SwitchA-Vlanif70] quit [SwitchA] interface vlanif 80 [SwitchA-Vlanif80] ip address 10.1.8.1 255.255.255.0 [SwitchA-Vlanif80] quit [SwitchA] ip route-static 10.1.1.0 255.255.255.0 10.1.4.1 //Configure a static route. [SwitchA] ip route-static 10.1.2.0 255.255.255.0 10.1.4.1 [SwitchA] ip route-static 10.1.3.0 255.255.255.0 10.1.4.1
[Switch] acl name non-access-file [Switch-acl-adv-non-access-file] rule permit tcp destination 10.1.5.0 0.0.0.255 destination-port eq 20 //Configure a rule to permit FTP data packets sent from the guest area to the confidential file server. [Switch-acl-adv-non-access-file] rule permit tcp destination 10.1.5.0 0.0.0.255 destination-port eq 21 //Configure a rule to permit FTP protocol packets sent from the guest area to the confidential file server. [Switch-acl-adv-non-access-file] quit
[Switch] acl name non-access-finance [Switch-acl-adv-non-access-finance] rule permit tcp destination 10.1.7.0 0.0.0.255 destination-port eq 20 //Configure a rule to permit FTP data packets sent from the guest area to the financial department server. [Switch-acl-adv-non-access-finance] rule permit tcp destination 10.1.7.0 0.0.0.255 destination-port eq 21 //Configure a rule to permit FTP protocol packets sent from the guest area to the financial department server. [Switch-acl-adv-non-access-finance] quit
[Switch] acl name access-file [Switch-acl-adv-access-file] rule permit tcp destination 10.1.6.0 0.0.0.255 destination-port eq 20 //Configure a rule to permit FTP data packets sent from the guest area to the public file server. [Switch-acl-adv-access-file] rule permit tcp destination 10.1.6.0 0.0.0.255 destination-port eq 21 //Configure a rule to permit FTP protocol packets sent from the guest area to the public file server. [Switch-acl-adv-access-file] quit
[Switch] acl name access-internet [Switch-acl-adv-access-internet] rule permit tcp destination-port eq 80 [Switch-acl-adv-access-internet] quit
# Configure traffic classifiers on the Switch to classify packets from guest areas based on ACLs.
[Switch] traffic classifier non-access-file operator and [Switch-classifier-non-access-file] if-match acl non-access-file //Configure the device to match packets sent from the guest area to the confidential file server. [Switch-classifier-non-access-file] quit [Switch] traffic classifier non-access-finance operator and [Switch-classifier-non-access-finance] if-match acl non-access-finance //Configure the device to match packets sent from the guest area to the financial department server. [Switch-classifier-non-access-finance] quit [Switch] traffic classifier access-file operator and [Switch-classifier-access-file] if-match acl access-file //Configure the device to match packets sent from the guest area to the public file server. [Switch-classifier-access-file] quit [Switch] traffic classifier access-internet operator and [Switch-classifier-access-internet] if-match acl access-internet //Configure the device to match packets sent from the guest area to the external network. [Switch-classifier-access-internet] quit
# Create traffic behaviors on the Switch to re-mark flow IDs of packets.
[Switch] traffic behavior non-access-file [Switch-behavior-non-access-file] remark flow-id 1 //Configure the device to re-mark the flow ID of packets sent from the guest area to the confidential file server with 1. [Switch-behavior-non-access-file] quit [Switch] traffic behavior non-access-finance [Switch-behavior-non-access-finance] remark flow-id 2 //Configure the device to re-mark the flow ID of packets sent from the guest area to the financial department server with 2. [Switch-behavior-non-access-finance] quit [Switch] traffic behavior access-file [Switch-behavior-access-file] remark flow-id 3 //Configure the device to re-mark the flow ID of packets sent from the guest area to the public file server with 3. [Switch-behavior-access-file] quit [Switch] traffic behavior access-internet [Switch-behavior-access-internet] remark flow-id 4 //Configure the device to re-mark the flow ID of packets sent from the guest area to the external network with 4. [Switch-behavior-access-internet] quit
# Create the traffic policy flow-id on the Switch, bind the traffic classifiers and traffic behaviors to the traffic policy, and apply the traffic policy globally in the inbound direction.
[Switch] traffic policy flow-id [Switch-trafficpolicy-flow-id] classifier non-access-file behavior non-access-file [Switch-trafficpolicy-flow-id] classifier non-access-finance behavior non-access-finance [Switch-trafficpolicy-flow-id] classifier access-file behavior access-file [Switch-trafficpolicy-flow-id] classifier access-internet behavior access-internet [Switch-trafficpolicy-flow-id] quit [Switch] traffic-policy flow-id global inbound
# Configure traffic classifiers on the Switch to classify packets from guest areas based on flow IDs.
[Switch] traffic classifier flow-id1 operator and [Switch-classifier-flow-id1] if-match flow-id 1 //Configure the device to match packets with the flow ID of 1, that is, packets sent from the guest area to the confidential file server. [Switch-classifier-flow-id1] quit [Switch] traffic classifier flow-id2 operator and [Switch-classifier-flow-id2] if-match flow-id 2 //Configure the device to match packets with the flow ID of 2, that is, packets sent from the guest area to the financial department server. [Switch-classifier-flow-id2] quit [Switch] traffic classifier flow-id3 operator and [Switch-classifier-flow-id3] if-match flow-id 3 //Configure the device to match packets with the flow ID of 3, that is, packets sent from the guest area to the public file server. [Switch-classifier-flow-id3] quit [Switch] traffic classifier flow-id4 operator and [Switch-classifier-flow-id4] if-match flow-id 4 //Configure the device to match packets with the flow ID of 4, that is, packets sent from the guest area to the external network. [Switch-classifier-flow-id4] quit
# Create traffic behaviors on the Switch to permit or reject matching packets.
[Switch] traffic behavior flow-id1 [Switch-behavior-flow-id1] deny //Configure the device to reject packets with the flow ID of 1. [Switch-behavior-flow-id1] quit [Switch] traffic behavior flow-id2 [Switch-behavior-flow-id2] deny //Configure the device to reject packets with the flow ID of 2. [Switch-behavior-flow-id2] quit [Switch] traffic behavior flow-id3 [Switch-behavior-flow-id3] permit //Configure the device to permit packets with the flow ID of 3 to pass through. [Switch-behavior-flow-id3] quit [Switch] traffic behavior flow-id4 [Switch-behavior-flow-id4] permit //Configure the device to permit packets with the flow ID of 4 to pass through. [Switch-behavior-flow-id4] quit
# Create the traffic policy access_policy on the Switch, bind the traffic behaviors and traffic classifiers to the traffic policy, and apply the traffic policy to GE1/0/1, GE1/0/2, and GE1/0/3 in the inbound direction to limit access of guest areas.
[Switch] traffic policy access_policy [Switch-trafficpolicy-access_policy] classifier flow-id1 behavior flow-id1 [Switch-trafficpolicy-access_policy] classifier flow-id2 behavior flow-id2 [Switch-trafficpolicy-access_policy] classifier flow-id3 behavior flow-id3 [Switch-trafficpolicy-access_policy] classifier flow-id4 behavior flow-id4 [Switch-trafficpolicy-access_policy] quit [Switch] interface gigabitethernet 1/0/1 [Switch-GigabitEthernet1/0/1] traffic-policy access_policy inbound [Switch-GigabitEthernet1/0/1] quit [Switch] interface gigabitethernet 1/0/2 [Switch-GigabitEthernet1/0/2] traffic-policy access_policy inbound [Switch-GigabitEthernet1/0/2] quit [Switch] interface gigabitethernet 1/0/3 [Switch-GigabitEthernet1/0/3] traffic-policy access_policy inbound [Switch-GigabitEthernet1/0/3] quit
# Check the ACL configuration.
[Switch] display acl all
Total nonempty ACL number is 4
Advanced ACL access-internet 3996, 1 rule
Acl's step is 5
rule 5 permit tcp destination-port eq www (match-counter 0)
Advanced ACL access-file 3997, 2 rules
Acl's step is 5
rule 5 permit tcp destination 10.1.6.0 0.0.0.255 destination-port eq ftp-data (match-counter 0)
rule 10 permit tcp destination 10.1.6.0 0.0.0.255 destination-port eq ftp (match-counter 0)
Advanced ACL non-access-finance 3998, 2 rules
Acl's step is 5
rule 5 permit tcp destination 10.1.7.0 0.0.0.255 destination-port eq ftp-data (match-counter 0)
rule 10 permit tcp destination 10.1.7.0 0.0.0.255 destination-port eq ftp (match-counter 0)
Advanced ACL non-access-file 3999, 2 rules
Acl's step is 5
rule 5 permit tcp destination 10.1.5.0 0.0.0.255 destination-port eq ftp-data (match-counter 0)
rule 10 permit tcp destination 10.1.5.0 0.0.0.255 destination-port eq ftp (match-counter 0)
# Check the traffic classifier configuration.
[Switch] display traffic classifier user-defined
User Defined Classifier Information:
Classifier: flow-id1
Precedence: 25
Operator: AND
Rule(s) : if-match flow-id 1
Classifier: flow-id2
Precedence: 30
Operator: AND
Rule(s) : if-match flow-id 2
Classifier: flow-id3
Precedence: 35
Operator: AND
Rule(s) : if-match flow-id 3
Classifier: flow-id4
Precedence: 40
Operator: AND
Rule(s) : if-match flow-id 4
Classifier: non-access-file
Precedence: 5
Operator: AND
Rule(s) : if-match acl non-access-file
Classifier: non-access-finance
Precedence: 10
Operator: AND
Rule(s) : if-match acl non-access-finance
Classifier: access-file
Precedence: 15
Operator: AND
Rule(s) : if-match acl access-file
Classifier: access-internet
Precedence: 20
Operator: AND
Rule(s) : if-match acl access-internet
Total classifier number is 8
# Check the traffic policy configuration.
[Switch] display traffic policy user-defined
User Defined Traffic Policy Information:
Policy: flow-id
Classifier: non-access-file
Operator: AND
Behavior: non-access-file
Permit
Remark:
Remark flow-id 1
Classifier: non-access-finance
Operator: AND
Behavior: non-access-finance
Permit
Remark:
Remark flow-id 2
Classifier: access-file
Operator: AND
Behavior: access-file
Permit
Remark:
Remark flow-id 3
Classifier: access-internet
Operator: AND
Behavior: access-internet
Permit
Remark:
Remark flow-id 4
Policy: access_policy
Classifier: flow-id1
Operator: AND
Behavior: flow-id1
Deny
Classifier: flow-id2
Operator: AND
Behavior: flow-id2
Deny
Classifier: flow-id3
Operator: AND
Behavior: flow-id3
Permit
Classifier: flow-id4
Operator: AND
Behavior: flow-id4
Permit
Total policy number is 2
Switch configuration file
#
sysname Switch
#
vlan batch 10 20 30 40
#
acl name access-internet 3996
rule 5 permit tcp destination-port eq www
acl name access-file 3997
rule 5 permit tcp destination 10.1.6.0 0.0.0.255 destination-port eq ftp-data
rule 10 permit tcp destination 10.1.6.0 0.0.0.255 destination-port eq ftp
acl name non-access-finance 3998
rule 5 permit tcp destination 10.1.7.0 0.0.0.255 destination-port eq ftp-data
rule 10 permit tcp destination 10.1.7.0 0.0.0.255 destination-port eq ftp
acl name non-access-file 3999
rule 5 permit tcp destination 10.1.5.0 0.0.0.255 destination-port eq ftp-data
rule 10 permit tcp destination 10.1.5.0 0.0.0.255 destination-port eq ftp
#
traffic classifier access-file operator and precedence 15
if-match acl access-file
traffic classifier access-internet operator and precedence 20
if-match acl access-internet
traffic classifier flow-id1 operator and precedence 25
if-match flow-id 1
traffic classifier flow-id2 operator and precedence 30
if-match flow-id 2
traffic classifier flow-id3 operator and precedence 35
if-match flow-id 3
traffic classifier flow-id4 operator and precedence 40
if-match flow-id 4
traffic classifier non-access-file operator and precedence 5
if-match acl non-access-file
traffic classifier non-access-finance operator and precedence 10
if-match acl non-access-finance
#
traffic behavior access-file
permit
remark flow-id 3
traffic behavior access-internet
permit
remark flow-id 4
traffic behavior flow-id1
deny
traffic behavior flow-id2
deny
traffic behavior flow-id3
permit
traffic behavior flow-id4
permit
traffic behavior non-access-file
permit
remark flow-id 1
traffic behavior non-access-finance
permit
remark flow-id 2
#
traffic policy access_policy match-order config
classifier flow-id1 behavior flow-id1
classifier flow-id2 behavior flow-id2
classifier flow-id3 behavior flow-id3
classifier flow-id4 behavior flow-id4
traffic policy flow-id match-order config
classifier non-access-file behavior non-access-file
classifier non-access-finance behavior non-access-finance
classifier access-file behavior access-file
classifier access-internet behavior access-internet
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
#
interface Vlanif20
ip address 10.1.2.1 255.255.255.0
#
interface Vlanif30
ip address 10.1.3.1 255.255.255.0
#
interface Vlanif40
ip address 10.1.4.1 255.255.255.0
#
interface GigabitEthernet1/0/1
port link-type access
port default vlan 10
traffic-policy access_policy inbound
#
interface GigabitEthernet1/0/2
port link-type access
port default vlan 20
traffic-policy access_policy inbound
#
interface GigabitEthernet1/0/3
port link-type access
port default vlan 30
traffic-policy access_policy inbound
#
interface GigabitEthernet1/0/4
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
#
ip route-static 10.1.5.0 255.255.255.0 10.1.4.2
ip route-static 10.1.6.0 255.255.255.0 10.1.4.2
ip route-static 10.1.7.0 255.255.255.0 10.1.4.2
ip route-static 10.1.8.0 255.255.255.0 10.1.4.2
#
traffic-policy flow-id global inbound
#
return
SwitchA configuration file
# sysname SwitchA # vlan batch 40 50 60 70 80 # interface Vlanif40 ip address 10.1.4.2 255.255.255.0 # interface Vlanif50 ip address 10.1.5.1 255.255.255.0 # interface Vlanif60 ip address 10.1.6.1 255.255.255.0 # interface Vlanif70 ip address 10.1.7.1 255.255.255.0 # interface Vlanif80 ip address 10.1.8.1 255.255.255.0 # interface GigabitEthernet1/0/1 port link-type trunk port trunk allow-pass vlan 40 50 60 70 80 # interface GigabitEthernet1/0/2 port link-type access port default vlan 50 # interface GigabitEthernet1/0/3 port link-type access port default vlan 60 # interface GigabitEthernet1/0/4 port link-type access port default vlan 70 # interface GigabitEthernet1/0/5 port link-type access port default vlan 80 # ip route-static 10.1.1.0 255.255.255.0 10.1.4.1 ip route-static 10.1.2.0 255.255.255.0 10.1.4.1 ip route-static 10.1.3.0 255.255.255.0 10.1.4.1 # return
Product |
Product Model |
Software Version |
---|---|---|
S5700 |
S5720-EI |
V200R008C00, V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
S5720-HI |
V200R019C00, V200R019C10 |
|
S5730-HI |
V200R019C00, V200R019C10 |
|
S5731-H |
V200R019C00, V200R019C10 |
|
S5731-S |
V200R019C00, V200R019C10 |
|
S5731S-S |
V200R019C00, V200R019C10 |
|
S5731S-H |
V200R019C00, V200R019C10 |
|
S5732-H |
V200R019C00, V200R019C10 |
|
S5735-L, S5735S-L |
V200R019C00, V200R019C10 |
|
S5735S-L-M |
V200R019C00, V200R019C10 |
|
S5735-S, S5735S-S |
V200R019C00, V200R019C10 |
|
S5700 |
S5735-S-I |
V200R019C10 |
S6700 |
S6720-EI |
V200R008C00, V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
S6720S-EI |
V200R009C00, V200R010C00, V200R011C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
|
S6720-HI |
V200R019C00, V200R019C10 |
|
S6730-H |
V200R019C00, V200R019C10 |
|
S6730-S |
V200R019C00, V200R019C10 |
|
S6730S-S |
V200R019C00, V200R019C10 |
|
S6730S-H |
V200R019C10 |
|
S7700 |
S7703, S7706, S7712 |
V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00, V200R013C00, V200R019C00, V200R019C10 |
S7703 PoE |
V200R013C00, V200R019C00, V200R019C10 |
|
S7706 PoE |
V200R013C00, V200R019C00, V200R019C10 |
|
S9700 |
S9703, S9706, S9712 |
V200R008C00, V200R009C00, V200R010C00, V200R011C10, V200R012C00, V200R013C00 |