<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aws-Nacl on K-Life Hack | Systems Architecture &amp; DevOps</title><link>https://klifehack.com/en/tags/aws-nacl/</link><description>Recent content in Aws-Nacl on K-Life Hack | Systems Architecture &amp; DevOps</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 03 Sep 2026 10:17:21 +0900</lastBuildDate><atom:link href="https://klifehack.com/en/tags/aws-nacl/index.xml" rel="self" type="application/rss+xml"/><item><title>Packet Filtering Control with Network ACLs and Security Groups</title><link>https://klifehack.com/en/p/acl-packet-filtering-mechanics-cisco-aws/</link><pubDate>Thu, 03 Sep 2026 10:17:21 +0900</pubDate><guid>https://klifehack.com/en/p/acl-packet-filtering-mechanics-cisco-aws/</guid><description>&lt;p&gt;In network perimeter traffic control, blocking unnecessary communication and protocols at the appropriate layer forms the foundation for protecting internal bandwidth and resources. Packet filtering using Access Control Lists (ACLs) is widely utilized across routers, Layer-3 switches, and virtual networks in public clouds.&lt;/p&gt;&#10;&lt;p&gt;This article outlines the ACL packet evaluation mechanism, standard and extended ACL implementations in Cisco IOS, an architectural comparison between stateless NACLs and stateful Security Groups in AWS, and operational troubleshooting methodologies.&lt;/p&gt;&#10;&lt;h2 id="acl-processing-pipeline-and-evaluation-logic"&gt;ACL Processing Pipeline and Evaluation Logic&#10;&lt;/h2&gt;&lt;p&gt;ACLs filter packets based on source IP, destination IP, protocol type (such as IP, TCP, UDP, ICMP), and source/destination port numbers. The evaluation process operates according to the following three principles:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;Top-Down Processing:&lt;/b&gt; Rules are evaluated sequentially starting from the top entry of the list (or the lowest sequence number).&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;First Match Termination:&lt;/b&gt; Once a packet matches a rule&amp;rsquo;s criteria, the configured action (&lt;code&gt;permit&lt;/code&gt; or &lt;code&gt;deny&lt;/code&gt;) is executed immediately, and subsequent rule evaluations terminate at that point.&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Implicit Deny Any:&lt;/b&gt; An unwritten deny rule (&lt;code&gt;deny ip any any&lt;/code&gt;) exists at the very end of the list. Any packet that does not match any entry is automatically dropped.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[ Inbound Packet ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌─────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ Rule 1: Evaluate Condition │──(Match)──► [ Execute Action: Permit / Deny ] ──► (End Evaluation)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└─────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ (No Match)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌─────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ Rule 2: Evaluate Condition │──(Match)──► [ Execute Action: Permit / Deny ] ──► (End Evaluation)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└─────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ (No Match)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; :&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ (No Match)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌─────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ Implicit Deny Any (End) │───────────► [ Packet Dropped (Drop) ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└─────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="network-layer-acl-classification-and-placement-principles"&gt;Network Layer ACL Classification and Placement Principles&#10;&lt;/h2&gt;&lt;p&gt;ACLs in Cisco network architecture are broadly classified into Standard ACLs and Extended ACLs.&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Attribute / Type&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Standard ACL&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Extended ACL&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Evaluation Target&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Source IP address only&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Source/Destination IP address, protocol, port number&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Control Granularity&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Coarse filtering on a per-source basis&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Fine-grained control per protocol and port&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Number Ranges&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;1–99&lt;/code&gt;, &lt;code&gt;1300–1999&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;100–199&lt;/code&gt;, &lt;code&gt;2000–2699&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Recommended Placement&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Place close to destination:&lt;/b&gt; Because filtering evaluates only the source, placing it near the source risks blocking legitimate traffic destined for other targets.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Place close to source:&lt;/b&gt; Because both source and destination are evaluated, dropping unnecessary traffic close to the source prevents wasting transit link bandwidth.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="bitwise-evaluation-of-wildcard-masks"&gt;Bitwise Evaluation of Wildcard Masks&#10;&lt;/h3&gt;&lt;p&gt;ACLs use wildcard masks, which are the inverted form of subnet masks. In binary representation, &lt;code&gt;0&lt;/code&gt; requires an exact match for that bit, while &lt;code&gt;1&lt;/code&gt; is treated as a &amp;ldquo;don&amp;rsquo;t care&amp;rdquo; (any value).&lt;/p&gt;&#10;&lt;p&gt;For example, specifying the wildcard mask &lt;code&gt;0.0.0.255&lt;/code&gt; for subnet &lt;code&gt;192.168.1.0&lt;/code&gt; means the upper 24 bits (&lt;code&gt;192.168.1&lt;/code&gt;) are strictly compared while the lower 8 bits are ignored, thereby matching the entire address space from &lt;code&gt;192.168.1.0&lt;/code&gt; to &lt;code&gt;192.168.1.255&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="filtering-in-cloud-environments-aws-nacls-vs-security-groups"&gt;Filtering in Cloud Environments: AWS NACLs vs. Security Groups&#10;&lt;/h2&gt;&lt;p&gt;In an AWS VPC environment, packet filtering is executed across two layers: the subnet boundary and the virtual machine boundary (ENI).&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Internet / VPC Traffic&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌────────────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 1st Line of Defense: Network ACL (NACL) │ ◄── Subnet Boundary (Stateless)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└────────────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌────────────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 2nd Line of Defense: Security Group (SG)│ ◄── ENI / Host Boundary (Stateful)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└────────────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌────────────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ Target Instance: Amazon EC2 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└────────────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Comparison Item&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Network ACL (NACL)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Security Group (SG)&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Scope of Application&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Subnet boundary&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;ENI (Elastic Network Interface) / Per-resource basis&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;State Tracking&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Stateless:&lt;/b&gt; Inbound and outbound are evaluated independently. Return traffic rules must be explicitly defined.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Stateful:&lt;/b&gt; Tracks connections. Return packets for allowed inbound traffic are automatically permitted.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Rule Evaluation Engine&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Top-down evaluation in numerical order (First Match).&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Aggregated evaluation across all rules. &lt;b&gt;Allow rules only&lt;/b&gt; can be defined (explicit deny is not supported).&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;b&gt;Role&lt;/b&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Coarse-grained traffic boundary control at the subnet level.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Fine-grained access control at the instance level.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;In a stateless NACL, even if an HTTP request from a client to a web server (inbound destination port 80) is permitted, communication will drop if the server&amp;rsquo;s response back to the client (outbound destination ephemeral ports) is not explicitly permitted in the outbound rules.&lt;/p&gt;&#10;&lt;h2 id="acl-implementation-procedures-in-cisco-ios"&gt;ACL Implementation Procedures in Cisco IOS&#10;&lt;/h2&gt;&lt;h3 id="standard-acl-configuration-and-interface-application"&gt;Standard ACL Configuration and Interface Application&#10;&lt;/h3&gt;&lt;p&gt;Example configuration of a standard ACL that permits traffic only from source subnet &lt;code&gt;192.168.10.0/24&lt;/code&gt;.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-cisco" data-lang="cisco"&gt;Router# configure terminal&#10;Router(config)# access-list 10 permit 192.168.10.0 0.0.0.255&#10;Router(config)# access-list 10 deny any&#10;Router(config)# interface gigabitEthernet 0/0&#10;Router(config-if)# ip access-group 10 in&#10;Router(config-if)# exit&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;in&lt;/code&gt; parameter on an interface specifies that evaluation is performed before the router makes a routing decision upon receiving the packet. The &lt;code&gt;out&lt;/code&gt; parameter specifies evaluation immediately prior to transmission from the interface after routing is complete.&lt;/p&gt;&#10;&lt;h3 id="web-traffic-control-via-extended-acl"&gt;Web Traffic Control via Extended ACL&#10;&lt;/h3&gt;&lt;p&gt;Configuration permitting only HTTP (TCP/80) traffic originating from &lt;code&gt;192.168.10.0/24&lt;/code&gt; destined for web server &lt;code&gt;10.0.0.10&lt;/code&gt;.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-cisco" data-lang="cisco"&gt;Router(config)# access-list 100 permit tcp 192.168.10.0 0.0.0.255 host 10.0.0.10 eq 80&#10;Router(config)# access-list 100 deny ip any any&#10;Router(config)# interface gigabitEthernet 0/0&#10;Router(config-if)# ip access-group 100 in&#10;Router(config-if)# exit&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="administrative-access-control-vty-lines"&gt;Administrative Access Control (VTY Lines)&#10;&lt;/h3&gt;&lt;p&gt;When restricting access to the router&amp;rsquo;s management plane (SSH/Telnet), use the &lt;code&gt;access-class&lt;/code&gt; command on virtual terminal lines rather than &lt;code&gt;ip access-group&lt;/code&gt; on interfaces.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-cisco" data-lang="cisco"&gt;Router(config)# line vty 0 4&#10;Router(config-line)# access-class 10 in&#10;Router(config-line)# exit&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="troubleshooting"&gt;Troubleshooting&#10;&lt;/h2&gt;&lt;h3 id="1-unintended-traffic-allowed-due-to-rule-shadowing"&gt;1. Unintended Traffic Allowed Due to Rule Shadowing&#10;&lt;/h3&gt;&lt;p&gt;Placing a broad permit rule above a more specific rule causes subsequent deny rules to be ignored.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;b&gt;Incorrect Configuration Example:&lt;/b&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;access-list 10 permit any&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;access-list 10 deny host 192.168.1.100&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Traffic from &lt;code&gt;192.168.1.100&lt;/code&gt; matches the first line &lt;code&gt;permit any&lt;/code&gt;, and the deny rule on the second line is never evaluated.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;b&gt;Remediation Procedure:&lt;/b&gt;&#10;Place more specific conditions (specific hosts or subnets) higher in the list.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;access-list 10 deny host 192.168.1.100&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;access-list 10 permit any&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="2-legitimate-traffic-blocked-by-implicit-deny"&gt;2. Legitimate Traffic Blocked by Implicit Deny&#10;&lt;/h3&gt;&lt;p&gt;Writing only a &lt;code&gt;deny&lt;/code&gt; rule to block a single host results in all other traffic being dropped by the implicit deny at the end.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-cisco" data-lang="cisco"&gt;! Incorrect: All other traffic is implicitly dropped&#10;Router(config)# access-list 10 deny host 192.168.1.100&#10;&#10;! Fix: Explicitly permit non-blocked traffic&#10;Router(config)# access-list 10 permit any&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="verification-and-status-inspection-commands"&gt;Verification and Status Inspection Commands&#10;&lt;/h3&gt;&lt;p&gt;Check ACL binding status and match counters (hit counts) for each rule.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Router# show access-lists&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Standard IP access list 10&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 10 deny 192.168.1.100 (15 matches)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 20 permit any (1420 matches)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Extended IP access list 100&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 10 permit tcp 192.168.10.0 0.0.0.255 host 10.0.0.10 eq www (8340 matches)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 20 deny ip any any (120 matches)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Router# show ip interface gigabitEthernet 0/0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;GigabitEthernet0/0 is up, line protocol is up&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Internet address is 192.168.10.1/24&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Broadcast address is 255.255.255.255&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Address determined by setup command&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; MTU is 1500 bytes&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Helper address is not set&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Directed broadcast forwarding is disabled&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Inbound access list is 100&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Outbound access list is not set&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To unbind an ACL from an interface, execute &lt;code&gt;no ip access-group&lt;/code&gt; in interface configuration mode.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-cisco" data-lang="cisco"&gt;Router(config)# interface gigabitEthernet 0/0&#10;Router(config-if)# no ip access-group 100 in&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="operational-notes"&gt;Operational Notes&#10;&lt;/h2&gt;&lt;p&gt;When designing and operating ACLs, strictly adhere to the following principles:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;Rule Ordering:&lt;/b&gt; Place specific entries evaluating exact IPs/ports at the top, and broad, generalized entries at the bottom.&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;State Awareness:&lt;/b&gt; In stateless environments like cloud NACLs, outbound rules must explicitly permit the ephemeral port range (e.g., TCP 1024–65535) for return traffic.&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Placement and Direction:&lt;/b&gt; Accurately define the interface perspective (&lt;code&gt;in&lt;/code&gt; / &lt;code&gt;out&lt;/code&gt;) as packets traverse the router; position standard ACLs close to the destination and extended ACLs close to the source.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>