Lesson 1 — Standard and Extended ACLs
Week 7 outline
- Week 7 overview
- Lesson 1Standard and Extended ACLs (current step)
- Lesson 2Device Access and Management-Plane Hardening
- QuizACLs & Device Hardening
- Lesson 3Layer 2 Security Controls and Common Attacks
- Lesson 4Security Program Fundamentals
- QuizLayer 2 Security & the Security Program
- CheckpointWeek 7 Checkpoint
Standard and Extended ACLs
Read and write standard and extended IPv4 ACLs — choosing the right type, wildcard mask, rule order, direction, and placement — then verify with show access-lists and repair an ACL that blocks the wrong traffic.
Lesson orientation
What you'll learn (6 objectives)~59 min: video → lesson → check → apply → lab prep
Learning objectives
- Choose standard vs extended based on whether the filter needs only a source or also destination, protocol, and port
- Translate a subnet into the correct wildcard mask and use the host and any keywords
- Predict how top-down first-match evaluation and the implicit deny decide a packet's fate
- Place an ACL and pick a direction using the near-destination (standard) and near-source (extended) rules
- Configure a numbered and a named ACL, apply it with ip access-group, and verify with show access-lists
- Diagnose an ACL that blocks legitimate traffic and correct the order, direction, or placement
Terms you will see
Time breakdown
- Read the notes26 min
- Walk the worked ACL and its verification14 min
- Practise wildcard selection8 min
- Repair the misplaced ACL11 min
Assigned video

