Cisco ACL Builder
Build Cisco extended access lists with correct wildcard masks, explicit logging and the implicit-deny behaviour made visible.
Result
ip access-list extended GUEST-OUT
remark Generated by Netvorx Tools
permit tcp 10.50.0.0 0.0.0.255 any eq 443
deny ip any any log
!
interface Gi0/1
ip access-group GUEST-OUT in
!show ip access-lists GUEST-OUT
show ip interface Gi0/1 | include access list
clear ip access-list counters GUEST-OUTAbout Cisco ACL Builder
Cisco ACLs use wildcard masks, evaluate top to bottom, stop at the first match and end with an invisible deny. Every one of those four facts causes outages. This builder handles the mask conversion and makes the implicit behaviour explicit.
Ordering and sequence numbers
Named ACLs support sequence numbers, and using them is the difference between a safe edit and an outage. Insert with an explicit sequence (15 permit ...) to place a rule precisely, and use resequence to reopen gaps once numbering gets tight. Reordering by deleting and re-adding leaves the ACL briefly incomplete on some platforms, which on a production interface means dropped traffic for the duration of the edit.
Order and direction
Rules are evaluated in order and the first match wins - so a broad permit above a specific deny makes the deny dead code. Direction is from the router's perspective: in filters traffic arriving on the interface, out filters traffic leaving it. Filtering inbound on the interface closest to the source is both cheaper and easier to reason about.
Common use cases
- Restricting a guest VLAN to web traffic only.
- Blocking a specific protocol during an incident.
- Building a management-plane filter for SSH and SNMP sources.
Edge cases and gotchas
- Applying an ACL to the interface you are connected through can lock you out - always permit your own management access first.
- ACL logging is CPU-intensive on hardware-forwarded platforms; use it for diagnosis, not permanently.