Extended Access Control Lists (ACLs): Fine-Grained Network Traffic Filtering
Learn how to use extended access control lists (ACLs) for granular control over network traffic. This guide explains how extended ACLs allow filtering based on source/destination IP addresses, protocols, and port numbers, enhancing network security and management.
Extended Access Control Lists (ACLs): Fine-Grained Network Traffic Filtering
What is an Extended Access List?
An extended access list (ACL) is a powerful tool for controlling network traffic. Unlike standard ACLs, which filter traffic based only on the source IP address, extended ACLs provide more granular control. They allow you to filter traffic based on the source IP address, the destination IP address, the protocol type (TCP, UDP, ICMP, etc.), and port numbers. This allows for much more precise control over what traffic is allowed or denied on your network.
Key Features of Extended Access Lists
- Filters based on source and destination IP addresses, protocol type, and port numbers.
- Allows for filtering specific services (like FTP or Telnet).
- Uses numbered ACLs (100-199 and 2000-2699) or named ACLs.
- Rules are processed sequentially (top to bottom); the first matching rule determines the action.
- Implicit deny at the end of numbered lists (traffic not explicitly permitted is denied).
- Individual rules can be removed from named ACLs; numbered ACLs require deleting the entire list to remove a rule.
Example: Configuring an Extended ACL
Let's say you have three departments (Sales, Finance, Marketing) on a network, each with its own subnet:
- Sales: 172.16.40.0/24
- Finance: 172.16.50.0/24
- Marketing: 172.16.60.0/24
You want to implement these rules:
- Block FTP (port 21) access from Sales to Finance.
- Block Telnet (port 23) access from Sales and Marketing to Finance.
- Allow all other traffic.
1. Creating a Numbered Extended Access List:
Numbered Extended ACL
R1(config)# access-list 110 extended
deny tcp 172.16.40.0 0.0.0.255 172.16.50.0 0.0.0.255 eq 21
deny tcp any 172.16.50.0 0.0.0.255 eq 23
permit ip any any
2. Applying the Numbered Access List:
Applying the Numbered Access List
R1(config)# interface fa0/1
R1(config-if)# ip access-group 110 out
Creating a Named Extended Access List
Named ACLs offer better management. You can add or remove individual rules without needing to recreate the entire list. Here's an example that implements the same rules as the numbered ACL above:
Named Extended ACL
R1(config)# ip access-list extended block_access
deny tcp 172.16.40.0 0.0.0.255 172.16.50.0 0.0.0.255 eq 21
deny tcp any 172.16.50.0 0.0.0.255 eq 23
permit ip any any
(Applying this named list to an interface would use the same command structure as above but would reference block_access
instead of 110
.)
Conclusion
Extended ACLs provide more granular control over network traffic than standard ACLs. They are an essential tool for implementing detailed security policies and managing network access. The use of named ACLs is generally preferred for more manageable and maintainable configuration files.