Extended Numbered ACLs

Granular IP Traffic Filtering using Port-Based Rules

Access Control Lists (ACLs) are sequential filters used by routers to permit or deny packets based on specific criteria. While Standard ACLs are limited to checking source IP addresses, Extended ACLs offer granular control, filtering based on source, destination, protocol, and port numbers.

Extended ACL Range

Extended Numbered ACLs utilize the ranges 100 to 199 and 2000 to 2699. Using these numbers tells the IOS parser to compile extended filtering logic instead of standard logic.

1. Extended Numbered ACL Syntax

The command structure for an extended numbered ACL is:

Router(config)# access-list [100-199] [permit|deny] [protocol] [source_ip] [source_wildcard] [destination_ip] [destination_wildcard] [operator port]

Key Parameters Defined:

Examples:

Block host 192.168.1.5 from accessing web server 10.0.0.100 while permitting all other IP traffic:

Router(config)# access-list 101 deny tcp host 192.168.1.5 host 10.0.0.100 eq 80
Router(config)# access-list 101 permit ip any any

2. The Implicit Deny Any Any Rule

Every ACL has an invisible statement appended to the very bottom: deny everything else. If a packet does not match any permit/deny line in the list, it is automatically discarded.

Implicit Deny Trap

If you create an ACL containing only deny statements, the ACL will block 100% of all traffic. Since the specific traffic is denied, the rest is discarded by the implicit deny. Always include at least one permit statement or a final permit ip any any line if you want to filter selectively.

3. Placement Rules (Standard vs. Extended)

To optimize router resources, apply ACLs according to Cisco's standard guidelines:

Applying to an Interface:

Use the ip access-group command under interface mode, specifying direction (in or out):

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip access-group 101 in
Wildcard Masking Guide

ACLs use Wildcard Masks (inverse subnet masks) to determine which bits of an IP address to match. A wildcard bit of 0 means "match this bit exactly", and a bit of 255 means "ignore this octet".

Related Lab: Lab 23: Extended Numbered ACL Next Blog: GRE VPN Tunnels