The ability to filter packets in a modular and scalable way is important for both network security and network management. Access Control Lists (ACLs) provide the capability to filter packets at a fine granularity. In Metro Ethernet networks, ACLs are directly applied on Ethernet virtual circuits (EVCs).
Layer 2 Access Control Lists on EVCs is a security feature that allows packet filtering based on MAC addresses. This module describes how to implement ACLs on EVCs.
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for Layer 2 Access Control Lists on EVCs
Knowledge of how service instances must be configured.
Knowledge of extended MAC ACLs and how they must be configured.
Restrictions for Layer 2 Access Control Lists on EVCs
A maximum of 16 access control entries (ACEs) are allowed for a given ACL.
Only 256 different or unique Layer 2 ACLs can be configured on a line card. (More than 256 ACLs can be configured on a router.)
Layer 2 ACLs function inbound only.
Current Layer 2 ACLs provide Layer 3 filtering options in permit and deny rules. Options that are not relevant to service instances are ignored.
Information About Layer 2 Access Control Lists on EVCs
An Ethernet virtual circuit (EVC) as defined by the Metro Ethernet Forum is a port-level point-to-point or multipoint-to-multipoint Layer 2 circuit. It is an end-to-end representation of a single instance of a Layer 2 service being offered by a provider to a customer. An EVC contains the different parameters on which the service is being offered. A service instance is the instantiation of an EVC on a specified port.
Service instances are configured under a port channel. The traffic carried by the service instance is load balanced across member links. Service instances under a port channel are grouped and each group is associated with one member link. Ingress traffic for a single EVC can arrive on any member of the bundle. All egress traffic for a service instance uses only one of the member links. Load balancing is achieved by grouping service instances and assigning them to a member link.
Ethernet virtual connection services (EVCS) uses the EVCs and service instances to provide Layer 2 switched Ethernet services. EVC status can be used by a customer edge (CE) device either to find an alternative path to the service provider network or in some cases, to fall back to a backup path over Ethernet or over another alternative service such as ATM.
For information about the Metro Ethernet Forum standards, see the Standards table in the “Additional References” section.
Relationship Between ACLs and Ethernet Infrastructure
The following points capture the relationship between ACLs and Ethernet Infrastructure (EI):
ACLs can be directly applied on an EVC using the command-line interface (CLI). An ACL is applied to a service instance, which is the instantiation of an EVC on a given port.
One ACL can be applied to more than one service instance at any time.
One service instance can have one ACL at most applied to it at any time. If a Layer 2 ACL is applied to a service instance that already has a Layer 2 ACL, the new one replaces the old one.
Only named ACLs can be applied to service instances. The command syntax ACLs is retained; the macaccess-listextended command is used to create an ACL.
The showethernetserviceinstance command can be used to provide details about ACLs on service instances.
How to Configure Layer 2 Access Control Lists on EVCs
Device(config-ext-macl)# permit 00aa.00bb.00cc 0.0.0 any
Allows forwarding of Layer 2 traffic if the conditions are matched. Creates an ACE for the ACL.
Applying a Layer 2 ACL to a Service Instance
Perform this task to apply a Layer 2 ACL to a service instance. Note that packet filtering takes place only after the ACL has been created and applied to the service instance.
Before You Begin
Before applying an ACL to a service instance, you must create it using the
mac access-list extended command. See the “Creating a Layer 2 ACL” section on page 3 .
SUMMARY STEPS
1.enable
2.configureterminal
3.interfacetypenumber
4.serviceinstanceid ethernet
5.encapsulationdot1qvlan-id
6.macaccess-groupaccess-list-namein
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
interfacetypenumber
Example:
Device(config)# interface gigabitethernet 1/0/0
Specifies the type and location of the interface to configure, where:
type--Specifies the type of the interface.
number--Specifies the location of the interface.
Step 4
serviceinstanceid ethernet
Example:
Device(config-if)# service instance 100 ethernet
Configures an Ethernet service instance on an interface and enters Ethernet service configuration mode.
Step 5
encapsulationdot1qvlan-id
Example:
Device(config-if-srv)# encapsulation dot1q 100
Defines the matching criteria to be used in order to map ingress dot1q frames on an interface to the appropriate service instance.
Step 6
macaccess-groupaccess-list-namein
Example:
Device(config-if-srv)# mac access-group test-12-acl in
Applies a MAC ACL to control incoming traffic on the interface.
Configuring a Layer 2 ACL with ACEs on a Service Instance
Perform this task to configure the same ACL with three ACEs and stop all other traffic on a service instance.
Device(config)# mac access list extended test-12-acl
Defines an extended MAC ACL and enters mac access control list configuration mode.
Step 4
permit {src-macmask |
any} {dest-macmask |
any}
Example:
Device(config-ext-macl)# permit 00aa.bbcc.ddea 0.0.0 any
Allows forwarding of Layer 2 traffic if the conditions are matched. This creates an ACE for the ACL.
Step 5
permit {src-macmask |
any} {dest-macmask |
any}
Example:
Device(config-ext-macl)# permit 00aa.bbcc.ddeb 0.0.0 any
Allows forwarding of Layer 2 traffic if the conditions are matched. This creates an ACE for the ACL.
Step 6
permit {src-macmask |
any} {dest-macmask} |
any}
Example:
Device(config-ext-macl)# permit 00aa.bbcc.ddec 0.0.0 any
Allows forwarding of Layer 2 traffic if the conditions are matched. This creates an ACE for the ACL.
Step 7
denyanyany
Example:
Device(config-ext-macl)# deny any any
Prevents forwarding of Layer 2 traffic except for the allowed ACEs.
Step 8
exit
Example:
Device(config-ext-macl)# exit
Exits the current command mode and returns to global configuration mode.
Step 9
interfacetypenumber
Example:
Device(config)# interface gigabitethernet 1/0/0
Specifies the interface.
Step 10
serviceinstanceidethernet
Example:
Device(config-if)# service instance 200 ethernet
Configures an Ethernet service instance on an interface and enters service instance configuration mode.
Step 11
encapsulationdot1qvlan-id
Example:
Device(config-if-srv)# encapsulation dot1q 100
Defines the matching criteria to be used to map ingress dot1q frames on an interface to the appropriate service instance.
Step 12
macaccess-groupaccess-list-namein
Example:
Device(config-if-srv)# mac access-group test-12-acl in
Applies a MAC ACL to control incoming traffic on the interface.
Verifying the Presence of a Layer 2 ACL on a Service Instance
Perform this task to verify that a Layer 2 ACL is present on an EVC. This verification task can be used after an ACL has been configured to confirm its presence.
Example Applying a Layer 2 ACL to a Service Instance
The following example shows how to apply a Layer 2 ACL called mac-20-acl to a service instance. The ACL has five permitted ACEs and all other traffic is not allowed.
enable
configure terminal
mac access-list extended mac-20-acl
permit 00aa.bbcc.adec 0.0.0 any
permit 00aa.bbcc.bdec 0.0.0 any
permit 00aa.bbcc.cdec 0.0.0 any
permit 00aa.bbcc.edec 0.0.0 any
permit 00aa.bbcc.fdec 0.0.0 any
deny any any
exit
interface gigabitethernet 10/0/0
service instance 100 ethernet
encapsulation dot1q 100
mac access-group mac-20-acl in
Example Applying a Layer 2 ACL to Three Service Instances on the Same Interface
The following example shows how to apply a Layer 2 ACL called mac-07-acl to three service instances on the same interface:
enable
configure terminal
mac access-list extended mac-07-acl
permit 00aa.bbcc.adec 0.0.0 any
permit 00aa.bbcc.bdec 0.0.0 any
permit 00aa.bbcc.cdec 0.0.0 any
deny any any
exit
interface gigabitethernet 10/0/0
service instance 100 ethernet
encapsulation dot1q 100
mac access-group mac-07-acl in
service instance 101 ethernet
encapsulation dot1q 101
mac access-group mac-07-acl in
service instance 102 ethernet
encapsulation dot1q 102
mac access-group mac-07-acl in
Example Creating a Layer 2 ACL with ACEs
The following example shows how to create a Layer 2 ACL called mac-11-acl with two permitted ACEs:
enable
configure terminal
mac access-list extended mac-11-acl
permit 00aa.00bb.00cc 1a11.0101.11c1 any
permit 00aa.00bb.00cc 1a11.0101.11c2 any
Example Displaying the Details of a Layer 2 ACL on a Service Instance
The following sample output displays the details of a Layer 2 ACL called test-acl on a service instance.
Device# show ethernet service instance id 100 interface ethernet0/0 detail
Service Instance ID: 100
L2 ACL (inbound): test-acl
Associated Interface: Ethernet0/0
Associated EVC: test
L2protocol drop
CEVlans:
Interface Dot1q Tunnel Ethertype: 0x8100
State: Up
L2 ACL permit count: 10255
L2 ACL deny count: 53
The table below describes the significant fields in the output.
Table 1 show ethernet service instance Field Descriptions
Field
Description
Service Instance ID
Displays the service instance ID.
L2 ACL (inbound):
Displays the ACL name.
Associated Interface:
Displays the interface details of the service instance.
Associated EVC:
Displays the EVC with which the service instance is associated.
CEVlans:
Displays details of the associated VLAN ID.
State:
Displays whether the service instance is in an up or down state.
L2 ACL permit count:
Displays the number of packet frames allowed to pass on the service instance by the ACL.
L2 ACL deny count
Displays the number of packet frames not permitted to pass on the service instance by the ACL.
Metro Ethernet Services Definitions Phase 2 (PDF 6/08)
MEF 10.1
Ethernet Services Attributes Phase 2 (PDF 10/06)
Technical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for Layer 2 Access Control Lists on EVCs
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 2 Feature Information for Layer 2 Access Control Lists on EVCs
Feature Name
Releases
Feature Information
Layer 2 Access Control Lists on EVCs
Cisco IOS XE Release 3.6S
The Layer 2 Access Control Lists on EVCs feature introduces ACLs on EVCs.
The following commands were introduced or modified:
interface,macaccess-groupin,
macaccess-listextended,showethernetserviceinstance.