Standard ACLs (Day 34)
By Jeremy's IT Lab · Opens externally on YouTube
- Assigned watch
- ~8 min
Where to stop
Skip the course-wide intro if you are continuing from the wildcard-mask lesson; the ACL logic, wildcard, and placement discussion is the core.
The source marks this segment timestampStatus="unresolved" with no start or end, so no bounds are shown here.
The link opens in a new browser tab. Return here when you finish watching.
Watch for these concepts
- How a standard ACL matches source only, and why that forces near-destination placement
- How the wildcard mask selects a subnet versus a single host
Go beyond the video
The assigned video introduces the idea. CCNA Practice Labs completes the learning path: clarify core concepts, explore how each device behaves, visualize the communication path, check your understanding, and prepare for hands-on lab work.
Watch the concept → understand it → visualize it → practice it → apply it.
Two families, and how the router reads a list
An Access Control List is an ordered list of permit and deny rules the router tests against each packet. Every CCNA IPv4 ACL is either standard or extended, and the difference is simply the set of packet fields it is allowed to look at.
| Type | Number range | Matches | Use it when |
|---|---|---|---|
| Standard | 1-99, 1300-1999 | Source IP only | You care only about who sent it — "only the management subnet may reach these devices" |
| Extended | 100-199, 2000-2699 | Source IP, destination IP, protocol, port | You care about the specific flow — "block Telnet to that server but allow everything else" |
A standard ACL physically cannot mention a destination or a port. access-list 10 permit 10.10.10.0 0.0.0.255 says "traffic from that subnet is permitted" and nothing whatsoever about where it is going. An extended ACL adds the Layer 3 and 4 detail: access-list 100 deny tcp any host 10.10.30.10 eq 23 reads as "deny TCP, from anyone, to that one host, destined for port 23".
Order turns a correct rule into dead code. To deny one host but permit the rest of its subnet, the specific rule must sit above the broad one. Write permit 10.10.10.0 0.0.0.255 first and the host's packets match it at the top — the deny below is never reached and never fires. show access-lists proves it: an ACE with zero hits while its traffic is clearly flowing is an ACE the router never reaches.
Wildcard masks, direction, and the placement rule
An ACL selects addresses with a wildcard mask, the inverse of a subnet mask: a 0 bit means this bit must match, a 1 bit means do not care. This is the same inverse-mask arithmetic OSPF network statements use.
| Goal | Address + wildcard | Shorthand |
|---|---|---|
| One host | 10.1.1.10 0.0.0.0 | host 10.1.1.10 |
| Whole /24 subnet | 10.1.1.0 0.0.0.255 | — |
| Any address | 0.0.0.0 255.255.255.255 | any |
| Four subnets 10.1.0.0-10.1.3.0 | 10.1.0.0 0.0.3.255 | — |
The classic trap is writing the subnet mask instead of its inverse: the wildcard for a /24 is 0.0.0.255, not 255.255.255.0.
Direction matters for efficiency. An inbound ACL is checked before the router makes its forwarding decision, so a denied packet is discarded without ever being routed. An outbound ACL is checked after routing, at the exit interface. You get one ACL per interface per direction — one in, one out — and cannot stack two inbound ACLs on the same interface.
| ACL type | Place it | Why |
|---|---|---|
| Standard | Near the destination | It matches source only. Near the source it would block that source from everything, not just the one destination you meant. |
| Extended | Near the source | It matches the exact flow, so unwanted traffic can be dropped early, before it consumes links across the network. |
Build it, apply it, read the hit counts
Goal: block Telnet from the user subnet to one server, and permit everything else. That needs a destination and a port, so it is extended — and extended goes near the source.
R1(config)# ip access-list extended BLOCK-TELNET
R1(config-ext-nacl)# deny tcp 10.10.20.0 0.0.0.255 host 10.10.30.10 eq 23
R1(config-ext-nacl)# permit ip any any
R1(config-ext-nacl)# exit
!
! Apply inbound on the interface facing the user subnet
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip access-group BLOCK-TELNET inR1# show access-lists
Extended IP access list BLOCK-TELNET
10 deny tcp 10.10.20.0 0.0.0.255 host 10.10.30.10 eq telnet (4 matches)
20 permit ip any any (37 matches)- 10 and 20 are auto-assigned sequence numbers. ACEs number in tens so you can insert a 15 between them later.
- The deny line reads: protocol tcp, source the /24 (wildcard 0.0.0.255), destination the single server (host = wildcard 0.0.0.0), port eq telnet, which is 23. IOS echoes well-known ports by name.
- (4 matches) is the hit counter. Four Telnet attempts were dropped. A deny ACE stuck at zero while its traffic is clearly flowing means those packets matched an earlier line instead.
- permit ip any any is the explicit catch-all keeping every other flow alive. Without it the implicit deny would drop non-Telnet traffic too.
- show ip interface GigabitEthernet0/1 | include access list confirms which ACL is bound and in which direction — the fastest way to catch an ACL on the wrong interface or facing the wrong way.
What you should retain
- Standard (1-99, 1300-1999) matches source only, so place it near the destination.
- Extended (100-199, 2000-2699) matches source, destination, protocol, and port, so place it near the source.
- Wildcard mask: 0 means must match, 1 means do not care. A /24 is 0.0.0.255; host is 0.0.0.0; any is 255.255.255.255.
- Top-down, first match wins, then stop — put specific ACEs above general ones.
- An implicit deny any ends every list, so an ACL with no permit drops everything.
- Verify with show access-lists for hit counts and show ip interface for which ACL and which direction.
- Interface ACLs never filter the router's own originated traffic; use access-class on the VTY lines for that.
Before you read on
An admin wants to stop the HR subnet 10.10.20.0/24 reaching the finance subnet 10.10.30.0/24, and writes access-list 20 deny 10.10.20.0 0.0.0.255 / access-list 20 permit any, applied inbound on HR's own LAN interface. HR now cannot reach finance — but they have also lost internet access and the printer VLAN. What went wrong, and how do you fix it? Separately: what single address-and-wildcard pair matches every address in 172.16.8.0/22?
See it happen
ACL Tools
Assemble this ACE set in the trainer and step a few packets through it. Watch the evaluation stop at the first match, and watch the implicit deny catch a packet that matched nothing — seeing it fire is worth more than reading about it.
Section quiz follows Lesson 2, once the management plane has been hardened as well as the data path.
Study deeper
Topic guides extend this lesson — they do not replace the first-party walkthrough above.
ACLs
For the full standard-versus-extended reference, placement diagrams, and a symptom-to-cause troubleshooting table
