BeginnerPublished 2026-06-30
Extended ACL Fundamentals: Permit HTTP, Deny Others
Bundle lab
Deploy a numbered extended ACL on a router-on-a-stick topology to allow HTTP from a single approved client to a web server while denying all other TCP attempts to that server from the same user VLAN. Apply the ACL inbound near the source, verify with real client traffic, and troubleshoot using ACL hit counts and test flows.
Learning objectives
- Design and apply a numbered extended IPv4 ACL that matches source, destination, protocol, and TCP port.
- Place an extended ACL near the source and apply in the correct direction to filter intended traffic.
- Allow HTTP (TCP/80) from a specific client to a web server; deny other TCP flows to that server.
- Verify operational impact with ACL hit counts and real traffic generation from end hosts.
- Troubleshoot ACL order, placement, and direction issues that cause unexpected denials.
Troubleshooting focus
- HTTP from CLIENT-ALLOWED to 10.30.30.10 fails: read
show ip access-lists 110. A deny ahead of the specific host permit blocks the approved client — put the specific permit first. - HTTP from CLIENT-ALLOWED fails even with the order correct: verify the web server on SRV-WEB01 is running and listening on TCP/80, and its IP and gateway are right.
- CLIENT-DENIED still reaches the server, or the counters never move: the list is on the wrong interface. It belongs inbound on Ethernet0/0.10, not Ethernet0/0 or Ethernet0/0.30.
- The SYN passes but the response does not: the ACL is applied outbound or on the return path.
- Ping to 10.30.30.10 breaks too: the list has no final catch-all permit, so the implicit deny drops non-TCP traffic. Add one at the end.
- Both clients fail completely, no pings: confirm the trunk allows VLANs 10 and 30 and the access ports are correct.
Topology
Subscribe to preview this lab's topology.
See plansGrade your work
How this lab is graded
- Build it your way. Where a lab lets you choose a value — a VLAN name, an interface description — grading checks that you configured it, not which name you picked. Names that another line has to reference, like an ACL applied with
access-class, are stated in the guide and do have to match. - Addresses, modes and protocol keywords are exact. An IP address, a subnet mask,
switchport mode trunk, an encapsulation — these carry the meaning of the lab, so they are graded as written in the guide. - Grading reads your saved configuration. Export the lab from CML after you have configured it, and make sure anything you set is in the running-config — a change that only exists in a terminal session never reaches the grader.
- You can submit as many times as you like. Your best score stands, and each attempt tells you which checks passed so you can work the gaps.
- Scored something you believe is correct? Use Report an issue on this page — that is exactly how the grading fixes in the changelog got found.
Create a free account to submit your lab for grading.
Create a free accountFound a problem with this lab?
Please sign in to report a problem — tying it to your attempts lets us reproduce and fix it faster.