<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: FirstPassLab</title>
    <description>The latest articles on Forem by FirstPassLab (@firstpasslab).</description>
    <link>https://forem.com/firstpasslab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3828651%2F5ba8d2a9-7408-4b02-b3d0-016c7ce377fb.png</url>
      <title>Forem: FirstPassLab</title>
      <link>https://forem.com/firstpasslab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/firstpasslab"/>
    <language>en</language>
    <item>
      <title>Cisco ASA vs FTD in 2026: NAT, VPNs, Policy Workflows, and Which to Learn First</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Wed, 08 Apr 2026 16:54:26 +0000</pubDate>
      <link>https://forem.com/firstpasslab/cisco-asa-vs-ftd-in-2026-nat-vpns-policy-workflows-and-which-to-learn-first-64c</link>
      <guid>https://forem.com/firstpasslab/cisco-asa-vs-ftd-in-2026-nat-vpns-policy-workflows-and-which-to-learn-first-64c</guid>
      <description>&lt;p&gt;If you work on Cisco firewalls in 2026, you usually inherit &lt;strong&gt;both&lt;/strong&gt; worlds at once: legacy or brownfield ASA deployments, and newer FMC-managed FTD estates that add IPS, application visibility, and centralized policy.&lt;/p&gt;

&lt;p&gt;That creates a very practical engineering question: &lt;strong&gt;what actually changes when you move from ASA CLI muscle memory to FTD workflows, and which platform should you learn first if you need to operate both?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This breakdown focuses on the parts that matter in real environments and labs: deployment modes, NAT behavior, failover, VPN workflows, policy construction, and the operational mistakes that waste the most time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start with ASA fundamentals.&lt;/strong&gt; NAT, ACL logic, VPN behavior, and failover concepts transfer directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spend more operating time on FTD/FMC.&lt;/strong&gt; That is where Cisco’s newer policy and inspection workflows live.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The biggest FTD mistake is procedural, not conceptual:&lt;/strong&gt; forgetting to deploy from FMC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mixed environments are normal.&lt;/strong&gt; Knowing how ASA troubleshooting maps to FTD is often more valuable than treating them as separate products.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The v6.1 Blueprint Reality
&lt;/h2&gt;

&lt;p&gt;Let's start with what Cisco actually tells us. The CCIE Security v6.1 exam topics list both platforms explicitly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Section 2.0 — Perimeter Security and Intrusion Prevention (22%)&lt;/strong&gt; covers ASA and FTD deployment, NAT, VPN, and high availability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Section 3.0 — Secure Connectivity and Segmentation (19%)&lt;/strong&gt; includes site-to-site and remote access VPN on both platforms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Section 5.0 — Advanced Threat Protection and Content Security (12%)&lt;/strong&gt; is heavily FTD/FMC territory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's roughly &lt;strong&gt;53% of the lab&lt;/strong&gt; where ASA and/or FTD knowledge is directly tested. But here's what the blueprint doesn't tell you: the balance between them has shifted dramatically from v6.0.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Shift Toward FTD
&lt;/h3&gt;

&lt;p&gt;In v6.0, ASA carried roughly equal weight to FTD. In v6.1, candidates consistently report that &lt;strong&gt;FTD tasks outnumber ASA tasks by approximately 2:1&lt;/strong&gt;. FMC-managed FTD is the primary firewall platform in most lab scenarios.&lt;/p&gt;

&lt;p&gt;This doesn't mean ASA is irrelevant — far from it. But it means your study time allocation should reflect reality:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Recommended Study Time&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;FTD (FMC-managed)&lt;/td&gt;
&lt;td&gt;55-60% of firewall study time&lt;/td&gt;
&lt;td&gt;Primary platform in v6.1 lab&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ASA&lt;/td&gt;
&lt;td&gt;30-35% of firewall study time&lt;/td&gt;
&lt;td&gt;Still tested, especially VPN and failover&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FTD (FDM-managed)&lt;/td&gt;
&lt;td&gt;5-10% of firewall study time&lt;/td&gt;
&lt;td&gt;Appears in limited scenarios&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ASA: What You Need to Know Cold
&lt;/h2&gt;

&lt;p&gt;ASA isn't going away from the exam. Cisco knows that thousands of production networks still run ASA, and the platform tests fundamental security concepts that every expert should understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deployment Modes
&lt;/h3&gt;

&lt;p&gt;You'll encounter ASA in two modes on the lab:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Routed Mode&lt;/strong&gt; — the default and most common:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; firewall transparent
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; no firewall transparent
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; show firewall
&lt;span class="k"&gt;Firewall&lt;/span&gt; mode: Router
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Transparent Mode&lt;/strong&gt; — Layer 2 firewall, appears as a bump in the wire:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; firewall transparent
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; show firewall
&lt;span class="k"&gt;Firewall&lt;/span&gt; mode: Transparent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In transparent mode, you lose the routing capabilities but gain the ability to insert the ASA inline without readdressing. The lab loves testing whether you know &lt;em&gt;when&lt;/em&gt; to use each mode and the behavioral differences.&lt;/p&gt;

&lt;p&gt;Key transparent mode gotcha that catches candidates: &lt;strong&gt;you need a management IP on a BVI, and ARP inspection is enabled by default&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; interface BVI 1
&lt;span class="k"&gt;ciscoasa(config-if)#&lt;/span&gt; ip address &lt;span class="m"&gt;10.1.1.1&lt;/span&gt; &lt;span class="m"&gt;255.255.255.0&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config-if)#&lt;/span&gt; no shutdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  NAT on ASA: The Foundation
&lt;/h3&gt;

&lt;p&gt;ASA NAT is where your fundamentals get tested hard. The exam expects you to configure NAT without hesitation — and to troubleshoot when it breaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Twice NAT (Manual NAT)&lt;/strong&gt; — full control, processed in order:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="c1"&gt;! Static NAT for a web server&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; object network WEB-SERVER-REAL
&lt;span class="k"&gt;ciscoasa(config-network-object)#&lt;/span&gt; host &lt;span class="m"&gt;10.1.1.100&lt;/span&gt;

&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; object network WEB-SERVER-MAPPED
&lt;span class="k"&gt;ciscoasa(config-network-object)#&lt;/span&gt; host &lt;span class="m"&gt;203.0.113.100&lt;/span&gt;

&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; nat (inside,outside) source static WEB-SERVER-REAL WEB-SERVER-MAPPED
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Auto NAT (Object NAT)&lt;/strong&gt; — simpler, defined inside the object:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; object network INSIDE-SUBNET
&lt;span class="k"&gt;ciscoasa(config-network-object)#&lt;/span&gt; subnet &lt;span class="m"&gt;10.1.1.0&lt;/span&gt; &lt;span class="m"&gt;255.255.255.0&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config-network-object)#&lt;/span&gt; nat (inside,outside) dynamic interface
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The critical distinction: &lt;strong&gt;Twice NAT is processed before Auto NAT&lt;/strong&gt; (within each section — before/after auto). If your NAT isn't working, check the processing order first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Twice NAT (Section 1) — manual, before auto&lt;/li&gt;
&lt;li&gt;Auto NAT — ordered by prefix length (most specific first)&lt;/li&gt;
&lt;li&gt;Twice NAT (Section 3) — manual, after auto
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;ciscoasa#&lt;/span&gt; show nat
&lt;span class="k"&gt;Manual&lt;/span&gt; NAT Policies (Section 1)
&lt;span class="k"&gt;1 (inside)&lt;/span&gt; to (outside) source static WEB-SERVER-REAL WEB-SERVER-MAPPED
&lt;span class="k"&gt;    translate_hits&lt;/span&gt; = 1523, untranslate_hits = 892

&lt;span class="k"&gt;Auto&lt;/span&gt; NAT Policies (Section 2)
&lt;span class="k"&gt;1 (inside)&lt;/span&gt; to (outside) source dynamic INSIDE-SUBNET interface
&lt;span class="k"&gt;    translate_hits&lt;/span&gt; = 45210, untranslate_hits = 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ASA Failover
&lt;/h3&gt;

&lt;p&gt;ASA Active/Standby failover is a guaranteed lab topic. The configuration is straightforward but the troubleshooting can be tricky:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="c1"&gt;! Primary ASA&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover lan unit primary
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover lan interface FAILOVER GigabitEthernet0/3
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover polltime unit 1 holdtime 5
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover key cisco123
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover link STATE GigabitEthernet0/4
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover interface ip FAILOVER &lt;span class="m"&gt;10.0.0.1&lt;/span&gt; &lt;span class="m"&gt;255.255.255.252&lt;/span&gt; standby &lt;span class="m"&gt;10.0.0.2&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover interface ip STATE &lt;span class="m"&gt;10.0.0.5&lt;/span&gt; &lt;span class="m"&gt;255.255.255.252&lt;/span&gt; standby &lt;span class="m"&gt;10.0.0.6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="c1"&gt;! Secondary ASA&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover lan unit secondary
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover lan interface FAILOVER GigabitEthernet0/3
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover key cisco123
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover link STATE GigabitEthernet0/4
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover interface ip FAILOVER &lt;span class="m"&gt;10.0.0.1&lt;/span&gt; &lt;span class="m"&gt;255.255.255.252&lt;/span&gt; standby &lt;span class="m"&gt;10.0.0.2&lt;/span&gt;
&lt;span class="k"&gt;ciscoasa(config)#&lt;/span&gt; failover interface ip STATE &lt;span class="m"&gt;10.0.0.5&lt;/span&gt; &lt;span class="m"&gt;255.255.255.252&lt;/span&gt; standby &lt;span class="m"&gt;10.0.0.6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The number one failover debugging command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;ciscoasa#&lt;/span&gt; show failover state
&lt;span class="k"&gt;               State&lt;/span&gt;          Last Failure Reason
&lt;span class="k"&gt;This&lt;/span&gt; host  -   Primary
&lt;span class="k"&gt;               Active&lt;/span&gt;         None
&lt;span class="k"&gt;Other&lt;/span&gt; host -   Secondary
&lt;span class="k"&gt;               Standby&lt;/span&gt; Ready  None
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see "Standby Cold" or "Failed," check the failover link first — 90% of the time it's a Layer 1/2 issue on the failover interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  FTD: The New Reality
&lt;/h2&gt;

&lt;p&gt;FTD (Firepower Threat Defense) is Cisco's converged NGFW platform. It combines the ASA firewall engine with Snort IPS, URL filtering, malware detection, and AMP into a single image. For the CCIE Security lab, you'll primarily manage FTD through FMC (Firepower Management Center).&lt;/p&gt;

&lt;h3&gt;
  
  
  FMC vs FDM: Know the Difference
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;FMC (Firepower Management Center)&lt;/strong&gt; — centralized management for multiple FTD devices. This is what the lab uses 90% of the time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FDM (Firepower Device Manager)&lt;/strong&gt; — on-box management for standalone FTD. Limited features, simpler GUI.&lt;/p&gt;

&lt;p&gt;The lab expects FMC proficiency. You need to navigate it fast — because FMC's GUI has latency, and every click costs you time.&lt;/p&gt;

&lt;h3&gt;
  
  
  FTD Deployment Modes
&lt;/h3&gt;

&lt;p&gt;FTD supports the same two fundamental modes, but the terminology and configuration differ:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Routed Mode&lt;/strong&gt; — default, most common in the lab:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FTD acts as a Layer 3 hop&lt;/li&gt;
&lt;li&gt;Full routing capabilities (OSPF, BGP, EIGRP, static)&lt;/li&gt;
&lt;li&gt;NAT and PAT processing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Transparent Mode&lt;/strong&gt; — Layer 2 inline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configured during initial setup or via FMC&lt;/li&gt;
&lt;li&gt;Bridge groups replace traditional interfaces&lt;/li&gt;
&lt;li&gt;Same BVI concept as ASA but configured through FMC GUI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Inline Set&lt;/strong&gt; — unique to FTD, not available on ASA:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FTD sits inline between two interfaces&lt;/li&gt;
&lt;li&gt;Traffic passes through without FTD being a routed hop&lt;/li&gt;
&lt;li&gt;Primarily for IPS/IDS inspection without network topology changes&lt;/li&gt;
&lt;li&gt;The lab sometimes tests this for specific IPS scenarios&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  NAT on FTD: The FMC Way
&lt;/h3&gt;

&lt;p&gt;Here's where candidates get burned. FTD NAT is conceptually identical to ASA NAT — same Twice NAT vs Auto NAT logic — but it's configured through FMC's GUI, and the terminology is slightly different.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto NAT in FMC:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Devices → NAT → select the FTD device&lt;/li&gt;
&lt;li&gt;Add Rule → Auto NAT Rule&lt;/li&gt;
&lt;li&gt;Select the network object and define the translation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Manual NAT (Twice NAT) in FMC:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Devices → NAT → select the FTD device&lt;/li&gt;
&lt;li&gt;Add Rule → Manual NAT Rule&lt;/li&gt;
&lt;li&gt;Define source original, source translated, destination original, destination translated&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The processing order is identical to ASA:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Manual NAT (Section 1)&lt;/li&gt;
&lt;li&gt;Auto NAT (Section 2)&lt;/li&gt;
&lt;li&gt;Manual NAT (Section 3 — after auto)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Critical FMC workflow you must internalize:&lt;/strong&gt; After configuring NAT (or any policy), you &lt;strong&gt;must deploy&lt;/strong&gt; to the FTD device. Forgetting to click Deploy is the #1 time-waster I've seen candidates report.&lt;/p&gt;

&lt;h3&gt;
  
  
  FTD Access Control Policies
&lt;/h3&gt;

&lt;p&gt;This is the core of FTD management and where the NGFW capabilities shine:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access Control Policy (ACP)&lt;/strong&gt; — the main traffic policy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ordered rules evaluated top-down&lt;/li&gt;
&lt;li&gt;Each rule can specify: zones, networks, ports, applications, URLs, users&lt;/li&gt;
&lt;li&gt;Actions: Allow, Trust, Block, Monitor, Interactive Block&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Prefilter Policy&lt;/strong&gt; — evaluated BEFORE the ACP:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses traditional 5-tuple matching (like ASA ACLs)&lt;/li&gt;
&lt;li&gt;Much faster because it bypasses Snort inspection&lt;/li&gt;
&lt;li&gt;Use for trusted traffic that doesn't need deep inspection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lab tip: &lt;strong&gt;Use Prefilter rules for high-volume trusted traffic&lt;/strong&gt; (like management traffic or backup streams). This reduces Snort load and can prevent performance issues during the lab that cause timeout failures on verification.&lt;/p&gt;

&lt;h3&gt;
  
  
  FTD VPN Configuration
&lt;/h3&gt;

&lt;p&gt;VPN on FTD through FMC is one of the most time-consuming lab tasks because of the multi-step GUI workflow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Site-to-Site VPN:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Devices → VPN → Site to Site → Add VPN&lt;/li&gt;
&lt;li&gt;Define topology (Point to Point or Hub and Spoke)&lt;/li&gt;
&lt;li&gt;Configure IKE settings (IKEv1 or IKEv2)&lt;/li&gt;
&lt;li&gt;Configure IPsec proposals&lt;/li&gt;
&lt;li&gt;Define protected networks&lt;/li&gt;
&lt;li&gt;Deploy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Remote Access VPN (RAVPN):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Devices → VPN → Remote Access → Add&lt;/li&gt;
&lt;li&gt;Select authentication method (AAA, certificates, both)&lt;/li&gt;
&lt;li&gt;Configure connection profiles&lt;/li&gt;
&lt;li&gt;Define group policies&lt;/li&gt;
&lt;li&gt;Configure address pools&lt;/li&gt;
&lt;li&gt;Deploy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The deploy step after each change is what kills your time. &lt;strong&gt;Batch your VPN changes&lt;/strong&gt; — configure everything, verify in the GUI, then deploy once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Head-to-Head: ASA vs FTD for Key Lab Tasks
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;ASA&lt;/th&gt;
&lt;th&gt;FTD (via FMC)&lt;/th&gt;
&lt;th&gt;Time Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Basic NAT&lt;/td&gt;
&lt;td&gt;CLI, fast&lt;/td&gt;
&lt;td&gt;GUI, slower&lt;/td&gt;
&lt;td&gt;ASA wins by 5-10 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Site-to-Site VPN&lt;/td&gt;
&lt;td&gt;CLI, well-documented&lt;/td&gt;
&lt;td&gt;GUI, multi-step wizard&lt;/td&gt;
&lt;td&gt;ASA wins by 10-15 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IPS/IDS&lt;/td&gt;
&lt;td&gt;Limited (legacy)&lt;/td&gt;
&lt;td&gt;Full Snort integration&lt;/td&gt;
&lt;td&gt;FTD only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;URL Filtering&lt;/td&gt;
&lt;td&gt;Not available&lt;/td&gt;
&lt;td&gt;Built-in category-based&lt;/td&gt;
&lt;td&gt;FTD only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Malware/AMP&lt;/td&gt;
&lt;td&gt;Not available&lt;/td&gt;
&lt;td&gt;Built-in&lt;/td&gt;
&lt;td&gt;FTD only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failover/HA&lt;/td&gt;
&lt;td&gt;CLI, straightforward&lt;/td&gt;
&lt;td&gt;GUI + deploy cycle&lt;/td&gt;
&lt;td&gt;ASA wins by 5 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Troubleshooting&lt;/td&gt;
&lt;td&gt;Rich CLI (&lt;code&gt;show&lt;/code&gt;, &lt;code&gt;debug&lt;/code&gt;, &lt;code&gt;capture&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;CLI available but limited compared to ASA + FMC events&lt;/td&gt;
&lt;td&gt;ASA wins&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Application Visibility&lt;/td&gt;
&lt;td&gt;Not available&lt;/td&gt;
&lt;td&gt;Full app detection&lt;/td&gt;
&lt;td&gt;FTD only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The pattern is clear: &lt;strong&gt;ASA is faster to configure, FTD is more capable.&lt;/strong&gt; The lab tests both — ASA for speed and fundamentals, FTD for advanced NGFW features.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Study Order That Works
&lt;/h2&gt;

&lt;p&gt;Based on the v6.1 blueprint weight and platform dependencies, here's the order I recommend:&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 1: ASA Fundamentals (Weeks 1-3)
&lt;/h3&gt;

&lt;p&gt;Start with ASA even though FTD carries more lab weight. Why? Because FTD's firewall engine IS the ASA engine. Understanding ASA NAT, ACLs, and VPN from the CLI gives you the conceptual foundation that makes FMC configuration intuitive instead of magical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 1:&lt;/strong&gt; Deployment modes, interfaces, security levels, basic ACLs&lt;br&gt;
&lt;strong&gt;Week 2:&lt;/strong&gt; NAT (Auto NAT, Twice NAT, NAT order of operations, identity NAT)&lt;br&gt;
&lt;strong&gt;Week 3:&lt;/strong&gt; Failover (Active/Standby, Active/Active), VPN (site-to-site IKEv1/v2)&lt;/p&gt;
&lt;h3&gt;
  
  
  Phase 2: FTD/FMC Core (Weeks 4-7)
&lt;/h3&gt;

&lt;p&gt;Now transition to FTD. Your ASA knowledge translates directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 4:&lt;/strong&gt; FMC navigation, device registration, platform settings, interface configuration&lt;br&gt;
&lt;strong&gt;Week 5:&lt;/strong&gt; Access Control Policies, Prefilter policies, Security Intelligence&lt;br&gt;
&lt;strong&gt;Week 6:&lt;/strong&gt; NAT on FTD (map your ASA NAT knowledge to the FMC GUI), FTD HA&lt;br&gt;
&lt;strong&gt;Week 7:&lt;/strong&gt; VPN on FTD (site-to-site, RAVPN), certificate management&lt;/p&gt;
&lt;h3&gt;
  
  
  Phase 3: Advanced FTD Features (Weeks 8-10)
&lt;/h3&gt;

&lt;p&gt;The NGFW capabilities that only exist on FTD:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 8:&lt;/strong&gt; Snort IPS policies, custom rules, variable sets&lt;br&gt;
&lt;strong&gt;Week 9:&lt;/strong&gt; Malware/AMP policies, file policies, URL filtering&lt;br&gt;
&lt;strong&gt;Week 10:&lt;/strong&gt; FTD integration with ISE (pxGrid), identity-based access control — our &lt;a href="https://firstpasslab.com/blog/2026-03-04-ccie-security-v6-1-ise-lab-prep-guide/" rel="noopener noreferrer"&gt;CCIE Security v6.1 ISE lab prep guide&lt;/a&gt; covers the ISE side in detail&lt;/p&gt;
&lt;h3&gt;
  
  
  Phase 4: Speed Labs (Weeks 11-12)
&lt;/h3&gt;

&lt;p&gt;Timed practice combining both platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configure ASA failover pair + FTD/FMC pair in the same topology&lt;/li&gt;
&lt;li&gt;Build VPN between ASA and FTD (interoperability scenario)&lt;/li&gt;
&lt;li&gt;Troubleshoot broken configs on both platforms under time pressure&lt;/li&gt;
&lt;li&gt;Practice the FMC deploy workflow until it's muscle memory&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  The FMC Speed Problem (and How to Beat It)
&lt;/h2&gt;

&lt;p&gt;Every candidate complains about FMC being slow. The GUI has inherent latency — page loads, deploy cycles, and the occasional "please wait" spinner that eats 30 seconds of your life.&lt;/p&gt;

&lt;p&gt;Here's how to minimize the damage:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Pre-Build Your Object Library
&lt;/h3&gt;

&lt;p&gt;Before touching any policies, create all your network objects, port objects, and interface groups first. When you start building ACPs and NAT rules, you'll select from existing objects instead of creating them inline (which triggers additional page loads).&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Batch Your Deploys
&lt;/h3&gt;

&lt;p&gt;Never deploy after a single change. Configure all related changes (NAT + ACP + VPN for a given requirement), verify in the GUI, then deploy once. Each deploy cycle takes 30-90 seconds depending on the change scope.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Use the FMC CLI When Possible
&lt;/h3&gt;

&lt;p&gt;FMC has a diagnostic CLI. For troubleshooting, SSH into the FTD device and use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;&amp;gt; system&lt;/span&gt; support diagnostic-cli
&lt;span class="k"&gt;ciscoasa#&lt;/span&gt; show nat
&lt;span class="k"&gt;ciscoasa#&lt;/span&gt; show xlate
&lt;span class="k"&gt;ciscoasa#&lt;/span&gt; show conn
&lt;span class="k"&gt;ciscoasa#&lt;/span&gt; show access-list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yes, that's the ASA CLI running underneath FTD. Your ASA troubleshooting skills transfer directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Know Your Keyboard Shortcuts
&lt;/h3&gt;

&lt;p&gt;FMC doesn't have many, but the browser does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ctrl+F&lt;/strong&gt; to search within long policy lists&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tab&lt;/strong&gt; to move between fields quickly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enter&lt;/strong&gt; to submit dialogs instead of clicking Save&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These seem trivial. They save 10-15 minutes over an 8-hour lab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Pitfalls on Exam Day
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pitfall 1: Forgetting to Deploy
&lt;/h3&gt;

&lt;p&gt;I cannot stress this enough. You configure a perfect NAT rule in FMC, move to the next task, and wonder why traffic isn't flowing. The rule exists in FMC's pending changes — it's not on the FTD device yet. &lt;strong&gt;Deploy after every logical block of changes.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pitfall 2: NAT Order Confusion
&lt;/h3&gt;

&lt;p&gt;You built the same NAT logic on ASA and FTD, but one works and the other doesn't. Check the rule ordering. FMC's NAT rule table doesn't always display in processing order by default — make sure you're looking at the actual Section 1/2/3 placement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pitfall 3: Security Zone Mismatch
&lt;/h3&gt;

&lt;p&gt;FTD uses Security Zones instead of ASA's security levels. A common error: you create an ACP rule allowing traffic from "inside-zone" to "outside-zone," but the FTD interfaces aren't assigned to those zones. Always verify zone assignments under Devices → Device Management → Interfaces.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pitfall 4: IKEv1 vs IKEv2 Platform Defaults
&lt;/h3&gt;

&lt;p&gt;ASA defaults to IKEv1 for site-to-site VPN. FTD defaults to IKEv2. If you're building a VPN between them and don't explicitly match versions, the tunnel won't come up — and the error messages won't clearly tell you why.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pitfall 5: ASA Syslog vs FTD Events
&lt;/h3&gt;

&lt;p&gt;When troubleshooting ASA, you rely on syslogs (&lt;code&gt;show logging&lt;/code&gt;). On FTD, you use FMC's Analysis → Connection Events. Different tools, same troubleshooting logic — but knowing which tool to reach for on each platform saves critical minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resource Stack for ASA vs FTD Prep
&lt;/h2&gt;

&lt;p&gt;Here's what actually works, based on candidate feedback:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cisco CCIE Security Official Cert Guide&lt;/td&gt;
&lt;td&gt;ASA fundamentals, exam topic mapping&lt;/td&gt;
&lt;td&gt;Solid foundation, but light on FTD/FMC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;INE CCIE Security v6.1&lt;/td&gt;
&lt;td&gt;FTD/FMC lab walkthroughs&lt;/td&gt;
&lt;td&gt;Best video content for FMC workflows (&lt;a href="https://firstpasslab.com/blog/2026-03-04-ine-vs-cbt-nuggets-ccie-comparison/" rel="noopener noreferrer"&gt;see our INE vs CBT Nuggets comparison&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cisco dCloud&lt;/td&gt;
&lt;td&gt;Free lab environments&lt;/td&gt;
&lt;td&gt;ASA and FTD labs available, registration required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Orhan Ergun's Security material&lt;/td&gt;
&lt;td&gt;Blueprint-aligned study plans&lt;/td&gt;
&lt;td&gt;Good structure, complements hands-on practice&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cisco FTD Configuration Guide (official docs)&lt;/td&gt;
&lt;td&gt;FMC step-by-step procedures&lt;/td&gt;
&lt;td&gt;Keep this bookmarked — it's your exam-day reference mental model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;For CCIE Security v6.1:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Learn ASA first&lt;/strong&gt; — it's the conceptual foundation and the faster platform for basic tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spend more time on FTD&lt;/strong&gt; — it carries more weight in the v6.1 lab&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Master the FMC workflow&lt;/strong&gt; — deploy cycles, object management, and ACP construction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice interop scenarios&lt;/strong&gt; — ASA-to-FTD VPN tunnels, mixed environments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build speed on FMC&lt;/strong&gt; — pre-built objects, batched deploys, diagnostic CLI&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The candidates who struggle aren't the ones who don't know the technology. They're the ones who can't execute fast enough in FMC. Time management on FTD tasks is the single biggest differentiator between passing and failing. If you're mapping out your full Security track timeline, see our &lt;a href="https://firstpasslab.com/blog/2026-03-05-ccnp-to-ccie-security-timeline-realistic-study-plan/" rel="noopener noreferrer"&gt;CCNP to CCIE Security realistic study plan&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Should I learn ASA or FTD first for CCIE Security v6.1?
&lt;/h3&gt;

&lt;p&gt;Start with ASA. FTD's firewall engine is built on ASA, so understanding ASA NAT, ACLs, and VPN from the CLI gives you the conceptual foundation that makes FMC configuration intuitive. Then shift 55-60% of your firewall study time to FTD.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much of the CCIE Security v6.1 lab is FTD vs ASA?
&lt;/h3&gt;

&lt;p&gt;Candidates consistently report FTD tasks outnumber ASA tasks by approximately 2:1 in v6.1. About 53% of the total lab directly tests ASA and/or FTD knowledge, with FMC-managed FTD as the primary firewall platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the biggest time waster in the CCIE Security lab?
&lt;/h3&gt;

&lt;p&gt;Forgetting to deploy changes in FMC. Every configuration change in FMC sits in pending state until you explicitly deploy it to the FTD device. Batch your changes and deploy after each logical block to save time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I use CLI on FTD during the CCIE Security lab?
&lt;/h3&gt;

&lt;p&gt;Yes. FTD has a diagnostic CLI accessible via SSH that runs the ASA engine underneath. Commands like &lt;code&gt;show nat&lt;/code&gt;, &lt;code&gt;show xlate&lt;/code&gt;, and &lt;code&gt;show conn&lt;/code&gt; work directly, so your ASA troubleshooting skills transfer to FTD.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long should I study for the CCIE Security v6.1 firewall sections?
&lt;/h3&gt;

&lt;p&gt;Plan for 12 weeks focused on firewalls: 3 weeks on ASA fundamentals, 4 weeks on FTD/FMC core, 3 weeks on advanced FTD features like Snort IPS and ISE integration, then 2 weeks of timed speed labs combining both platforms.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI disclosure: This article was adapted with AI assistance from the original FirstPassLab post, then reviewed and prepared for Dev.to publication.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>security</category>
      <category>cisco</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>NAC Is Moving Into the Fabric: What Nile’s Segment-of-1 Means for Campus Security</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Tue, 07 Apr 2026 22:55:45 +0000</pubDate>
      <link>https://forem.com/firstpasslab/nac-is-moving-into-the-fabric-what-niles-segment-of-1-means-for-campus-security-4f11</link>
      <guid>https://forem.com/firstpasslab/nac-is-moving-into-the-fabric-what-niles-segment-of-1-means-for-campus-security-4f11</guid>
      <description>&lt;h1&gt;
  
  
  NAC Is Moving Into the Fabric: What Nile’s Segment-of-1 Means for Campus Security
&lt;/h1&gt;

&lt;p&gt;Most campus access control stacks still look like this: a NAC appliance cluster, RADIUS plumbing, VLAN sprawl, ACL overlays, and a long tail of exceptions for IoT devices that do not behave like laptops.&lt;/p&gt;

&lt;p&gt;Nile’s latest platform update is interesting because it challenges that whole model. Instead of treating NAC as a separate control plane bolted onto the network, it pushes identity, access control, and microsegmentation directly into the fabric.&lt;/p&gt;

&lt;p&gt;If you design or operate enterprise networks, the useful question is not “should I buy this vendor tomorrow?” It is this: &lt;strong&gt;is campus NAC starting to move from appliance-centric to fabric-native?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9un5dfnwi1czukwqtfaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9un5dfnwi1czukwqtfaf.png" alt="Nile NaaS 2.0 overview and security impact" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Nile actually changed
&lt;/h2&gt;

&lt;p&gt;Nile added three things that matter to engineers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native NAC inside the fabric&lt;/strong&gt; instead of a separate appliance stack&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Segment-of-1 microsegmentation&lt;/strong&gt;, where each endpoint becomes its own security boundary&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;More cloud-delivered services&lt;/strong&gt; around branch and campus operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That first point is the real shift. Traditional campus NAC usually means dedicated infrastructure, certificate handling, RADIUS tuning, policy troubleshooting, and a lot of operational drag. Nile is trying to collapse that into the access fabric itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is technically important
&lt;/h2&gt;

&lt;p&gt;Fabric-native NAC still has to solve the same old problems. It just solves them in a different place.&lt;/p&gt;

&lt;p&gt;According to the underlying product details, the policy layer is built around:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Active Directory integration&lt;/strong&gt; for identity and group context
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RADIUS certificate authentication&lt;/strong&gt; for managed corporate devices
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;802.1X and captive portal flows&lt;/strong&gt; for wired and guest-style access
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Device fingerprinting&lt;/strong&gt; for IoT gear that cannot run normal supplicants&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That means the core engineering concepts do not go away. You still need to understand 802.1X, RADIUS attributes, certificate chains, identity mapping, and policy enforcement. What changes is who operates the infrastructure and how much of the stack becomes opaque.&lt;/p&gt;

&lt;h2&gt;
  
  
  Segment-of-1 vs traditional campus segmentation
&lt;/h2&gt;

&lt;p&gt;The most interesting part of the announcement is not NAC. It is the segmentation model.&lt;/p&gt;

&lt;p&gt;With a classic campus design, segmentation often starts with VLAN boundaries and then gets refined with ACLs or policy overlays. That works, but it is operationally noisy and usually leaves too much lateral movement inside each segment.&lt;/p&gt;

&lt;p&gt;Nile’s “Segment-of-1” model pushes the opposite idea: deny by default, then allow only explicit policy for each endpoint.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Granularity&lt;/th&gt;
&lt;th&gt;Lateral movement risk&lt;/th&gt;
&lt;th&gt;Operational model&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;VLAN-based segmentation&lt;/td&gt;
&lt;td&gt;Groups of endpoints&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;VLAN and ACL administration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Identity group segmentation&lt;/td&gt;
&lt;td&gt;Per user or device group&lt;/td&gt;
&lt;td&gt;Moderate&lt;/td&gt;
&lt;td&gt;Policy-driven but still grouped&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Segment-of-1&lt;/td&gt;
&lt;td&gt;Individual endpoint&lt;/td&gt;
&lt;td&gt;Lowest&lt;/td&gt;
&lt;td&gt;Per-device policy in the fabric&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In practical terms, that means a compromised camera, scanner, badge reader, or kiosk should not be able to discover or talk to peer devices unless policy explicitly permits it.&lt;/p&gt;

&lt;p&gt;That is a pretty meaningful change for campus security teams who have spent years trying to retrofit zero trust principles onto VLAN-era access designs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fselh45hn111gz28vlp96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fselh45hn111gz28vlp96.png" alt="Fabric-native NAC and Segment-of-1 technical architecture" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this is stronger than a traditional NAC deployment
&lt;/h2&gt;

&lt;p&gt;A fabric-native model can be genuinely better in a few areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Less infrastructure to run&lt;/strong&gt;. No separate NAC appliance lifecycle, fewer moving parts, less cluster care-and-feeding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better blast-radius control&lt;/strong&gt;. Per-device isolation is a stronger default than broad VLAN trust zones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaner handling for IoT-heavy environments&lt;/strong&gt;. Device fingerprinting plus identity policy is often more realistic than trying to force full supplicant behavior onto every endpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A simpler operations story&lt;/strong&gt; for distributed campus environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For teams buried in DHCP dependencies, RADIUS troubleshooting, and access policy sprawl, that is a compelling operational pitch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the model is weaker
&lt;/h2&gt;

&lt;p&gt;This is not a free win.&lt;/p&gt;

&lt;p&gt;The tradeoff is that you may lose some of the integration depth that made traditional NAC platforms valuable in the first place. If your environment depends on posture assessment, deep ecosystem integrations, or very custom onboarding flows, a fabric-native model may not be a drop-in replacement.&lt;/p&gt;

&lt;p&gt;Here is the real comparison engineers should make:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Capability&lt;/th&gt;
&lt;th&gt;Traditional NAC platform&lt;/th&gt;
&lt;th&gt;Fabric-native NAC model&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;Separate appliances or VMs&lt;/td&gt;
&lt;td&gt;Embedded in the access fabric&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authentication methods&lt;/td&gt;
&lt;td&gt;Mature and broad&lt;/td&gt;
&lt;td&gt;Usually focused on core access flows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Segmentation&lt;/td&gt;
&lt;td&gt;Often layered on VLANs and policy overlays&lt;/td&gt;
&lt;td&gt;Identity-based, fabric-enforced&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ecosystem integrations&lt;/td&gt;
&lt;td&gt;Usually deeper&lt;/td&gt;
&lt;td&gt;Often narrower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operational overhead&lt;/td&gt;
&lt;td&gt;Higher&lt;/td&gt;
&lt;td&gt;Lower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform transparency&lt;/td&gt;
&lt;td&gt;Higher for engineers who own it&lt;/td&gt;
&lt;td&gt;Lower, more vendor-managed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So the decision is not “old bad, new good.” It is more like &lt;strong&gt;integration depth vs operational simplicity&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What network engineers should evaluate now
&lt;/h2&gt;

&lt;p&gt;Even if you never deploy Nile, this announcement is still useful because it shows where the market is heading.&lt;/p&gt;

&lt;p&gt;If I were evaluating this model, I would look at five things first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How much operational cost is your current NAC stack creating?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Count the nodes, policy objects, cert dependencies, and exception workflows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How much of your current segmentation still depends on coarse VLAN trust?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If the answer is “most of it,” per-endpoint policy is worth serious attention.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How much of your estate is unmanaged IoT?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This is where fabric-native identity and fingerprinting can have outsized value.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What advanced NAC features do you actually use today?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A lot of teams run complex platforms but consume only a small slice of the feature set.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Are your engineers strong on the underlying protocols?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
That matters more, not less, in a vendor-managed world.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bigger takeaway
&lt;/h2&gt;

&lt;p&gt;The big signal here is not one vendor feature release. It is the architecture trend.&lt;/p&gt;

&lt;p&gt;Campus security is slowly moving away from “connect first, secure later” and toward &lt;strong&gt;identity-first, deny-by-default, fabric-enforced access&lt;/strong&gt;. If that trend continues, the valuable engineering skill set will be less about babysitting NAC appliances and more about understanding authentication, identity, segmentation, and policy intent at a deep level.&lt;/p&gt;

&lt;p&gt;That is a healthy shift.&lt;/p&gt;

&lt;p&gt;And honestly, it is overdue.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Canonical version: &lt;a href="https://firstpasslab.com/blog/2026-03-23-nile-naas-native-nac-microsegmentation-zero-trust-campus-network/" rel="noopener noreferrer"&gt;Nile NaaS Adds Native NAC and Microsegmentation: What It Means for Campus Network Engineers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;AI disclosure: This article was adapted with AI assistance from an original FirstPassLab post for Dev.to. The canonical source, analysis direction, and technical framing come from the original article.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>security</category>
      <category>cisco</category>
      <category>zerotrust</category>
    </item>
    <item>
      <title>CML vs GNS3 vs INE: How Network Engineers Should Build Labs in 2026</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Tue, 07 Apr 2026 18:16:44 +0000</pubDate>
      <link>https://forem.com/firstpasslab/cml-vs-gns3-vs-ine-how-network-engineers-should-build-labs-in-2026-2hdg</link>
      <guid>https://forem.com/firstpasslab/cml-vs-gns3-vs-ine-how-network-engineers-should-build-labs-in-2026-2hdg</guid>
      <description>&lt;p&gt;If you're building network labs in 2026, the real question is not "which tool is best?" It's &lt;strong&gt;which tool matches the kind of lab work you actually need to do&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Some engineers want a legal, repeatable Cisco-heavy environment for deep protocol work. Some want guided labs they can launch in a minute. Others just want the cheapest path to testing routing, switching, VPN, and firewall ideas at home.&lt;/p&gt;

&lt;p&gt;The three tools that come up most often are &lt;strong&gt;Cisco Modeling Labs (CML)&lt;/strong&gt;, &lt;strong&gt;INE's cloud labs&lt;/strong&gt;, and &lt;strong&gt;GNS3&lt;/strong&gt;. They overlap, but they are not interchangeable.&lt;/p&gt;

&lt;p&gt;My short take:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CML&lt;/strong&gt; is the best foundation for serious Cisco-centric lab work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;INE&lt;/strong&gt; is best when you want structured, ready-to-run scenarios&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GNS3&lt;/strong&gt; is still excellent when budget and flexibility matter most&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;CML&lt;/th&gt;
&lt;th&gt;INE&lt;/th&gt;
&lt;th&gt;GNS3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;~$200/year&lt;/td&gt;
&lt;td&gt;~$20 to $50/month&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Official Cisco images&lt;/td&gt;
&lt;td&gt;Yes, included&lt;/td&gt;
&lt;td&gt;Yes, in provider labs&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local lab control&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No, cloud only&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom topologies&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;Limited compared to local builds&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modern Cisco platform support&lt;/td&gt;
&lt;td&gt;Strong&lt;/td&gt;
&lt;td&gt;Strong in prebuilt labs&lt;/td&gt;
&lt;td&gt;Mixed, depends on images and host resources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for&lt;/td&gt;
&lt;td&gt;Cisco-focused engineers, repeatable deep labs&lt;/td&gt;
&lt;td&gt;Structured practice&lt;/td&gt;
&lt;td&gt;Budget builds, mixed-vendor labs, experimentation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  1. CML is the strongest base for Cisco-heavy labs
&lt;/h2&gt;

&lt;p&gt;CML wins when you want a lab that feels like an engineering sandbox, not just a training portal.&lt;/p&gt;

&lt;p&gt;The biggest advantage is simple: &lt;strong&gt;you get legitimate Cisco images out of the box&lt;/strong&gt;. That removes the messiest part of home labbing, especially if you want to work with IOS-XE, IOS-XR, NX-OS, or ASAv without hunting around for images and licenses.&lt;/p&gt;

&lt;p&gt;That matters a lot if your lab goals include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;routing protocol behavior&lt;/li&gt;
&lt;li&gt;BGP policy testing&lt;/li&gt;
&lt;li&gt;MPLS or segment routing experiments&lt;/li&gt;
&lt;li&gt;EVPN and VXLAN topologies&lt;/li&gt;
&lt;li&gt;firewall and services integration&lt;/li&gt;
&lt;li&gt;repeatable topology snapshots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CML is also one of the few options that makes it realistic to build larger topologies and keep iterating on them. You can save a base design, clone it, break it on purpose, and rebuild quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why engineers like it
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Legal Cisco image access&lt;/li&gt;
&lt;li&gt;Good support for modern Cisco virtual platforms&lt;/li&gt;
&lt;li&gt;API access for automation and repeatable topology deployment&lt;/li&gt;
&lt;li&gt;Better fit for protocol deep dives than point-and-click training labs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where it hurts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It wants real hardware, especially RAM&lt;/li&gt;
&lt;li&gt;Apple Silicon support is still awkward because x86 emulation costs performance&lt;/li&gt;
&lt;li&gt;It is a blank canvas, which is great for engineers but less friendly for beginners&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's the kind of simple config loop CML is great for when you're testing and retesting behavior:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;! R1
router ospf 1
 router-id 1.1.1.1
 network 10.0.12.0 0.0.0.255 area 0
 network 1.1.1.1 0.0.0.0 area 0
!
interface GigabitEthernet2
 ip address 10.0.12.1 255.255.255.0
 ip ospf network point-to-point
 no shutdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;! R2
router ospf 1
 router-id 2.2.2.2
 network 10.0.12.0 0.0.0.255 area 0
 network 2.2.2.2 0.0.0.0 area 0
!
interface GigabitEthernet2
 ip address 10.0.12.2 255.255.255.0
 ip ospf network point-to-point
 no shutdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That looks trivial, but once you scale it into 12 to 20 nodes and start layering redistribution, overlays, services, and failure testing, the choice of platform starts to matter a lot.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. INE is best when you want fast, structured reps
&lt;/h2&gt;

&lt;p&gt;INE solves a different problem.&lt;/p&gt;

&lt;p&gt;Its biggest strength is not topology freedom. It's &lt;strong&gt;friction reduction&lt;/strong&gt;. If you want a lab launched for you, with a workbook or a guided task waiting, INE is much faster than building everything yourself.&lt;/p&gt;

&lt;p&gt;That makes it useful when you want:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;guided labs instead of blank topologies&lt;/li&gt;
&lt;li&gt;repeatable drills with less setup overhead&lt;/li&gt;
&lt;li&gt;cloud access from a lighter laptop&lt;/li&gt;
&lt;li&gt;a structured path through topics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a lot of engineers, that structure is worth paying for. It removes the "I spent 45 minutes wiring a lab and 20 minutes actually learning" problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why engineers like it
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Prebuilt scenarios&lt;/li&gt;
&lt;li&gt;Fast start time&lt;/li&gt;
&lt;li&gt;Good for focused drills and guided progression&lt;/li&gt;
&lt;li&gt;No need to run a heavy local lab server&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where it hurts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Monthly cost adds up fast&lt;/li&gt;
&lt;li&gt;Cloud dependency means no internet, no lab&lt;/li&gt;
&lt;li&gt;You are working inside someone else's topology design most of the time&lt;/li&gt;
&lt;li&gt;It is not the best place for open-ended architecture experiments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My practical read: &lt;strong&gt;INE is a great complement to a local lab, not always a replacement for one&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. GNS3 is still the best zero-dollar power tool
&lt;/h2&gt;

&lt;p&gt;GNS3 remains useful because it is flexible, familiar, and free.&lt;/p&gt;

&lt;p&gt;If you are early in your journey, building mixed-vendor labs, or testing ideas that do not depend on bundled Cisco images, GNS3 still does a lot of work for the price of zero.&lt;/p&gt;

&lt;p&gt;It is especially good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;budget home labs&lt;/li&gt;
&lt;li&gt;combining routers, Linux VMs, containers, and appliances&lt;/li&gt;
&lt;li&gt;mixed-vendor experiments&lt;/li&gt;
&lt;li&gt;learning how virtual network topologies actually fit together&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why engineers like it
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Free and mature&lt;/li&gt;
&lt;li&gt;Huge community footprint&lt;/li&gt;
&lt;li&gt;Flexible enough for lots of weird lab ideas&lt;/li&gt;
&lt;li&gt;Strong choice when your environment is not Cisco-only&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where it hurts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No official Cisco image bundle&lt;/li&gt;
&lt;li&gt;Modern Cisco virtual platforms can be more painful to run well&lt;/li&gt;
&lt;li&gt;Stability and performance depend more heavily on how you assemble the environment&lt;/li&gt;
&lt;li&gt;Support is community-driven&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GNS3 is still very good. It is just not the cleanest answer when your goal is repeatable Cisco production-style behavior with minimal licensing ambiguity.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should you choose?
&lt;/h2&gt;

&lt;p&gt;Here's the practical version.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose CML if:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;you work primarily in Cisco environments&lt;/li&gt;
&lt;li&gt;you want protocol and topology freedom&lt;/li&gt;
&lt;li&gt;you care about legal image access&lt;/li&gt;
&lt;li&gt;you want to automate lab deployment through an API&lt;/li&gt;
&lt;li&gt;you plan to keep and evolve labs over time&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choose INE if:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;you learn best from guided scenarios&lt;/li&gt;
&lt;li&gt;you want to spend more time practicing and less time building&lt;/li&gt;
&lt;li&gt;you do not want to maintain local lab infrastructure&lt;/li&gt;
&lt;li&gt;you mainly need focused reps, not open-ended design work&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choose GNS3 if:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;budget matters most&lt;/li&gt;
&lt;li&gt;you want maximum flexibility&lt;/li&gt;
&lt;li&gt;you are building mixed-vendor or hybrid labs&lt;/li&gt;
&lt;li&gt;you are comfortable owning more of the setup and troubleshooting yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  My recommendation
&lt;/h3&gt;

&lt;p&gt;For most serious Cisco-focused engineers, the strongest setup is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;CML as the main lab platform&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;INE when you want guided drills&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GNS3 when you need cheap flexibility or mixed-vendor experimentation&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you can only pick one, I would pick &lt;strong&gt;CML&lt;/strong&gt; for deep Cisco lab work and &lt;strong&gt;GNS3&lt;/strong&gt; for budget-first lab work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost reality
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;18-month cost&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CML Personal&lt;/td&gt;
&lt;td&gt;~$300&lt;/td&gt;
&lt;td&gt;Cheapest legal Cisco-first path over time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;INE&lt;/td&gt;
&lt;td&gt;~$360 to $900&lt;/td&gt;
&lt;td&gt;Depends on plan and duration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GNS3&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;Software is free, hardware and images are the real variables&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That cost discussion matters less if the platform saves you dozens of hours or helps you run more realistic labs. Cheap tools are not actually cheap if they slow down every session.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical setup advice
&lt;/h2&gt;

&lt;p&gt;A few things matter more than the logo on the platform:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use a dedicated lab box if you can.&lt;/strong&gt; CPU and RAM solve more problems than brand debates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Save base topologies.&lt;/strong&gt; Rebuilding the same underlay every time is wasted energy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice failure, not just configuration.&lt;/strong&gt; Break adjacencies, corrupt policy, fail links, then recover.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a known-good config library.&lt;/strong&gt; Good labs come from fast iteration, not retyping from scratch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time your sessions.&lt;/strong&gt; Even outside certification study, time pressure reveals weak spots in your workflow.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;If you want the cleanest and most engineer-friendly Cisco lab platform in 2026, &lt;strong&gt;CML is the strongest default&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you want fast guided reps, &lt;strong&gt;INE is excellent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you want the most flexible zero-cost lab tool, &lt;strong&gt;GNS3 still absolutely belongs in the conversation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The right answer is less about hype and more about how you work: blank-canvas experimentation, guided repetition, or budget-first flexibility.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: This Dev.to post was adapted with AI assistance from the original FirstPassLab article. The canonical version is published on firstpasslab.com.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>cisco</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>22 Fortinet Patches, 2 Ivanti Auth Bypasses, 9 Intel UEFI Bugs — Your March 2026 Patching Cheat Sheet</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Sat, 04 Apr 2026 16:56:43 +0000</pubDate>
      <link>https://forem.com/firstpasslab/22-fortinet-patches-2-ivanti-auth-bypasses-9-intel-uefi-bugs-your-march-2026-patching-cheat-282</link>
      <guid>https://forem.com/firstpasslab/22-fortinet-patches-2-ivanti-auth-bypasses-9-intel-uefi-bugs-your-march-2026-patching-cheat-282</guid>
      <description>&lt;p&gt;Fortinet dropped 22 security patches on March 11, 2026, including a FortiOS authentication bypass (CVE-2026-22153) that lets unauthenticated attackers slip past LDAP-based VPN and FSSO policies. The same patch cycle addresses a heap buffer overflow (CVE-2025-25249) in FortiOS and FortiSwitchManager enabling remote code execution. Ivanti simultaneously patched a high-severity auth bypass in Endpoint Manager. If you manage FortiGate firewalls, Ivanti EPM, or Intel-based infrastructure, here's your prioritized action plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; FortiOS 7.6.0–7.6.4 has an auth bypass that grants unauthorized network access without credentials. Patch to 7.6.5+ immediately if you use Agentless VPN or FSSO with LDAP.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Fortinet Patch Dump: What Actually Matters
&lt;/h2&gt;

&lt;p&gt;Fortinet released fixes for 22 security defects across its portfolio. Here's the breakdown of what you need to care about:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CVE&lt;/th&gt;
&lt;th&gt;Product&lt;/th&gt;
&lt;th&gt;CVSS&lt;/th&gt;
&lt;th&gt;Impact&lt;/th&gt;
&lt;th&gt;Exploited?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CVE-2026-22153&lt;/td&gt;
&lt;td&gt;FortiOS 7.6.0–7.6.4&lt;/td&gt;
&lt;td&gt;7.2&lt;/td&gt;
&lt;td&gt;Auth bypass (LDAP/VPN/FSSO)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CVE-2025-25249&lt;/td&gt;
&lt;td&gt;FortiOS, FortiSASE, FortiSwitchManager&lt;/td&gt;
&lt;td&gt;7.4&lt;/td&gt;
&lt;td&gt;RCE via heap overflow&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CVE-2026-24018&lt;/td&gt;
&lt;td&gt;FortiClientLinux&lt;/td&gt;
&lt;td&gt;7.4&lt;/td&gt;
&lt;td&gt;Local privesc to root&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CVE-2026-30897&lt;/td&gt;
&lt;td&gt;FortiOS API&lt;/td&gt;
&lt;td&gt;5.9&lt;/td&gt;
&lt;td&gt;Stack overflow / code exec&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;FortiWeb&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Auth rate-limit bypass&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;FortiSwitchAXFixed&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Unauthorized cmd exec&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;None are currently exploited in the wild. But Fortinet's track record says exploitation follows disclosure by &lt;em&gt;days&lt;/em&gt;, not weeks. CVE-2026-24858 — a related FortiOS SSO auth bypass — was actively exploited in January 2026 with attackers creating rogue admin accounts before patches even shipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  CVE-2026-22153: The Auth Bypass You Need to Fix Today
&lt;/h2&gt;

&lt;p&gt;This is a CWE-288 authentication bypass in FortiOS that lets an unauthenticated attacker bypass LDAP authentication for Agentless VPN or FSSO policies. Successful exploitation grants unauthorized access to network resources &lt;strong&gt;without valid credentials&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The catch: it requires a specific LDAP server configuration. But Agentless VPN and FSSO are exactly the features that enterprise networks deploy at scale. If your FortiGate authenticates remote users or maps AD users to firewall policies via FSSO, you're in the blast radius.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; FortiOS 7.6.0 through 7.6.4&lt;br&gt;
&lt;strong&gt;Fix:&lt;/strong&gt; Update to FortiOS 7.6.5+&lt;/p&gt;
&lt;h2&gt;
  
  
  CVE-2025-25249: Heap Overflow → Remote Code Execution
&lt;/h2&gt;

&lt;p&gt;A heap-based buffer overflow (CWE-122) in the &lt;code&gt;cw_acd&lt;/code&gt; daemon of FortiOS and FortiSwitchManager. Remote unauthenticated attackers can execute arbitrary code via crafted requests.&lt;/p&gt;

&lt;p&gt;The version spread is brutal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FortiOS 7.6.0–7.6.3&lt;/li&gt;
&lt;li&gt;FortiOS 7.4.0–7.4.8&lt;/li&gt;
&lt;li&gt;FortiOS 7.2.0–7.2.11&lt;/li&gt;
&lt;li&gt;FortiOS 7.0.0–7.0.17&lt;/li&gt;
&lt;li&gt;FortiOS 6.4.0–6.4.16&lt;/li&gt;
&lt;li&gt;FortiSwitchManager 7.2.0–7.2.5&lt;/li&gt;
&lt;li&gt;FortiSwitchManager 7.0.0–7.0.5&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That covers essentially every FortiOS release train still in production.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ivanti: Two More Auth Problems
&lt;/h2&gt;

&lt;p&gt;Ivanti released patches in Endpoint Manager 2024 SU5:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CVE&lt;/th&gt;
&lt;th&gt;CVSS&lt;/th&gt;
&lt;th&gt;Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CVE-2026-1603&lt;/td&gt;
&lt;td&gt;7.4&lt;/td&gt;
&lt;td&gt;Auth bypass exposing credential data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CVE-2026-1602&lt;/td&gt;
&lt;td&gt;5.3&lt;/td&gt;
&lt;td&gt;SQL injection&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;CVE-2026-1603 is the bigger concern — an auth bypass that exposes credential data remotely. Given Ivanti's history (CVE-2025-22457 in Connect Secure was a zero-day RCE exploited before the patch), don't sit on this one.&lt;/p&gt;
&lt;h2&gt;
  
  
  Your Prioritized Patching Plan
&lt;/h2&gt;

&lt;p&gt;Based on severity, exploitability, and typical network exposure:&lt;/p&gt;
&lt;h3&gt;
  
  
  Priority 1: FortiOS 7.6.x (CVE-2026-22153) — This Week
&lt;/h3&gt;

&lt;p&gt;If you run Agentless VPN or FSSO with LDAP authentication, this is job #1.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check your current FortiOS version&lt;/span&gt;
get system status

&lt;span class="c"&gt;# Verify LDAP server configuration&lt;/span&gt;
show user ldap

&lt;span class="c"&gt;# Check if Agentless VPN or FSSO is configured&lt;/span&gt;
show user fsso
diagnose debug application fssod &lt;span class="nt"&gt;-1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Priority 2: FortiOS/FortiSwitchManager (CVE-2025-25249) — Within 2 Weeks
&lt;/h3&gt;

&lt;p&gt;The heap overflow affects nearly all FortiOS versions. Attack complexity is high, but impact is full RCE. Schedule alongside your CVE-2026-22153 patching.&lt;/p&gt;

&lt;h3&gt;
  
  
  Priority 3: FortiClientLinux (CVE-2026-24018) — Next Maintenance Window
&lt;/h3&gt;

&lt;p&gt;Local privesc to root via symlink following. If you deploy FortiClient on Linux endpoints, queue it up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Priority 4: Ivanti EPM (CVE-2026-1603) — Within 2 Weeks
&lt;/h3&gt;

&lt;p&gt;Update to EPM 2024 SU5. Auth bypass + credential exposure = potential cascade.&lt;/p&gt;

&lt;h3&gt;
  
  
  Priority 5: Intel UEFI Firmware — Next Quarterly Window
&lt;/h3&gt;

&lt;p&gt;Intel published advisory INTEL-SA-01234 with nine UEFI vulnerabilities across 45+ processor models. Five rated high severity. Requires local access, so lower urgency — but UEFI compromises persist across OS reinstalls.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Fortinet Keep Having Auth Bypasses?
&lt;/h2&gt;

&lt;p&gt;This is the pattern that should concern you: multiple authentication bypass vulnerabilities within Q1 2026 alone.&lt;/p&gt;

&lt;p&gt;CVE-2026-24858 was actively exploited as a zero-day in January:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Attackers created unauthorized local admin accounts on FortiGate appliances&lt;/li&gt;
&lt;li&gt;Downloaded full device configurations (including VPN credentials)&lt;/li&gt;
&lt;li&gt;Modified firewall policies to enable persistent access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now CVE-2026-22153 arrives — another auth bypass, same vulnerability class (CWE-288). This suggests a systemic issue in how FortiOS handles authentication flows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If Fortinet is your primary perimeter defense:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don't rely solely on FortiGate for auth — integrate with a dedicated IdP&lt;/li&gt;
&lt;li&gt;Enforce MFA at every layer&lt;/li&gt;
&lt;li&gt;Monitor for config changes via FortiAnalyzer or SIEM&lt;/li&gt;
&lt;li&gt;Consider defense-in-depth beyond a single-vendor auth stack&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Post-Patch: Check for Pre-Patch Exploitation
&lt;/h2&gt;

&lt;p&gt;Even after patching, verify these weren't exploited before your update window:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For CVE-2026-22153 (LDAP bypass):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check for unexpected VPN sessions&lt;/span&gt;
diagnose vpn tunnel list
get vpn ssl monitor

&lt;span class="c"&gt;# Review admin login history&lt;/span&gt;
diagnose sys admin list

&lt;span class="c"&gt;# Check for unauthorized policy changes&lt;/span&gt;
execute log filter device 0
execute log filter category 1
execute log display
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;For CVE-2025-25249 (heap overflow):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Monitor crashlog for cw_acd daemon&lt;/span&gt;
diagnose debug crashlog &lt;span class="nb"&gt;read&lt;/span&gt;

&lt;span class="c"&gt;# Check for unexpected processes&lt;/span&gt;
fnsysctl &lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt; /tmp/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;For Ivanti EPM (CVE-2026-1603):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review EPM audit logs for unusual auth events&lt;/li&gt;
&lt;li&gt;Check for new/modified admin accounts&lt;/li&gt;
&lt;li&gt;Monitor SQL query logs for injection patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Bigger March 2026 Picture
&lt;/h2&gt;

&lt;p&gt;This wasn't just Fortinet and Ivanti. March 2026 was one of the heaviest patch loads of the year:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Microsoft:&lt;/strong&gt; 83 vulnerabilities including two publicly disclosed zero-days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adobe:&lt;/strong&gt; 80 vulnerabilities across eight products&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SAP:&lt;/strong&gt; Critical NetWeaver flaws&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Siemens, Schneider, Moxa, Mitsubishi Electric:&lt;/strong&gt; ICS/OT patches&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you haven't built an automated patch validation pipeline (test → staging → production), March 2026 is your wake-up call.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-03-12-fortinet-ivanti-march-2026-critical-cves-network-engineer-patching-guide/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;. More deep dives on network security engineering at &lt;a href="https://firstpasslab.com" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: This article was adapted from original research with AI assistance in editing and formatting.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>networking</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>SRv6 uSID Is Replacing MPLS at Scale — Here's How to Migrate with Working IOS XR Configs</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Fri, 03 Apr 2026 22:56:35 +0000</pubDate>
      <link>https://forem.com/firstpasslab/srv6-usid-is-replacing-mpls-at-scale-heres-how-to-migrate-with-working-ios-xr-configs-1369</link>
      <guid>https://forem.com/firstpasslab/srv6-usid-is-replacing-mpls-at-scale-heres-how-to-migrate-with-working-ios-xr-configs-1369</guid>
      <description>&lt;p&gt;If you work in service provider networking, the question is no longer &lt;em&gt;whether&lt;/em&gt; your network will move from MPLS to SRv6 — it is &lt;em&gt;when&lt;/em&gt;. By early 2026, over &lt;strong&gt;85,000 Cisco routers&lt;/strong&gt; are running SRv6 uSID in production across more than 60 operators worldwide. Swisscom, Rakuten Mobile, SoftBank, and Jio Platforms have either completed or are actively executing their SRv6 uSID migrations.&lt;/p&gt;

&lt;p&gt;This is not a lab curiosity anymore. It is the dominant transport transformation in the SP space.&lt;/p&gt;

&lt;p&gt;In this article, we'll break down what SRv6 uSID actually is, why it matters, how to configure it on Cisco IOS XR, and how to execute a &lt;strong&gt;lossless migration&lt;/strong&gt; from legacy MPLS or SR-MPLS to SRv6 uSID F3216.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is SRv6 uSID and Why Should You Care?
&lt;/h2&gt;

&lt;p&gt;SRv6 (Segment Routing over IPv6) encodes forwarding instructions directly into IPv6 addresses. Each Segment Identifier (SID) is a 128-bit IPv6 address, and a list of SIDs in the IPv6 Segment Routing Header (SRH) describes the packet's path through the network.&lt;/p&gt;

&lt;p&gt;The problem with early SRv6 implementations was &lt;strong&gt;overhead&lt;/strong&gt;. A full 128-bit SID per hop adds up fast — four waypoints meant 64 bytes of SRH, which created MTU headaches in real networks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SRv6 micro-SIDs (uSIDs)&lt;/strong&gt; solve this by compressing multiple segment instructions into a single 128-bit IPv6 address, called a &lt;strong&gt;uSID Carrier&lt;/strong&gt;. The dominant production format is &lt;strong&gt;F3216&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;32-bit uSID Block&lt;/strong&gt; — identifies the SRv6 domain&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16-bit uSID IDs&lt;/strong&gt; — identifies specific nodes or functions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A single uSID carrier encodes up to &lt;strong&gt;6 micro-SIDs&lt;/strong&gt;, which means you can describe &lt;strong&gt;18 source-routing waypoints in only 40 bytes of overhead&lt;/strong&gt;. That is comparable to or better than an MPLS label stack for the same path complexity.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; When planning your SRv6 addressing scheme, choose your 32-bit uSID block prefix carefully. This prefix identifies your entire SRv6 domain, and changing it later requires touching every node. Treat it like your BGP AS number — pick it once, document it everywhere.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  SR-MPLS vs. SRv6 uSID: Key Differences
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Attribute&lt;/th&gt;
&lt;th&gt;SR-MPLS&lt;/th&gt;
&lt;th&gt;SRv6 uSID (F3216)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Encoding&lt;/td&gt;
&lt;td&gt;MPLS label stack&lt;/td&gt;
&lt;td&gt;IPv6 SRH with compressed uSIDs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Path description&lt;/td&gt;
&lt;td&gt;Label per hop (4 bytes each)&lt;/td&gt;
&lt;td&gt;Up to 6 waypoints per 16-byte carrier&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data plane&lt;/td&gt;
&lt;td&gt;MPLS forwarding&lt;/td&gt;
&lt;td&gt;Native IPv6 forwarding&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Programmability&lt;/td&gt;
&lt;td&gt;Limited to label operations&lt;/td&gt;
&lt;td&gt;Full IPv6 extension header programmability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network slicing&lt;/td&gt;
&lt;td&gt;Complex, requires dedicated LSPs&lt;/td&gt;
&lt;td&gt;Native support via FlexAlgo + uSID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The programmability advantage is significant. With SRv6, you can define custom behaviors (called SRv6 functions) at each segment endpoint — enabling service chaining, VPN overlay binding, and traffic engineering that would require multiple protocol interactions in MPLS.&lt;/p&gt;




&lt;h2&gt;
  
  
  Configuring SRv6 uSID on Cisco IOS XR
&lt;/h2&gt;

&lt;p&gt;Let's walk through a complete SRv6 uSID deployment on a Cisco 8000 Series router running IOS XR.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Define SRv6 Locators
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;locator&lt;/strong&gt; is the foundation of your SRv6 configuration. It defines the prefix that the router will use to generate its local SIDs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;segment-routing&lt;/span&gt; srv6
&lt;span class="k"&gt; encapsulation&lt;/span&gt;
&lt;span class="k"&gt;  source-address&lt;/span&gt; fcbb:bb00:0001::1
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; locators&lt;/span&gt;
&lt;span class="k"&gt;  locator&lt;/span&gt; myuSID
&lt;span class="k"&gt;   micro-segment&lt;/span&gt; behavior unode psp-usd
&lt;span class="k"&gt;   prefix&lt;/span&gt; fcbb:bb00:0001::/48
&lt;span class="k"&gt;  !&lt;/span&gt;
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;source-address&lt;/code&gt; is the IPv6 address used as the outer source in SRv6-encapsulated packets. It must be reachable in your IGP.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;micro-segment behavior unode psp-usd&lt;/code&gt; enables the F3216 uSID format with Penultimate Segment Pop (PSP) and Ultimate Segment Decapsulation (USD) behaviors.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;/48&lt;/code&gt; prefix defines the locator block. The first 32 bits (&lt;code&gt;fcbb:bb00&lt;/code&gt;) are the uSID block, and bits 33-48 (&lt;code&gt;0001&lt;/code&gt;) are this node's uSID ID.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Always use &lt;code&gt;psp-usd&lt;/code&gt; as your default uSID behavior. PSP removes the SRH at the penultimate hop, reducing processing overhead on the endpoint node. USD handles decapsulation cleanly when this node is the final destination.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 2: Integrate with IS-IS
&lt;/h3&gt;

&lt;p&gt;IS-IS advertises SRv6 locator reachability across the network:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="kt"&gt;router isis&lt;/span&gt;&lt;span class="nf"&gt; CORE&lt;/span&gt;
&lt;span class="k"&gt; is-type&lt;/span&gt; level-2-only
&lt;span class="k"&gt; net&lt;/span&gt; &lt;span class="m"&gt;49.0001.0000.0000.0001.00&lt;/span&gt;
&lt;span class="k"&gt; address-family&lt;/span&gt; ipv6 unicast
&lt;span class="k"&gt;  metric-style&lt;/span&gt; wide
&lt;span class="k"&gt;  segment-routing&lt;/span&gt; srv6
&lt;span class="k"&gt;   locator&lt;/span&gt; myuSID
&lt;span class="k"&gt;  !&lt;/span&gt;
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; interface&lt;/span&gt; Loopback0
&lt;span class="k"&gt;  address-family&lt;/span&gt; ipv6 unicast
&lt;span class="k"&gt;  !&lt;/span&gt;
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; interface&lt;/span&gt; HundredGigE0/0/0/0
&lt;span class="k"&gt;  point-to-point&lt;/span&gt;
&lt;span class="k"&gt;  address-family&lt;/span&gt; ipv6 unicast
&lt;span class="k"&gt;  !&lt;/span&gt;
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When applied, the router advertises its &lt;code&gt;/48&lt;/code&gt; locator prefix into IS-IS. Other routers install this as a route in their IPv6 RIB, enabling SRv6 forwarding.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Enable BGP and EVPN Overlays
&lt;/h3&gt;

&lt;p&gt;For L3VPN and EVPN services, bind the uSID locator to BGP:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="kt"&gt;router bgp&lt;/span&gt;&lt;span class="nf"&gt; 65001&lt;/span&gt;
&lt;span class="k"&gt; address-family&lt;/span&gt; vpnv4 unicast
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; address-family&lt;/span&gt; vpnv6 unicast
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; address-family&lt;/span&gt; l2vpn evpn
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; segment-routing&lt;/span&gt; srv6
&lt;span class="k"&gt;  locator&lt;/span&gt; myuSID
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; neighbor&lt;/span&gt; 2001:db8::2
&lt;span class="k"&gt;  remote-as&lt;/span&gt; 65001
&lt;span class="k"&gt;  update-source&lt;/span&gt; Loopback0
&lt;span class="k"&gt;  address-family&lt;/span&gt; vpnv4 unicast
&lt;span class="k"&gt;  !&lt;/span&gt;
&lt;span class="k"&gt;  address-family&lt;/span&gt; l2vpn evpn
&lt;span class="k"&gt;  !&lt;/span&gt;
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="c1"&gt;!&lt;/span&gt;

&lt;span class="k"&gt;evpn&lt;/span&gt;
&lt;span class="k"&gt; segment-routing&lt;/span&gt; srv6
&lt;span class="k"&gt;  locator&lt;/span&gt; myuSID
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this, BGP allocates SRv6 uSIDs for VPN prefixes and advertises them to PE peers. The receiving PE uses the uSID to forward encapsulated traffic directly over the IPv6 underlay — &lt;strong&gt;no LDP, no RSVP, no separate MPLS signaling stack&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Migration Strategy: Ship in the Night
&lt;/h2&gt;

&lt;p&gt;The most critical question for any production network: &lt;strong&gt;how do we get from MPLS to SRv6 without dropping traffic?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cisco's recommended approach is &lt;strong&gt;Ship in the Night&lt;/strong&gt; — running both forwarding planes simultaneously during the transition.&lt;/p&gt;

&lt;h3&gt;
  
  
  State 1: Initial (Legacy MPLS or SR-MPLS)
&lt;/h3&gt;

&lt;p&gt;Your network runs traditional MPLS with LDP/RSVP, or SR-MPLS with format1 SIDs. All services use MPLS transport. No SRv6 configuration exists.&lt;/p&gt;

&lt;h3&gt;
  
  
  State 2: In-Migration (Dual Mode)
&lt;/h3&gt;

&lt;p&gt;You deploy SRv6 uSID locators alongside the existing MPLS configuration. Both forwarding planes coexist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Existing MPLS/SR-MPLS control plane continues to signal labels and forward traffic&lt;/li&gt;
&lt;li&gt;SRv6 uSID locators are advertised in IS-IS concurrently&lt;/li&gt;
&lt;li&gt;BGP and EVPN are configured with uSID locators on all PE nodes&lt;/li&gt;
&lt;li&gt;Traffic can flow over either transport depending on which SIDs the ingress PE selects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the critical phase. You must enable overlay F3216 locators under BGP and EVPN on &lt;strong&gt;all PE nodes&lt;/strong&gt; before cutting over any services.&lt;/p&gt;

&lt;h3&gt;
  
  
  State 3: End State (SRv6 uSID Only)
&lt;/h3&gt;

&lt;p&gt;Once all services are verified on SRv6 uSID transport, you remove legacy MPLS configuration.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Use the &lt;code&gt;delayed-delete&lt;/code&gt; command when removing format1 locators during cutover. This keeps old SIDs active in the forwarding table for a configurable period while F3216 SIDs take over. A 60-second delay is usually sufficient for BGP to reconverge.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Migration Caveats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Line card reloads&lt;/strong&gt; may be required during hardware profile transitions on some platforms. Plan maintenance windows.&lt;/li&gt;
&lt;li&gt;Cisco 8000 Series (K100, A100 ASICs) and 8700-MOD support dual-mode natively. Verify your hardware.&lt;/li&gt;
&lt;li&gt;For mixed-vendor networks, check &lt;code&gt;draft-ietf-spring-srv6-mpls-interworking&lt;/code&gt; for SRv6-MPLS gateway interworking standards.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Verification and Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Verify SRv6 Locator Status
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;RP/0/RP0/CPU0:PE1#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show segment-routing srv6 locator
&lt;span class="go"&gt;
Name          Prefix                    Status
----          ------                    ------
myuSID        fcbb:bb00:0001::/48       Up
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If status shows &lt;strong&gt;Down&lt;/strong&gt;, check:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No prefix conflict with another locator on the same node&lt;/li&gt;
&lt;li&gt;IS-IS is configured to advertise the locator&lt;/li&gt;
&lt;li&gt;The platform supports the specified uSID behavior&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Verify IS-IS SRv6 Advertisement
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;RP/0/RP0/CPU0:PE1#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show isis segment-routing srv6 locators detail
&lt;span class="go"&gt;
IS-IS CORE Level-2 SRv6 Locators:

  Locator: myuSID
    Prefix: fcbb:bb00:0001::/48
    Topology: IPv6 Unicast
    Algorithm: 0
    Metric: 1
    Advertised: Yes
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Verify BGP SRv6 SID Allocation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;RP/0/RP0/CPU0:PE1#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show bgp vpnv4 unicast vrf CUSTOMER-A 10.1.1.0/24
&lt;span class="go"&gt;
BGP routing table entry for 10.1.1.0/24, Route Distinguisher: 65001:100
  Local
    fcbb:bb00:0001:: (via SRv6 SID: fcbb:bb00:0001:e004::)
    Origin IGP, metric 0, localpref 100, valid, sourced, best
    SRv6 SID: fcbb:bb00:0001:e004::
      Function: End.DT4
      Locator: myuSID
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;End.DT4&lt;/code&gt; function indicates a decapsulation-and-lookup behavior for IPv4 VPN traffic — the SRv6 equivalent of a VPN label in MPLS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Troubleshooting Scenarios
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SRv6 locator is Up but BGP is not allocating SIDs:&lt;/strong&gt;&lt;br&gt;
Ensure &lt;code&gt;segment-routing srv6 locator myuSID&lt;/code&gt; is configured under both &lt;code&gt;router bgp&lt;/code&gt; and &lt;code&gt;evpn&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traffic is blackholing after enabling uSID locators:&lt;/strong&gt;&lt;br&gt;
Verify all transit routers have IS-IS SRv6 locator routes in their IPv6 RIB. A single router without the locator route will drop SRv6-encapsulated packets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MTU issues after migration:&lt;/strong&gt;&lt;br&gt;
SRv6 encapsulation adds a minimum of 40 bytes (IPv6 outer header) plus SRH overhead. Core links need at least &lt;strong&gt;9216-byte MTU&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SRv6 uSID is production-ready at scale.&lt;/strong&gt; 85,000+ routers deployed globally across 60+ operators. This is not early-adopter tech.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;F3216 solves the MTU problem.&lt;/strong&gt; Six micro-SIDs per 128-bit carrier means SRv6 overhead is comparable to MPLS label stacks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ship in the Night enables lossless migration.&lt;/strong&gt; Run both planes in parallel, validate per-service, cut over at your own pace.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configuration is straightforward.&lt;/strong&gt; Three building blocks — locators, IS-IS integration, and BGP/EVPN binding — cover the majority of deployments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open-source support is growing.&lt;/strong&gt; FRRouting 10.5 now supports SRv6 uSID, extending this beyond Cisco-only shops to SONiC and other FRR-based platforms.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The MPLS-to-SRv6 migration is the defining infrastructure shift for service providers in 2026. Start with a lab, validate with Ship in the Night, and build operational confidence before touching production. The technology is ready — the question is whether you are.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-02-15-srv6-usid-migration-from-mpls/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;. For more deep dives on networking protocols and infrastructure, visit &lt;a href="https://firstpasslab.com" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI Disclosure: This article was adapted and edited with AI assistance. All technical content is based on published vendor documentation, IETF standards, and real-world deployment data.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>cisco</category>
      <category>tutorial</category>
      <category>devops</category>
    </item>
    <item>
      <title>9 AppArmor Kernel Bugs Hidden Since 2017 — Root Escalation, Container Escape, and 12.6M Linux Systems Exposed</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Fri, 03 Apr 2026 16:54:24 +0000</pubDate>
      <link>https://forem.com/firstpasslab/9-apparmor-kernel-bugs-hidden-since-2017-root-escalation-container-escape-and-126m-linux-i3p</link>
      <guid>https://forem.com/firstpasslab/9-apparmor-kernel-bugs-hidden-since-2017-root-escalation-container-escape-and-126m-linux-i3p</guid>
      <description>&lt;p&gt;Nine critical vulnerabilities in Linux AppArmor — collectively dubbed &lt;strong&gt;CrackArmor&lt;/strong&gt; by the Qualys Threat Research Unit — let any unprivileged local user escalate to root, escape container isolation, and crash entire systems via kernel panic. These flaws have existed in every kernel since v4.11 (April 2017). If you run infrastructure on Ubuntu, Debian, or SUSE — and if you use Kubernetes, your nodes almost certainly do — this is a patch-now situation.&lt;/p&gt;

&lt;p&gt;Over &lt;strong&gt;12.6 million&lt;/strong&gt; enterprise Linux instances run with AppArmor enabled by default. Here's what broke, why it matters for your containers and infrastructure, and exactly how to check and fix it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Attack Surface: What CrackArmor Actually Does
&lt;/h2&gt;

&lt;p&gt;CrackArmor exploits a &lt;strong&gt;confused deputy&lt;/strong&gt; flaw in AppArmor's kernel implementation. AppArmor is the Mandatory Access Control (MAC) framework that confines processes under security profiles — it ships enabled by default on Ubuntu, Debian, and SUSE. The nine vulnerabilities let an attacker trick privileged processes into performing actions they shouldn't.&lt;/p&gt;

&lt;p&gt;Here's the attack matrix:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Attack Vector&lt;/th&gt;
&lt;th&gt;Mechanism&lt;/th&gt;
&lt;th&gt;Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Profile manipulation&lt;/td&gt;
&lt;td&gt;Write to &lt;code&gt;/sys/kernel/security/apparmor/.load&lt;/code&gt;, &lt;code&gt;.replace&lt;/code&gt;, &lt;code&gt;.remove&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Disable protections on any service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Privilege escalation&lt;/td&gt;
&lt;td&gt;Leverage setuid binaries (sudo, postfix) to modify AppArmor profiles&lt;/td&gt;
&lt;td&gt;Full root from unprivileged user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container escape&lt;/td&gt;
&lt;td&gt;Load crafted "userns" profile to bypass namespace restrictions&lt;/td&gt;
&lt;td&gt;Break Kubernetes/container isolation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Denial of service&lt;/td&gt;
&lt;td&gt;Trigger recursive stack exhaustion via deeply nested profiles&lt;/td&gt;
&lt;td&gt;Kernel panic and reboot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;KASLR bypass&lt;/td&gt;
&lt;td&gt;Out-of-bounds read during profile parsing&lt;/td&gt;
&lt;td&gt;Disclose kernel memory layout&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The Qualys advisory puts it simply: "This is comparable to an intruder convincing a building manager with master keys to open restricted vaults that the intruder cannot enter alone." The attacker doesn't need special permissions — they manipulate the privileged machinery that already exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters for Your Containers and Infrastructure
&lt;/h2&gt;

&lt;p&gt;AppArmor isn't just an abstract kernel feature. It's the &lt;strong&gt;trust boundary&lt;/strong&gt; for a massive amount of production infrastructure:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kubernetes clusters.&lt;/strong&gt; According to Kubernetes docs, AppArmor profiles are the recommended mechanism to "restrict a container's access to resources." CrackArmor breaks that restriction entirely. An attacker inside any container can escape to the host, then pivot to other containers — controllers, databases, monitoring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linux-based appliances.&lt;/strong&gt; Many firewalls, SDN controllers, and network appliances ship Ubuntu or Debian under the hood with AppArmor enabled. A local exploit on any of these devices means full control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NFV and edge deployments.&lt;/strong&gt; Containerized network functions and edge computing nodes use AppArmor to isolate workloads. A container escape in these environments doesn't just compromise one function — it can expose the entire control plane.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CI/CD systems and jump boxes.&lt;/strong&gt; If your build infrastructure or management stations run affected distros, an attacker with unprivileged access (stolen SSH creds, compromised service account) gets root.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Infrastructure Component&lt;/th&gt;
&lt;th&gt;AppArmor Exposure&lt;/th&gt;
&lt;th&gt;Risk Level&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Kubernetes nodes (Ubuntu/Debian)&lt;/td&gt;
&lt;td&gt;AppArmor profiles per pod&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Critical&lt;/strong&gt; — container escape&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux-based firewalls/appliances&lt;/td&gt;
&lt;td&gt;Often enabled by default&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Critical&lt;/strong&gt; — root = device control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NFV / edge platforms&lt;/td&gt;
&lt;td&gt;Default MAC enforcement&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;High&lt;/strong&gt; — lateral movement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI/CD runners / jump boxes&lt;/td&gt;
&lt;td&gt;Varies&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;High&lt;/strong&gt; — pivot to production&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Red Hat / CentOS / Fedora&lt;/td&gt;
&lt;td&gt;SELinux (not AppArmor)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Not affected&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4r14s5mx3tp8sb51oo8j.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4r14s5mx3tp8sb51oo8j.webp" alt="CrackArmor Technical Architecture" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How the Container Escape Works
&lt;/h2&gt;

&lt;p&gt;This is the most dangerous chain for anyone running Kubernetes or Docker.&lt;/p&gt;

&lt;p&gt;Ubuntu's user-namespace restrictions were specifically designed to prevent unprivileged users from creating fully-capable namespaces. CrackArmor bypasses this by loading a specially crafted "userns" profile for &lt;code&gt;/usr/bin/time&lt;/code&gt;, enabling an attacker to create namespaces with full capabilities.&lt;/p&gt;

&lt;p&gt;In a Kubernetes environment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Attacker gains shell inside a container (compromised app, RCE in a dependency)&lt;/li&gt;
&lt;li&gt;Exploits CrackArmor to escape to the host node&lt;/li&gt;
&lt;li&gt;From the host, accesses all other containers on that node&lt;/li&gt;
&lt;li&gt;Kubernetes AppArmor security boundary = nullified&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The DoS path is equally nasty: deeply nested profiles trigger recursive removal routines that overflow the 16KB kernel stack, causing immediate kernel panic. An unexpected reboot of your K8s node is a production outage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Am I Affected? Check in 10 Seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check if AppArmor is loaded&lt;/span&gt;
aa-status 2&amp;gt;/dev/null &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"AppArmor ACTIVE - check kernel version"&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"AppArmor not active"&lt;/span&gt;

&lt;span class="c"&gt;# Check kernel version (v4.11+ is vulnerable if AppArmor is active)&lt;/span&gt;
&lt;span class="nb"&gt;uname&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this across your infrastructure — not just servers. Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes worker/control-plane nodes&lt;/li&gt;
&lt;li&gt;CI/CD runners (GitHub Actions self-hosted, GitLab runners, Jenkins agents)&lt;/li&gt;
&lt;li&gt;Docker hosts&lt;/li&gt;
&lt;li&gt;Network appliances and firewalls on Linux&lt;/li&gt;
&lt;li&gt;Jump boxes and bastion hosts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Any distro using AppArmor + kernel ≥ v4.11 without March 2026 patches&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Distribution&lt;/th&gt;
&lt;th&gt;Affected?&lt;/th&gt;
&lt;th&gt;Patch Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ubuntu (all supported)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Yes&lt;/strong&gt; — AppArmor default&lt;/td&gt;
&lt;td&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Debian (bookworm, trixie)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Yes&lt;/strong&gt; — AppArmor default&lt;/td&gt;
&lt;td&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SUSE / openSUSE&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Yes&lt;/strong&gt; — AppArmor default&lt;/td&gt;
&lt;td&gt;&lt;code&gt;zypper refresh &amp;amp;&amp;amp; zypper update&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Red Hat / CentOS / Fedora&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;No&lt;/strong&gt; — uses SELinux&lt;/td&gt;
&lt;td&gt;Not affected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alpine Linux&lt;/td&gt;
&lt;td&gt;Varies&lt;/td&gt;
&lt;td&gt;Check &lt;code&gt;aa-status&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Patch Now: Step-by-Step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ubuntu / Debian
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt; linux-image-&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;uname&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  SUSE
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;zypper refresh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;zypper update kernel-default
&lt;span class="nb"&gt;sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yes, reboots are required — this is a kernel-level fix.&lt;/p&gt;

&lt;h3&gt;
  
  
  Post-Patch: Audit Profile Integrity
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# List all loaded profiles and enforcement mode&lt;/span&gt;
aa-status

&lt;span class="c"&gt;# Check for unexpected profiles&lt;/span&gt;
&lt;span class="nb"&gt;ls&lt;/span&gt; /etc/apparmor.d/

&lt;span class="c"&gt;# Verify no profiles were modified recently&lt;/span&gt;
find /etc/apparmor.d/ &lt;span class="nt"&gt;-mtime&lt;/span&gt; &lt;span class="nt"&gt;-7&lt;/span&gt; &lt;span class="nt"&gt;-ls&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Harden Kubernetes After Patching
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Ensure AppArmor annotations are enforced on pods&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;container.apparmor.security.beta.kubernetes.io/my-container&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;runtime/default&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure admission controllers to &lt;strong&gt;reject pods without AppArmor profiles&lt;/strong&gt; — a post-patch hardening step that prevents future profile manipulation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3jf9tlybt1hgjj2xcx2l.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3jf9tlybt1hgjj2xcx2l.webp" alt="CrackArmor Industry Impact" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  CVE Status: Don't Wait for Numbers
&lt;/h2&gt;

&lt;p&gt;As of mid-March 2026, &lt;strong&gt;no CVE identifiers have been assigned&lt;/strong&gt;. The upstream kernel team typically assigns CVEs 1-2 weeks after fixes land in stable releases. Qualys has published the full technical advisory and proof-of-concept details.&lt;/p&gt;

&lt;p&gt;Do not wait for CVE assignment to justify patching. The exploit details are public.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context: How CrackArmor Compares
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Vulnerability&lt;/th&gt;
&lt;th&gt;Attack Vector&lt;/th&gt;
&lt;th&gt;Impact&lt;/th&gt;
&lt;th&gt;Key Difference&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CrackArmor (AppArmor)&lt;/td&gt;
&lt;td&gt;Local unprivileged&lt;/td&gt;
&lt;td&gt;Root + container escape&lt;/td&gt;
&lt;td&gt;Requires local access first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fortinet FortiOS CVE-2025-24472&lt;/td&gt;
&lt;td&gt;Remote unauth&lt;/td&gt;
&lt;td&gt;Super-admin access&lt;/td&gt;
&lt;td&gt;No local access needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ivanti Connect Secure CVE-2025-22467&lt;/td&gt;
&lt;td&gt;Authenticated remote&lt;/td&gt;
&lt;td&gt;Remote code execution&lt;/td&gt;
&lt;td&gt;Needs valid credentials&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;CrackArmor requires local access — but in environments where attackers already have a foothold (compromised container, stolen SSH key, malicious insider), it turns limited access into &lt;strong&gt;total control&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Defense in depth isn't optional.&lt;/strong&gt; AppArmor was one layer. When it failed, containers, namespaces, and privilege boundaries all failed together. Layer your controls independently — don't rely on a single MAC framework.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Know your attack surface.&lt;/strong&gt; CrackArmor needs local access first. Your SSH hardening, network access controls, and authentication policies are the real first line. If an attacker can't get local access, CrackArmor is irrelevant.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Patch management is engineering, not ops.&lt;/strong&gt; The ability to rapidly identify, test, and deploy kernel patches across heterogeneous infrastructure is a core engineering competency — not an afterthought.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-03-16-linux-apparmor-crackarmor-vulnerabilities-network-security-engineer-guide/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;. For more deep dives on network security, cloud architecture, and infrastructure engineering, visit &lt;a href="https://firstpasslab.com" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;🤖 AI Disclosure: This article was adapted from the original blog post with AI assistance. The technical content, vulnerability analysis, and remediation steps are based on primary sources including the Qualys CrackArmor advisory and vendor security bulletins.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>security</category>
      <category>kubernetes</category>
      <category>devops</category>
    </item>
    <item>
      <title>386 Global Outages in One Week: What ThousandEyes Q1 2026 Data Reveals About Modern Network Fragility</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Thu, 02 Apr 2026 22:53:25 +0000</pubDate>
      <link>https://forem.com/firstpasslab/386-global-outages-in-one-week-what-thousandeyes-q1-2026-data-reveals-about-modern-network-526c</link>
      <guid>https://forem.com/firstpasslab/386-global-outages-in-one-week-what-thousandeyes-q1-2026-data-reveals-about-modern-network-526c</guid>
      <description>&lt;p&gt;Cisco ThousandEyes tracked between 199 and 386 global network outage events per week during Q1 2026, with a 62% spike during the last week of February. The defining outage pattern of 2026 isn't broken components — it's systems interacting in ways nobody designed for.&lt;/p&gt;

&lt;p&gt;If your monitoring stops at your network boundary, you're blind to the failures that actually hit your users.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Numbers: Q1 2026 Outage Data
&lt;/h2&gt;

&lt;p&gt;ThousandEyes monitors ISPs, cloud service providers, conferencing services, and edge networks (DNS, CDN, SECaaS). Here's the week-by-week breakdown:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Week&lt;/th&gt;
&lt;th&gt;Global Outages&lt;/th&gt;
&lt;th&gt;WoW Change&lt;/th&gt;
&lt;th&gt;U.S. Outages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dec 29 – Jan 4&lt;/td&gt;
&lt;td&gt;199&lt;/td&gt;
&lt;td&gt;−14%&lt;/td&gt;
&lt;td&gt;71&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 5 – Jan 11&lt;/td&gt;
&lt;td&gt;255&lt;/td&gt;
&lt;td&gt;+28%&lt;/td&gt;
&lt;td&gt;135&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 12 – Jan 18&lt;/td&gt;
&lt;td&gt;263&lt;/td&gt;
&lt;td&gt;+3%&lt;/td&gt;
&lt;td&gt;149&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 19 – Jan 25&lt;/td&gt;
&lt;td&gt;236&lt;/td&gt;
&lt;td&gt;−10%&lt;/td&gt;
&lt;td&gt;148&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 26 – Feb 1&lt;/td&gt;
&lt;td&gt;314&lt;/td&gt;
&lt;td&gt;+33%&lt;/td&gt;
&lt;td&gt;156&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 2 – Feb 8&lt;/td&gt;
&lt;td&gt;264&lt;/td&gt;
&lt;td&gt;−16%&lt;/td&gt;
&lt;td&gt;157&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 9 – Feb 15&lt;/td&gt;
&lt;td&gt;247&lt;/td&gt;
&lt;td&gt;−6%&lt;/td&gt;
&lt;td&gt;136&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 16 – Feb 22&lt;/td&gt;
&lt;td&gt;239&lt;/td&gt;
&lt;td&gt;−3%&lt;/td&gt;
&lt;td&gt;114&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Feb 23 – Mar 1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;386&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+62%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;184&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar 2 – Mar 8&lt;/td&gt;
&lt;td&gt;304&lt;/td&gt;
&lt;td&gt;−21%&lt;/td&gt;
&lt;td&gt;124&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar 9 – Mar 15&lt;/td&gt;
&lt;td&gt;272&lt;/td&gt;
&lt;td&gt;−11%&lt;/td&gt;
&lt;td&gt;155&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar 16 – Mar 22&lt;/td&gt;
&lt;td&gt;277&lt;/td&gt;
&lt;td&gt;+2%&lt;/td&gt;
&lt;td&gt;144&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The January 5–11 week saw U.S. outages surge 90% (71 → 135) as operations resumed after the holiday change-freeze period. Global outages increased 178% from November to December 2025, rising from 421 to 1,170 monthly incidents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2F2026-network-outage-report-thousandeyes-internet-health-enterprise-resilience%2Finfographic-tech.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2F2026-network-outage-report-thousandeyes-internet-health-enterprise-resilience%2Finfographic-tech.png" alt="2026 Network Outage Report Technical Architecture" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Biggest Outages: Who Went Down and Why
&lt;/h2&gt;

&lt;p&gt;The highest-profile incidents hit Tier 1 carriers, cloud platforms, and critical infrastructure:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Duration&lt;/th&gt;
&lt;th&gt;Regions&lt;/th&gt;
&lt;th&gt;Root Cause Pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Jan 6&lt;/td&gt;
&lt;td&gt;Charter/Spectrum&lt;/td&gt;
&lt;td&gt;1h 43m&lt;/td&gt;
&lt;td&gt;U.S. + 9 countries&lt;/td&gt;
&lt;td&gt;Node migration across NYC, DC, Houston&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 17&lt;/td&gt;
&lt;td&gt;TATA Communications&lt;/td&gt;
&lt;td&gt;23m&lt;/td&gt;
&lt;td&gt;14 countries&lt;/td&gt;
&lt;td&gt;Cascading failures Singapore → U.S. → Japan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 27&lt;/td&gt;
&lt;td&gt;Cloudflare&lt;/td&gt;
&lt;td&gt;2h 23m&lt;/td&gt;
&lt;td&gt;U.S. + 4 countries&lt;/td&gt;
&lt;td&gt;Chicago → Winnipeg → Aurora expansion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 27&lt;/td&gt;
&lt;td&gt;Lumen&lt;/td&gt;
&lt;td&gt;1h 5m&lt;/td&gt;
&lt;td&gt;U.S. + 13 countries&lt;/td&gt;
&lt;td&gt;Oscillating DC → Detroit → LA → DC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 10&lt;/td&gt;
&lt;td&gt;Hurricane Electric&lt;/td&gt;
&lt;td&gt;25m&lt;/td&gt;
&lt;td&gt;U.S. + 12 countries&lt;/td&gt;
&lt;td&gt;Dallas → Atlanta → Charlotte → NYC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 17&lt;/td&gt;
&lt;td&gt;Cogent&lt;/td&gt;
&lt;td&gt;1h 20m&lt;/td&gt;
&lt;td&gt;U.S. + 4 countries&lt;/td&gt;
&lt;td&gt;Recurring Denver node failures&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 20&lt;/td&gt;
&lt;td&gt;Cloudflare BYOIP&lt;/td&gt;
&lt;td&gt;1h 40m&lt;/td&gt;
&lt;td&gt;Global&lt;/td&gt;
&lt;td&gt;Automated maintenance withdrew customer IP prefixes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feb 26&lt;/td&gt;
&lt;td&gt;GitHub&lt;/td&gt;
&lt;td&gt;1h&lt;/td&gt;
&lt;td&gt;U.S. + 6 countries&lt;/td&gt;
&lt;td&gt;Washington D.C. centered&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar 4&lt;/td&gt;
&lt;td&gt;PCCW&lt;/td&gt;
&lt;td&gt;48m&lt;/td&gt;
&lt;td&gt;14 countries&lt;/td&gt;
&lt;td&gt;Marseille → LA → Hong Kong cascade&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar 6&lt;/td&gt;
&lt;td&gt;ServiceNow&lt;/td&gt;
&lt;td&gt;1h 3m&lt;/td&gt;
&lt;td&gt;29 countries&lt;/td&gt;
&lt;td&gt;Austin → Seattle → Chicago node migration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar 20&lt;/td&gt;
&lt;td&gt;Arelion (Telia)&lt;/td&gt;
&lt;td&gt;1h 38m&lt;/td&gt;
&lt;td&gt;18+ countries&lt;/td&gt;
&lt;td&gt;Ashburn → DC → Dallas → Newark expansion&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The &lt;strong&gt;Cloudflare BYOIP incident&lt;/strong&gt; (Feb 20) is the most instructive: a bug in an automated maintenance task caused Cloudflare to unintentionally withdraw customer IP address advertisements from the global routing table. No human made a mistake — the automation itself created the failure.&lt;/p&gt;

&lt;p&gt;Cogent appeared twice (Feb 17 and Mar 12), both times centered on Denver — a pattern that multi-path SD-WAN failover is specifically designed to survive.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cost: $14K–$23.7K Per Minute
&lt;/h2&gt;

&lt;p&gt;Enterprise downtime costs between $14,000 and $23,750 per minute depending on organization size (EMA, ITIC, BigPanda 2026). Over 90% of midsize and large companies report hourly costs exceeding $300K.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Industry&lt;/th&gt;
&lt;th&gt;Avg. Hourly Cost&lt;/th&gt;
&lt;th&gt;Key Risk Factor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Financial Services&lt;/td&gt;
&lt;td&gt;$1M – $9.3M&lt;/td&gt;
&lt;td&gt;Real-time transaction processing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Healthcare&lt;/td&gt;
&lt;td&gt;$318K – $540K&lt;/td&gt;
&lt;td&gt;Patient safety + HIPAA fines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retail / E-commerce&lt;/td&gt;
&lt;td&gt;$1M – $2M (peak)&lt;/td&gt;
&lt;td&gt;Lost sales + customer churn&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manufacturing&lt;/td&gt;
&lt;td&gt;$260K – $500K&lt;/td&gt;
&lt;td&gt;Supply chain disruption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Automotive&lt;/td&gt;
&lt;td&gt;$2.3M&lt;/td&gt;
&lt;td&gt;Assembly line stoppages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Telecommunications&lt;/td&gt;
&lt;td&gt;$660K+&lt;/td&gt;
&lt;td&gt;Service credits + customer churn&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Global 2000 companies collectively lose &lt;strong&gt;$400 billion annually&lt;/strong&gt; from unplanned downtime.&lt;/p&gt;

&lt;h2&gt;
  
  
  Root Causes: It's the Network, and It's Us
&lt;/h2&gt;

&lt;p&gt;Network and connectivity issues are the #1 cause of IT service outages (31%), per the Uptime Institute's 2024 Data Center Resiliency Survey. Within that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Configuration/change management failures: 45%&lt;/strong&gt; — BGP route policies, OSPF area design, SD-WAN overlay topology. Understand blast radius before executing changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third-party provider failures: 39%&lt;/strong&gt; — Cogent, Lumen, Charter all had repeated outages. Multi-homed BGP with RPKI validation is the engineering response.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software/system failures: 36%&lt;/strong&gt; — 64% of these stem from config/change issues. 44% of respondents say network changes cause outages "several times a year."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Human error contributes to &lt;strong&gt;66–80% of all downtime&lt;/strong&gt;. Of those, 85% stem from staff not following procedures (47%) or flawed processes (40%). Only 3% of organizations catch all mistakes before impact.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2F2026-network-outage-report-thousandeyes-internet-health-enterprise-resilience%2Finfographic-impact.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2F2026-network-outage-report-thousandeyes-internet-health-enterprise-resilience%2Finfographic-impact.png" alt="2026 Network Outage Report Industry Impact" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The New Pattern: Autonomous Agent Interaction Failures
&lt;/h2&gt;

&lt;p&gt;This is the section that matters most for 2026 and beyond.&lt;/p&gt;

&lt;p&gt;ThousandEyes identifies autonomous agents — auto-scalers, AIOps platforms, remediation bots, intent-based automation — as the single biggest emerging risk. The pattern is no longer "something broke" but "systems interacting in ways nobody anticipated."&lt;/p&gt;

&lt;p&gt;Three 2025 incidents that define this pattern:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS DynamoDB (Oct 2025):&lt;/strong&gt; Two independent DNS management components operated correctly within their own logic. A delayed component applied an older DNS plan at the precise moment a cleanup operation deleted the newer plan. Neither malfunctioned — their timing interaction created the failure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure Front Door (Oct 2025):&lt;/strong&gt; A control plane created faulty metadata. Automated detection correctly blocked it. The cleanup operation triggered a latent bug in a different component. Every system did its job. The interaction produced the outage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloudflare Bot Management (Nov 2025):&lt;/strong&gt; A configuration file exceeded a hard-coded limit. The generating system operated correctly. The proxy enforcing the limit also operated correctly. The output of one system exceeded the constraints of another.&lt;/p&gt;

&lt;p&gt;The proliferation of agents creates three specific risks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cascading failures:&lt;/strong&gt; Agents make decisions in milliseconds. When one agent reacts to another's output, mistakes propagate before humans detect degradation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimization conflicts:&lt;/strong&gt; A performance agent, a cost-reduction agent, and a reliability agent may work against each other simultaneously.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intent uncertainty:&lt;/strong&gt; When one agent changes a route, other agents must determine whether the change was intentional. Get that wrong and agents start undoing each other's work.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  5-Layer Defense Strategy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Layer 1: End-to-End Observability Beyond Your Boundary
&lt;/h3&gt;

&lt;p&gt;Traditional SNMP traps capture what happens inside your infrastructure. The Q1 data shows outages cascading across Tier 1 carriers (Arelion across 18 countries), cloud platforms (ServiceNow across 29 countries), and edge networks simultaneously. You need visibility into dependencies you don't own — ThousandEyes, Catchpoint, and Kentik provide Internet-wide path analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 2: Multi-Homed BGP with RPKI Validation
&lt;/h3&gt;

&lt;p&gt;Cogent's recurring Denver outages demonstrate why single-carrier dependency is unacceptable. Implement BGP RPKI Route Origin Validation with at least two upstream providers. Configure BGP communities and local preference to steer traffic away from degraded paths automatically. IX peering adds a third failover path.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 3: Automated Change Validation
&lt;/h3&gt;

&lt;p&gt;45% of outages come from config/change failures. Every network change needs pre-deployment validation. Network digital twins (Batfish, ContainerLab) simulate route policy impact before production. Pair with Terraform IaC for auditable, reversible changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 4: Agent Coordination as a Design Concern
&lt;/h3&gt;

&lt;p&gt;If your network runs auto-scalers, AIOps remediation, and intent-based policies, define interaction boundaries. Establish rate limits on automated changes. Implement circuit breakers that halt cascading automation when change velocity exceeds thresholds. This is the evolution of network automation from scripting to architecture.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 5: Redundancy Matched to Financial Exposure
&lt;/h3&gt;

&lt;p&gt;90% of organizations require minimum 99.99% availability — only 52.6 minutes of annual downtime. At $14K/min for midsize businesses, that's $736K of maximum tolerable loss per year. Calculate your specific exposure: &lt;code&gt;Annual Revenue ÷ Total Working Hours = Hourly Revenue at risk&lt;/code&gt;. That number justifies geographic distribution, SD-WAN multi-path failover, and dual-DC designs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Action Items Right Now
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Map your carrier dependencies&lt;/strong&gt; — run traceroutes from multiple vantage points and identify single-carrier paths&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implement RPKI&lt;/strong&gt; if you haven't — route origin validation prevents the BGP hijacks and leaks that contributed to several Q1 incidents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit your automation guardrails&lt;/strong&gt; — do your auto-scalers and remediation bots have rate limits and circuit breakers?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculate your per-minute downtime cost&lt;/strong&gt; — make the business case for observability investment concrete&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedule a real failover test&lt;/strong&gt; — untested failover is no failover&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Q1 2026 data proves that we're building more capable networks that are simultaneously more fragile. We spent 20 years building redundancy. Now we need coordination.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-04-02-2026-network-outage-report-thousandeyes-internet-health-enterprise-resilience/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;. For more deep dives on network engineering and infrastructure resilience, check out firstpasslab.com.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was adapted from original research with AI assistance. The data, sources, and technical analysis have been verified against the cited references.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>devops</category>
      <category>security</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Why Multi-AZ Failed: Lessons from the First Kinetic Attack on a Major Cloud Region</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Thu, 02 Apr 2026 16:52:57 +0000</pubDate>
      <link>https://forem.com/firstpasslab/why-multi-az-failed-lessons-from-the-first-kinetic-attack-on-a-major-cloud-region-4jhe</link>
      <guid>https://forem.com/firstpasslab/why-multi-az-failed-lessons-from-the-first-kinetic-attack-on-a-major-cloud-region-4jhe</guid>
      <description>&lt;p&gt;When Iranian drones struck AWS data centers in the UAE and Bahrain on March 1, 2026, they didn't just destroy server racks — they invalidated the multi-AZ assumptions that most cloud architectures are built on. AWS responded by waiving all March charges for ME-CENTRAL-1 and ME-SOUTH-1, an unprecedented move. Here's what engineers need to understand about what failed and how to design around it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Multi-AZ is not a disaster recovery plan when the threat is geopolitical. Only tested, cross-region failover with active data replication protects against the physical destruction of an entire cloud region.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Happened
&lt;/h2&gt;

&lt;p&gt;Shahed 136 drones struck two AWS data center facilities, causing structural damage, power grid disruption, and water damage from fire suppression systems. The &lt;a href="https://health.aws.amazon.com/health/status" rel="noopener noreferrer"&gt;AWS Service Health Dashboard&lt;/a&gt; confirmed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ME-CENTRAL-1 (UAE):&lt;/strong&gt; 2 of 3 AZs impaired (mec1-az2, mec1-az3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ME-SOUTH-1 (Bahrain):&lt;/strong&gt; 1 of 3 AZs lost power entirely (mes1-az2)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;84+ services offline&lt;/strong&gt; including EC2, S3, DynamoDB, Lambda, RDS, and the Management Console&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Regional customers — Careem, Alaan, Tabby, and banking services — went down immediately (&lt;a href="https://www.cnbc.com/2026/03/03/iran-war-uae-drone-strikes-aws-data-centers.html" rel="noopener noreferrer"&gt;CNBC, 2026&lt;/a&gt;).&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Impact Detail&lt;/th&gt;
&lt;th&gt;ME-CENTRAL-1 (UAE)&lt;/th&gt;
&lt;th&gt;ME-SOUTH-1 (Bahrain)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AZs Impaired&lt;/td&gt;
&lt;td&gt;2 of 3&lt;/td&gt;
&lt;td&gt;1 of 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Services Affected&lt;/td&gt;
&lt;td&gt;84+&lt;/td&gt;
&lt;td&gt;60+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Power Status (Late March)&lt;/td&gt;
&lt;td&gt;Partially restored&lt;/td&gt;
&lt;td&gt;Still restoring mes1-az2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customer Migration&lt;/td&gt;
&lt;td&gt;Active to unaffected regions&lt;/td&gt;
&lt;td&gt;Active to unaffected regions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Billing Waiver Created a Second Problem
&lt;/h2&gt;

&lt;p&gt;AWS waived all March usage charges — unprecedented. But the waiver also removed Cost and Usage Report (CUR) data from billing dashboards. As Cory Quinn &lt;a href="https://www.networkworld.com/article/4151880/amazon-waives-entire-months-aws-charges-after-iranian-drone-attack.html" rel="noopener noreferrer"&gt;pointed out&lt;/a&gt;, for most enterprises the CUR isn't just an invoice — it's the authoritative record of what infrastructure exists. Compliance teams, auditors, and FinOps teams all build on it.&lt;/p&gt;

&lt;p&gt;AWS later clarified the data wasn't deleted, just filtered from standard reports. But the lesson is clear: &lt;strong&gt;your billing data is also your infrastructure inventory.&lt;/strong&gt; If your DR playbook doesn't account for billing data availability during a region-wide failure, you have an audit gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Multi-AZ Didn't Protect Workloads
&lt;/h2&gt;

&lt;p&gt;This is the critical engineering lesson. Multi-AZ distributes across physically separate data centers within a single region, but all AZs sit within the same metro area and share the same geopolitical threat envelope.&lt;/p&gt;

&lt;p&gt;Three assumptions that broke:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Multi-AZ ≠ Multi-Region
&lt;/h3&gt;

&lt;p&gt;AZs within ME-CENTRAL-1 are ~50-100 km apart. A coordinated strike targeting a metropolitan area reaches multiple AZs. Engineers running workloads across all three AZs &lt;a href="https://www.reddit.com/r/aws/comments/1ri51kf/mecentral1_az_mec1az2_down_due_to_power_outagefire/" rel="noopener noreferrer"&gt;still experienced degradation&lt;/a&gt; because the surviving AZ couldn't absorb full regional load.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Control Plane Failures Cascade
&lt;/h3&gt;

&lt;p&gt;Even where data plane instances survived (mec1-az1), the &lt;a href="https://dev.to/shajam/what-can-we-learn-from-me-central-1-region-outage-n9a"&gt;control plane was disrupted&lt;/a&gt;. Customers couldn't launch new instances, modify security groups, or execute failover automation. If your DR runbook requires API calls to the impaired region's control plane, your failover is dead on arrival.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Shared Dependencies Are Invisible
&lt;/h3&gt;

&lt;p&gt;Services running in healthy AZs had hidden dependencies on impaired zones — internal load balancers, DNS resolution, IAM authentication endpoints. These cross-AZ dependencies aren't documented in customer-facing architecture diagrams.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Architecture Pattern&lt;/th&gt;
&lt;th&gt;Protects Against&lt;/th&gt;
&lt;th&gt;Does NOT Protect Against&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Multi-AZ (same region)&lt;/td&gt;
&lt;td&gt;Single AZ failure, hardware failure&lt;/td&gt;
&lt;td&gt;Regional disaster, military strike&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-Region (active-passive)&lt;/td&gt;
&lt;td&gt;Full region outage&lt;/td&gt;
&lt;td&gt;Data lag during failover, control plane dependency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-Region (active-active)&lt;/td&gt;
&lt;td&gt;All above + zero RPO failover&lt;/td&gt;
&lt;td&gt;Complexity, cost, global routing challenges&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-Cloud&lt;/td&gt;
&lt;td&gt;Single provider failure&lt;/td&gt;
&lt;td&gt;Doubled operational complexity&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2Faws-waives-march-charges-drone-strike-cloud-resilience-multi-region-architecture%2Finfographic-tech.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2Faws-waives-march-charges-drone-strike-cloud-resilience-multi-region-architecture%2Finfographic-tech.png" alt="AWS Drone Strike Technical Architecture — Multi-AZ Failure and Cross-Region Failover" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A Practical Redesign Framework
&lt;/h2&gt;

&lt;p&gt;Here's how to rethink your architecture:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 1: Region Risk Assessment.&lt;/strong&gt; Before deploying to any region, evaluate the sovereign risk profile. Map regions against active conflict zones, not just latency numbers. AWS operates in the UAE, Bahrain, and is investing &lt;a href="https://www.ainvest.com/news/aws-uae-outage-geopolitical-test-cloud-resilience-2603" rel="noopener noreferrer"&gt;$5.3B in Saudi Arabia&lt;/a&gt;. Each region has a different threat model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 2: Cross-Region Data Replication.&lt;/strong&gt; Implement async or sync replication to a geographically and politically distant region. S3 Cross-Region Replication, DynamoDB Global Tables, Aurora Global Database. RPO under 1 minute requires active-active with &lt;a href="https://www.rubrik.com/insights/aws-disaster-recovery-strategy-guide" rel="noopener noreferrer"&gt;Global Accelerator routing&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 3: Tested Failover.&lt;/strong&gt; "Untested failover is no failover." Schedule quarterly game days where you actually cut traffic from one region. Organizations that never tested ME-CENTRAL-1 failover discovered missing encryption keys, expired credentials, and incomplete replication during the crisis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 4: Decouple Data Residency from Compute.&lt;/strong&gt; If regulations require data in a specific country, architect so compute/serving can operate from a different region while maintaining data locality compliance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Industry Impact
&lt;/h2&gt;

&lt;p&gt;This was the first confirmed kinetic attack destroying a major cloud provider's infrastructure. Israel reportedly struck a Tehran data center on March 11 (&lt;a href="https://www.jpost.com/middle-east/iran-news/article-889604" rel="noopener noreferrer"&gt;Jerusalem Post&lt;/a&gt;), confirming both sides view digital infrastructure as strategic targets.&lt;/p&gt;

&lt;p&gt;Counterintuitively, Amazon's stock rallied ~3% — investors betting the incident accelerates cloud spending on resilience. &lt;a href="https://www.proarch.com/blog/threats-vulnerabilities/aws-middle-east-outage-global-cloud-impact" rel="noopener noreferrer"&gt;Oracle's Middle East regions experienced zero incidents&lt;/a&gt; during the same period, validating the multi-cloud argument for critical workloads.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2Faws-waives-march-charges-drone-strike-cloud-resilience-multi-region-architecture%2Finfographic-impact.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ffirstpasslab.com%2Fimages%2Fblog%2Faws-waives-march-charges-drone-strike-cloud-resilience-multi-region-architecture%2Finfographic-impact.png" alt="AWS Drone Strike Industry Impact — Cloud Resilience and Geopolitical Risk" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Compared to Previous Outages
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Outage&lt;/th&gt;
&lt;th&gt;Cause&lt;/th&gt;
&lt;th&gt;Duration&lt;/th&gt;
&lt;th&gt;Regions&lt;/th&gt;
&lt;th&gt;Services Down&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS us-east-1 (Dec 2021)&lt;/td&gt;
&lt;td&gt;Scaling bug&lt;/td&gt;
&lt;td&gt;~10 hours&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;20+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS ME-CENTRAL-1 (Mar 2026)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Drone strikes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Weeks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;84+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure (Jan 2023)&lt;/td&gt;
&lt;td&gt;WAN routing misconfig&lt;/td&gt;
&lt;td&gt;~5 hours&lt;/td&gt;
&lt;td&gt;Multiple&lt;/td&gt;
&lt;td&gt;15+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Cloud (Apr 2023)&lt;/td&gt;
&lt;td&gt;Paris region power failure&lt;/td&gt;
&lt;td&gt;~12 hours&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;10+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Physical infrastructure cannot be rebooted. It must be rebuilt. Organizations with infrastructure defined in Terraform or Ansible redeployed in hours. Those relying on ClickOps are still migrating a month later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five Things to Do Right Now
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Audit region dependencies:&lt;/strong&gt; &lt;code&gt;aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,Placement.AvailabilityZone]'&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify cross-region replication&lt;/strong&gt; — check actual RPO/RTO metrics, not just config&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedule a real failover test&lt;/strong&gt; within 30 days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review your CUR data pipeline&lt;/strong&gt; for gaps during crisis scenarios&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document a geopolitical risk matrix&lt;/strong&gt; for every region where you run workloads&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The cloud is not an abstraction. It's concrete, steel, and cooling systems sitting on land that exists inside a geopolitical reality. Engineers who build truly resilient multi-region architectures will define the next decade of enterprise cloud design.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-04-02-aws-waives-march-charges-drone-strike-cloud-resilience-multi-region-architecture/" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;. More deep dives on cloud networking, infrastructure security, and network architecture at &lt;a href="https://firstpasslab.com" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI Disclosure: This article was adapted from original research with AI assistance for editing and formatting. All technical claims are sourced and linked. The original article contains full source citations.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Stop Accepting BGP Routes on Trust Alone: Deploy RPKI ROV on IOS-XE and IOS XR Today</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Wed, 01 Apr 2026 22:54:32 +0000</pubDate>
      <link>https://forem.com/firstpasslab/stop-accepting-bgp-routes-on-trust-alone-deploy-rpki-rov-on-ios-xe-and-ios-xr-today-2gob</link>
      <guid>https://forem.com/firstpasslab/stop-accepting-bgp-routes-on-trust-alone-deploy-rpki-rov-on-ios-xe-and-ios-xr-today-2gob</guid>
      <description>&lt;p&gt;If you run BGP in production and you're not validating route origins with RPKI, you're accepting every prefix announcement on trust alone. That's the equivalent of letting anyone walk into your data center and plug into a switch because they said they work there.&lt;/p&gt;

&lt;p&gt;BGP RPKI Route Origin Validation (ROV) is the mechanism that changes this. With 500K+ ROAs published globally, mature validator software, and RFC 9774 formally deprecating AS_SET, there's no technical barrier left. Here's how to deploy it on Cisco IOS-XE and IOS XR.&lt;/p&gt;

&lt;h2&gt;
  
  
  How RPKI ROV Actually Works
&lt;/h2&gt;

&lt;p&gt;RPKI (Resource Public Key Infrastructure) cryptographically binds IP prefixes to the autonomous systems authorized to originate them. Three components make it work:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Route Origin Authorizations (ROAs)&lt;/strong&gt; — Signed objects published by prefix holders in RPKI repositories. A ROA states: "AS 65001 is authorized to originate 192.0.2.0/24 with a maximum prefix length of /24."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RPKI Validators&lt;/strong&gt; — Servers (Routinator, Fort, OctoRPKI) that download ROA data from the five RIR trust anchors, validate cryptographic signatures, and build a validated cache.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RPKI-to-Router Protocol (RTR)&lt;/strong&gt; — RFC 8210 protocol that transports the validated cache to your BGP routers. Each prefix gets tagged:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Valid&lt;/strong&gt;: Prefix and origin AS match a ROA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Invalid&lt;/strong&gt;: A ROA exists but origin AS or prefix length doesn't match&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NotFound&lt;/strong&gt;: No ROA published for this prefix&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Critical distinction&lt;/strong&gt;: NotFound ≠ Invalid. ~60% of the global table is still NotFound. Dropping those would black-hole most of the internet. The safe policy: drop Invalid, accept everything else, prefer Valid.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Connecting to RPKI Validators
&lt;/h2&gt;

&lt;h3&gt;
  
  
  IOS-XE Configuration
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="kt"&gt;router bgp&lt;/span&gt;&lt;span class="nf"&gt; 65001&lt;/span&gt;
&lt;span class="k"&gt; bgp&lt;/span&gt; rpki server tcp &lt;span class="m"&gt;10.0.0.50&lt;/span&gt; port 8282 refresh 300
&lt;span class="k"&gt; bgp&lt;/span&gt; rpki server tcp &lt;span class="m"&gt;10.0.0.51&lt;/span&gt; port 8282 refresh 300
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  IOS XR Configuration
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="kt"&gt;router bgp&lt;/span&gt;&lt;span class="nf"&gt; 65001&lt;/span&gt;
&lt;span class="k"&gt; rpki&lt;/span&gt; server &lt;span class="m"&gt;10.0.0.50&lt;/span&gt;
&lt;span class="k"&gt;  transport&lt;/span&gt; tcp port 8282
&lt;span class="k"&gt;  refresh-time&lt;/span&gt; 300
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;span class="k"&gt; rpki&lt;/span&gt; server &lt;span class="m"&gt;10.0.0.51&lt;/span&gt;
&lt;span class="k"&gt;  transport&lt;/span&gt; tcp port 8282
&lt;span class="k"&gt;  refresh-time&lt;/span&gt; 300
&lt;span class="k"&gt; !&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;refresh 300&lt;/code&gt; sets a 300-second poll interval as a safety net. Incremental updates (Serial Notify) arrive between polls.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🔑 &lt;strong&gt;Always deploy at least two validators&lt;/strong&gt; from different implementations (e.g., Routinator + Fort). If your only validator goes down and the RTR session expires, the router flushes its cache and silently disables ROV. You won't even know it happened.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Applying ROV Policy — Start Soft
&lt;/h2&gt;

&lt;p&gt;Without a route-map acting on validation state, the router knows which routes are Invalid but does nothing about it. Here's where enforcement happens.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 1: Tag and Deprioritize (Weeks 1-4)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;route-map&lt;/span&gt; RPKI-POLICY &lt;span class="ow"&gt;permit&lt;/span&gt; 10
&lt;span class="k"&gt; match&lt;/span&gt; rpki invalid
&lt;span class="k"&gt; set&lt;/span&gt; community no-export additive
&lt;span class="k"&gt; set&lt;/span&gt; local-preference 50
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;span class="k"&gt;route-map&lt;/span&gt; RPKI-POLICY &lt;span class="ow"&gt;permit&lt;/span&gt; 20
&lt;span class="k"&gt; match&lt;/span&gt; rpki valid
&lt;span class="k"&gt; set&lt;/span&gt; local-preference 200
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;span class="k"&gt;route-map&lt;/span&gt; RPKI-POLICY &lt;span class="ow"&gt;permit&lt;/span&gt; 30
&lt;span class="k"&gt; match&lt;/span&gt; rpki not-found
&lt;span class="k"&gt; set&lt;/span&gt; local-preference 100
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;span class="kt"&gt;router bgp&lt;/span&gt;&lt;span class="nf"&gt; 65001&lt;/span&gt;
&lt;span class="k"&gt; address-family&lt;/span&gt; ipv4 unicast
&lt;span class="k"&gt;  neighbor&lt;/span&gt; &lt;span class="m"&gt;203.0.113.1&lt;/span&gt; route-map RPKI-POLICY in
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This does three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Invalid routes&lt;/strong&gt; → local-preference 50 + no-export community (least preferred, not propagated)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valid routes&lt;/strong&gt; → local-preference 200 (strongly preferred)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NotFound routes&lt;/strong&gt; → local-preference 100 (functional, but not as trusted)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why not hard-drop Invalid immediately? Some Invalid states come from stale or misconfigured ROAs by &lt;em&gt;other&lt;/em&gt; operators. You need to observe before you enforce.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 2: Hard Enforcement (After Monitoring)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;route-map&lt;/span&gt; RPKI-POLICY &lt;span class="ow"&gt;deny&lt;/span&gt; 10
&lt;span class="k"&gt; match&lt;/span&gt; rpki invalid
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;span class="k"&gt;route-map&lt;/span&gt; RPKI-POLICY &lt;span class="ow"&gt;permit&lt;/span&gt; 20
&lt;span class="k"&gt; match&lt;/span&gt; rpki valid
&lt;span class="k"&gt; set&lt;/span&gt; local-preference 200
&lt;span class="c1"&gt;!&lt;/span&gt;
&lt;span class="k"&gt;route-map&lt;/span&gt; RPKI-POLICY &lt;span class="ow"&gt;permit&lt;/span&gt; 30
&lt;span class="k"&gt; match&lt;/span&gt; rpki not-found
&lt;span class="k"&gt; set&lt;/span&gt; local-preference 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now Invalid routes are silently dropped at the edge. Route hijacks don't propagate into your network.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verification and Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Check Validator Connectivity
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;Router#&lt;/span&gt; show bgp rpki servers

&lt;span class="k"&gt;BGP&lt;/span&gt; RPKI Server:
&lt;span class="k"&gt;  Server&lt;/span&gt; Address: &lt;span class="m"&gt;10.0.0.50&lt;/span&gt;
&lt;span class="k"&gt;  Server&lt;/span&gt; Port: 8282
&lt;span class="k"&gt;  Server&lt;/span&gt; State: established
&lt;span class="k"&gt;  Serial&lt;/span&gt; Number: 47
&lt;span class="k"&gt;  Record&lt;/span&gt; Count: 482631
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Server State&lt;/strong&gt; must be &lt;code&gt;established&lt;/code&gt; — if &lt;code&gt;connecting&lt;/code&gt; or &lt;code&gt;down&lt;/code&gt;, check reachability and validator health&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record Count&lt;/strong&gt; should be 400K-500K+ — if 0, the validator isn't syncing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Check a Specific Prefix
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;Router#&lt;/span&gt; show bgp ipv4 unicast &lt;span class="m"&gt;1.0.0.0/24&lt;/span&gt;

&lt;span class="k"&gt;BGP&lt;/span&gt; routing table entry for &lt;span class="m"&gt;1.0.0.0/24&lt;/span&gt;
&lt;span class="k"&gt;  RPKI&lt;/span&gt; validation state: valid
&lt;span class="k"&gt;  Origin&lt;/span&gt; AS: 13335
&lt;span class="k"&gt;  ROA:&lt;/span&gt; &lt;span class="m"&gt;1.0.0.0/24&lt;/span&gt;, maxlen /24, origin-as 13335
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Monitor Invalid Routes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;Router#&lt;/span&gt; show bgp ipv4 unicast rpki invalid
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is your daily monitoring command during initial deployment. Cross-reference Invalid prefixes against the ROA database to separate genuine hijacks from ROA misconfigurations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Issues
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Problem&lt;/th&gt;
&lt;th&gt;Cause&lt;/th&gt;
&lt;th&gt;Fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Validator session flapping&lt;/td&gt;
&lt;td&gt;MTU issues on RTR path&lt;/td&gt;
&lt;td&gt;Check path MTU; large cache responses trigger fragmentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High record count but no Valid routes&lt;/td&gt;
&lt;td&gt;Route-map not applied to neighbor&lt;/td&gt;
&lt;td&gt;Verify &lt;code&gt;neighbor X route-map RPKI-POLICY in&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prefix shows NotFound when you expect Valid&lt;/td&gt;
&lt;td&gt;ROA not published or expired&lt;/td&gt;
&lt;td&gt;Check ROA status in RPKI repositories directly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Validator shows 0 records&lt;/td&gt;
&lt;td&gt;Not syncing with RIR trust anchors&lt;/td&gt;
&lt;td&gt;Verify validator config syncs with all 5 RIRs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Set up syslog/SNMP traps for RPKI session state changes. A validator failure should be a P1 alert, not something you discover during the next change window.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Beyond ROV: What's Coming
&lt;/h2&gt;

&lt;p&gt;RPKI ROV validates the &lt;strong&gt;origin AS only&lt;/strong&gt;. It can't detect route leaks where a legitimate AS improperly announces a prefix it received from a peer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ASPA (Autonomous System Provider Authorization)&lt;/strong&gt; is the emerging standard that encodes customer-provider AS relationships, enabling AS path validation. NIST is building test tools (the BRIO framework), and early adoption is expected in 2026-2027.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RFC 9774&lt;/strong&gt; deprecated AS_SET, which simplifies ROV — every route now has a single unambiguous origin AS. If you're still generating AS_SET in aggregate routes, update your &lt;code&gt;aggregate-address&lt;/code&gt; configs now. Compliant peers will increasingly reject those routes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;RPKI ROV is production-ready&lt;/strong&gt; — 500K+ ROAs, mature validators, no excuses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start soft&lt;/strong&gt; — tag Invalid with low local-pref for 2-4 weeks, then hard deny&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two validators minimum&lt;/strong&gt; — single validator failure = silent ROV death&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ROV is layer one&lt;/strong&gt; — complement with ASPA and BGP session auth (TCP-AO) as they mature&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix your aggregation&lt;/strong&gt; — RFC 9774 killed AS_SET; update your configs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alert on validator failures&lt;/strong&gt; — treat RTR session drops as P1 incidents&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;BGP security is no longer optional for any network participating in the global routing system. RPKI ROV gives you a concrete, deployable mechanism to verify route origins today. Configure it, monitor it, enforce it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2025-12-22-bgp-rpki-route-origin-validation-guide/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;. For more protocol deep dives and lab guides, visit &lt;a href="https://firstpasslab.com" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI Disclosure: This article was adapted with AI assistance. All technical content, configurations, and recommendations are based on documented Cisco IOS-XE/XR behavior, RFC specifications, and industry best practices. Human-reviewed for accuracy.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>security</category>
      <category>cisco</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Ditch the vPC Peer-Link: EVPN ESI Multi-Homing on Nexus 9000 with NX-OS 10.6.x (Config + Verification)</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Wed, 01 Apr 2026 16:56:45 +0000</pubDate>
      <link>https://forem.com/firstpasslab/ditch-the-vpc-peer-link-evpn-esi-multi-homing-on-nexus-9000-with-nx-os-106x-config--264o</link>
      <guid>https://forem.com/firstpasslab/ditch-the-vpc-peer-link-evpn-esi-multi-homing-on-nexus-9000-with-nx-os-106x-config--264o</guid>
      <description>&lt;p&gt;If you've ever wished you could multi-home a server to &lt;em&gt;more than two&lt;/em&gt; leaf switches in your VXLAN EVPN fabric — or eliminate the vPC peer-link entirely — EVPN ESI multi-homing on NX-OS 10.6.x is the answer. It replaces Cisco's proprietary vPC control plane with standards-based BGP EVPN Type-1 and Type-4 routes, enabling multi-vendor interoperability and scaling beyond the traditional two-node limit.&lt;/p&gt;

&lt;p&gt;This article walks through the architecture, a production-grade NX-OS configuration, and every verification command you need to confirm it's working.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why ESI Multi-Homing Matters
&lt;/h2&gt;

&lt;p&gt;vPC has served data center engineers well for over a decade. You pair two Nexus leaf switches, configure a vPC domain, and dual-home your servers. It works — but with well-known limitations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Two-node limit:&lt;/strong&gt; vPC is strictly a two-switch technology. You cannot multi-home a server to three or four leaf switches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Peer-link dependency:&lt;/strong&gt; The vPC peer-link must carry orphan traffic and synchronize MAC/ARP tables, adding complexity and consuming bandwidth.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proprietary control plane:&lt;/strong&gt; vPC uses a Cisco-specific mechanism (CFS over peer-keepalive and peer-link), which breaks multi-vendor interoperability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;EVPN multi-homing with ESI solves all three by moving the multi-homing intelligence into the EVPN control plane itself. Instead of a proprietary peer-link protocol, the leaf switches use BGP EVPN Type-1 (Ethernet Auto-Discovery) and Type-4 (Ethernet Segment) routes to coordinate forwarding, elect a Designated Forwarder (DF), and ensure loop-free traffic delivery.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; ESI multi-homing and vPC can coexist in the same NX-OS 10.6.x fabric. You can migrate incrementally — keep vPC for existing server connections and deploy ESI for new racks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Core Concepts
&lt;/h2&gt;

&lt;p&gt;Before diving into configuration, understand four key mechanisms:&lt;/p&gt;

&lt;h3&gt;
  
  
  Ethernet Segment Identifier (ESI)
&lt;/h3&gt;

&lt;p&gt;An ESI is a 10-byte identifier that uniquely represents a multi-homed link bundle (e.g., a LAG connecting a server to two or more leaf switches). Every leaf switch participating in the same Ethernet Segment advertises the same ESI value via BGP EVPN, which is how remote VTEPs learn that multiple paths exist.&lt;/p&gt;

&lt;p&gt;NX-OS 10.6.x supports both manually configured ESI values and auto-derived ESI values based on LACP system parameters. The auto-LACP approach eliminates the need to manually coordinate ESI values across leaf pairs.&lt;/p&gt;

&lt;h3&gt;
  
  
  EVPN Route Types 1 and 4
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type-1 (Ethernet Auto-Discovery per ES):&lt;/strong&gt; Advertised by each leaf in the Ethernet Segment. Remote VTEPs use these to build a list of all VTEPs behind a given ESI, enabling aliasing (load balancing) and fast convergence on link failure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Type-4 (Ethernet Segment Route):&lt;/strong&gt; Used for Designated Forwarder (DF) election. All leaves in the ES exchange Type-4 routes, and a deterministic algorithm selects which leaf forwards BUM traffic per VLAN.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Designated Forwarder Election
&lt;/h3&gt;

&lt;p&gt;When a broadcast or multicast frame arrives at the fabric, only one leaf per Ethernet Segment should forward it to the locally connected host. The DF election process ensures exactly one forwarder per VLAN per ES. NX-OS 10.6.x supports preference-based DF election.&lt;/p&gt;

&lt;h3&gt;
  
  
  Split Horizon and Aliasing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Split horizon&lt;/strong&gt; prevents BUM traffic received from an ES member from being forwarded back to the same ES.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aliasing&lt;/strong&gt; allows remote VTEPs to load-balance unicast traffic across all leaves in an ES, even if the MAC was only learned on one of them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Configuration: ESI Multi-Homing on NX-OS 10.6.x
&lt;/h2&gt;

&lt;p&gt;We assume the underlay (OSPF or eBGP), NVE interface, and BGP EVPN overlay are already in place.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Enable EVPN ESI Multi-Homing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="c1"&gt;! Enable EVPN ESI multi-homing globally&lt;/span&gt;
&lt;span class="k"&gt;nv&lt;/span&gt; overlay evpn
&lt;span class="k"&gt;feature&lt;/span&gt; nv overlay
&lt;span class="k"&gt;feature&lt;/span&gt; bgp
&lt;span class="k"&gt;feature&lt;/span&gt; interface-vlan
&lt;span class="k"&gt;feature&lt;/span&gt; vn-segment-vlan-based

&lt;span class="k"&gt;evpn&lt;/span&gt; esi multihoming
&lt;span class="k"&gt;  ethernet-segment&lt;/span&gt; 1
&lt;span class="k"&gt;    identifier&lt;/span&gt; auto lacp
&lt;span class="k"&gt;    designated-forwarder&lt;/span&gt; election type preference
&lt;span class="k"&gt;      preference&lt;/span&gt; 32767
&lt;span class="k"&gt;    route-target&lt;/span&gt; auto

&lt;span class="c1"&gt;! Associate the Ethernet Segment with a port-channel&lt;/span&gt;
&lt;span class="kt"&gt;interface&lt;/span&gt;&lt;span class="nf"&gt; port-channel10&lt;/span&gt;
&lt;span class="k"&gt;  description&lt;/span&gt; ESI-to-Server-Rack1
&lt;span class="k"&gt;  switchport&lt;/span&gt;
&lt;span class="k"&gt;  switchport&lt;/span&gt; mode trunk
&lt;span class="k"&gt;  switchport&lt;/span&gt; trunk allowed vlan 100,200
&lt;span class="k"&gt;  ethernet-segment&lt;/span&gt; 1
&lt;span class="kc"&gt;  no &lt;/span&gt;&lt;span class="k"&gt;shutdown&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells NX-OS to automatically derive the ESI from the LACP system ID and port-channel key. The &lt;code&gt;preference 32767&lt;/code&gt; sets this leaf as the preferred DF. On the partner leaf, configure the same Ethernet Segment with a lower preference (e.g., &lt;code&gt;preference 16384&lt;/code&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: VXLAN Fabric Integration
&lt;/h3&gt;

&lt;p&gt;Map VLANs to VNIs and configure anycast gateways:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="k"&gt;vlan &lt;/span&gt;&lt;span class="na"&gt;100&lt;/span&gt;
&lt;span class="k"&gt;  vn-segment&lt;/span&gt; 10100
&lt;span class="k"&gt;vlan &lt;/span&gt;&lt;span class="na"&gt;200&lt;/span&gt;
&lt;span class="k"&gt;  vn-segment&lt;/span&gt; 10200

&lt;span class="k"&gt;fabric&lt;/span&gt; forwarding anycast-gateway-mac &lt;span class="mh"&gt;0001.0001.0001&lt;/span&gt;

&lt;span class="kt"&gt;interface&lt;/span&gt;&lt;span class="nf"&gt; Vlan100&lt;/span&gt;
&lt;span class="kc"&gt;  no &lt;/span&gt;&lt;span class="k"&gt;shutdown&lt;/span&gt;
&lt;span class="k"&gt;  vrf&lt;/span&gt; member TENANT-1
&lt;span class="k"&gt;  ip&lt;/span&gt; address &lt;span class="m"&gt;10.100.0.1/24&lt;/span&gt;
&lt;span class="k"&gt;  fabric&lt;/span&gt; forwarding mode anycast-gateway

&lt;span class="kt"&gt;interface&lt;/span&gt;&lt;span class="nf"&gt; Vlan200&lt;/span&gt;
&lt;span class="kc"&gt;  no &lt;/span&gt;&lt;span class="k"&gt;shutdown&lt;/span&gt;
&lt;span class="k"&gt;  vrf&lt;/span&gt; member TENANT-1
&lt;span class="k"&gt;  ip&lt;/span&gt; address &lt;span class="m"&gt;10.200.0.1/24&lt;/span&gt;
&lt;span class="k"&gt;  fabric&lt;/span&gt; forwarding mode anycast-gateway

&lt;span class="kt"&gt;interface&lt;/span&gt;&lt;span class="nf"&gt; nve1&lt;/span&gt;
&lt;span class="kc"&gt;  no &lt;/span&gt;&lt;span class="k"&gt;shutdown&lt;/span&gt;
&lt;span class="k"&gt;  host-reachability&lt;/span&gt; protocol bgp
&lt;span class="k"&gt;  source-interface&lt;/span&gt; loopback1
&lt;span class="k"&gt;  member&lt;/span&gt; vni 10100
&lt;span class="k"&gt;    ingress-replication&lt;/span&gt; protocol bgp
&lt;span class="k"&gt;  member&lt;/span&gt; vni 10200
&lt;span class="k"&gt;    ingress-replication&lt;/span&gt; protocol bgp
&lt;span class="k"&gt;  member&lt;/span&gt; vni 50001 associate-vrf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: BGP EVPN Overlay for ESI Routes
&lt;/h3&gt;

&lt;p&gt;The BGP EVPN session to spine route reflectors carries Type-1 and Type-4 routes. Verify that extended communities are enabled:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cisco_ios"&gt;&lt;code&gt;&lt;span class="kt"&gt;router bgp&lt;/span&gt;&lt;span class="nf"&gt; 65001&lt;/span&gt;
&lt;span class="k"&gt;  router-id&lt;/span&gt; &lt;span class="m"&gt;10.255.0.1&lt;/span&gt;
&lt;span class="k"&gt;  neighbor&lt;/span&gt; &lt;span class="m"&gt;10.255.0.100&lt;/span&gt;
&lt;span class="k"&gt;    remote-as&lt;/span&gt; 65001
&lt;span class="k"&gt;    update-source&lt;/span&gt; loopback0
&lt;span class="k"&gt;    address-family&lt;/span&gt; l2vpn evpn
&lt;span class="k"&gt;      send-community&lt;/span&gt; extended
&lt;span class="k"&gt;      send-community&lt;/span&gt; both
&lt;span class="k"&gt;  neighbor&lt;/span&gt; &lt;span class="m"&gt;10.255.0.101&lt;/span&gt;
&lt;span class="k"&gt;    remote-as&lt;/span&gt; 65001
&lt;span class="k"&gt;    update-source&lt;/span&gt; loopback0
&lt;span class="k"&gt;    address-family&lt;/span&gt; l2vpn evpn
&lt;span class="k"&gt;      send-community&lt;/span&gt; extended
&lt;span class="k"&gt;      send-community&lt;/span&gt; both

&lt;span class="k"&gt;evpn&lt;/span&gt;
&lt;span class="k"&gt;  vni&lt;/span&gt; 10100 l2
&lt;span class="k"&gt;    rd&lt;/span&gt; auto
&lt;span class="k"&gt;    route-target&lt;/span&gt; import auto
&lt;span class="k"&gt;    route-target&lt;/span&gt; export auto
&lt;span class="k"&gt;  vni&lt;/span&gt; 10200 l2
&lt;span class="k"&gt;    rd&lt;/span&gt; auto
&lt;span class="k"&gt;    route-target&lt;/span&gt; import auto
&lt;span class="k"&gt;    route-target&lt;/span&gt; export auto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Verification and Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Verify Ethernet Segment Status
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;Leaf-1#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show evpn esi
&lt;span class="go"&gt;ESI: 0000.0000.0001.0001.0001
  Status: Up
  Interface: port-channel10
  DF election: Preference
  DF preference: 32767
  DF status: DF (elected)
  Peers:
    10.255.0.2 (preference 16384) - Non-DF
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Confirms Leaf-1 is elected as the Designated Forwarder. The partner leaf at 10.255.0.2 shows as Non-DF.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verify BGP EVPN Type-1 and Type-4 Routes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;Leaf-1#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show bgp l2vpn evpn route-type 1
&lt;span class="go"&gt;BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.0.1:3
&lt;/span&gt;&lt;span class="gp"&gt;*&amp;gt;&lt;/span&gt;l[1]:[0000.0000.0001.0001.0001]:[0]/120
&lt;span class="go"&gt;      10.255.0.1           100      0 i
&lt;/span&gt;&lt;span class="gp"&gt;*&amp;gt;&lt;/span&gt;i[1]:[0000.0000.0001.0001.0001]:[0]/120
&lt;span class="go"&gt;      10.255.0.2           100      0 i

&lt;/span&gt;&lt;span class="gp"&gt;Leaf-1#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show bgp l2vpn evpn route-type 4
&lt;span class="go"&gt;BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.0.1:3
&lt;/span&gt;&lt;span class="gp"&gt;*&amp;gt;&lt;/span&gt;l[4]:[0000.0000.0001.0001.0001]:[10.255.0.1]/184
&lt;span class="go"&gt;      10.255.0.1           100      0 i
&lt;/span&gt;&lt;span class="gp"&gt;*&amp;gt;&lt;/span&gt;i[4]:[0000.0000.0001.0001.0001]:[10.255.0.2]/184
&lt;span class="go"&gt;      10.255.0.2           100      0 i
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both local (&lt;code&gt;*&amp;gt;l&lt;/code&gt;) and remote (&lt;code&gt;*&amp;gt;i&lt;/code&gt;) Type-1 and Type-4 routes should appear with matching ESI values.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verify Aliasing on Remote Leaves
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;Remote-Leaf#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;show l2route evpn mac all | include 10100
&lt;span class="go"&gt;Topology ID  Mac Address    Prod  Next Hop(s)
10100        aabb.cc00.0100 BGP   10.255.0.1, 10.255.0.2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Two next-hop addresses confirms aliasing is working — unicast traffic gets load-balanced across both ESI member leaves.&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Troubleshooting Scenarios
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;DF election not converging:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check that both leaves have the same ESI configured (&lt;code&gt;show evpn esi&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Verify Type-4 routes are being exchanged (&lt;code&gt;show bgp l2vpn evpn route-type 4&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Confirm LACP is operational on both ends (&lt;code&gt;show port-channel summary&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Duplicate BUM frames on the host:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DF election has failed and both leaves are forwarding BUM traffic&lt;/li&gt;
&lt;li&gt;Verify &lt;code&gt;designated-forwarder election type preference&lt;/code&gt; is configured consistently&lt;/li&gt;
&lt;li&gt;Check for Type-4 route filtering on the spine route reflectors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;MAC flapping on remote leaves:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Usually caused by an ESI mismatch — one leaf has the ESI configured while the other does not&lt;/li&gt;
&lt;li&gt;Verify with &lt;code&gt;show evpn esi&lt;/code&gt; on both leaves and ensure ESI values are identical&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ESI vs. vPC: When to Use Each
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criteria&lt;/th&gt;
&lt;th&gt;vPC&lt;/th&gt;
&lt;th&gt;ESI Multi-Homing&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Max leaf switches per group&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;2+ (standards allow more)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Control plane&lt;/td&gt;
&lt;td&gt;Proprietary (CFS)&lt;/td&gt;
&lt;td&gt;BGP EVPN (RFC 7432)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-vendor support&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Peer-link required&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maturity on NX-OS&lt;/td&gt;
&lt;td&gt;10+ years&lt;/td&gt;
&lt;td&gt;NX-OS 10.6.x (new)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Incremental migration&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Can coexist with vPC&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For greenfield deployments on NX-OS 10.6.x, ESI multi-homing is the forward-looking choice. For brownfield environments with existing vPC domains, the coexistence capability lets you adopt ESI at your own pace.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EVPN ESI multi-homing&lt;/strong&gt; replaces the proprietary vPC peer-link with standards-based BGP EVPN Type-1 and Type-4 routes, enabling multi-vendor interop and scaling beyond two-node pairs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NX-OS 10.6.x&lt;/strong&gt; supports both auto-LACP ESI derivation and manual ESI, with preference-based DF election for deterministic forwarding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aliasing&lt;/strong&gt; ensures remote VTEPs load-balance across all ESI member leaves.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coexistence with vPC&lt;/strong&gt; makes incremental migration practical.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key verification commands:&lt;/strong&gt; &lt;code&gt;show evpn esi&lt;/code&gt;, &lt;code&gt;show bgp l2vpn evpn route-type 1&lt;/code&gt;, and &lt;code&gt;show l2route evpn mac all&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-01-18-vxlan-evpn-multi-homing-esi-nexus/" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was adapted from original content with AI assistance. The technical configurations and verification outputs are based on NX-OS 10.6.x documentation and lab testing.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>cisco</category>
      <category>datacenter</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Volt Typhoon Weaponized SOHO Routers at Scale — Here's Your Zero-Trust Playbook for the Remote Edge</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Tue, 31 Mar 2026 22:54:04 +0000</pubDate>
      <link>https://forem.com/firstpasslab/volt-typhoon-weaponized-soho-routers-at-scale-heres-your-zero-trust-playbook-for-the-remote-edge-37d1</link>
      <guid>https://forem.com/firstpasslab/volt-typhoon-weaponized-soho-routers-at-scale-heres-your-zero-trust-playbook-for-the-remote-edge-37d1</guid>
      <description>&lt;p&gt;The FCC just banned all new foreign-made consumer routers from US sale (effective March 23, 2026), but here's what most coverage misses: &lt;strong&gt;the ban doesn't fix the actual problem.&lt;/strong&gt; Millions of unpatched SOHO routers already deployed in your remote workers' homes are the real attack surface — and three Chinese state-sponsored campaigns (Volt Typhoon, Flax Typhoon, Salt Typhoon) have been weaponizing them for years.&lt;/p&gt;

&lt;p&gt;This post breaks down the technical reality behind the ban, why it might actually &lt;em&gt;increase&lt;/em&gt; the US attack surface, and — most importantly — a concrete zero-trust playbook for removing the home router from your enterprise trust chain entirely.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the FCC Actually Banned
&lt;/h2&gt;

&lt;p&gt;The FCC's Public Safety Bureau issued &lt;a href="https://docs.fcc.gov/public/attachments/DOC-420034A1.pdf" rel="noopener noreferrer"&gt;DA 26-278&lt;/a&gt; on March 20, 2026. The order adds every consumer-grade router manufactured outside the US to the FCC's Covered List. New models can't get the FCC ID required for legal sale.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;March 23, 2026&lt;/td&gt;
&lt;td&gt;FCC ceases all new equipment authorizations for covered foreign-made routers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;September 2026&lt;/td&gt;
&lt;td&gt;Retailers prohibited from importing new inventory of covered devices&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;March 2027&lt;/td&gt;
&lt;td&gt;Maintenance Waiver expires — security patches from covered jurisdictions require federal audit&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The ban does &lt;strong&gt;not&lt;/strong&gt; affect: routers already purchased, previously authorized models, or enterprise/carrier-grade equipment.&lt;/p&gt;

&lt;p&gt;Here's the supply chain math that matters: China and Taiwan manufacture 60–75% of all consumer routers globally. The US produces ~10%. Supply disruption isn't hypothetical — it's arithmetic.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Typhoon Campaigns: How SOHO Routers Became Attack Infrastructure
&lt;/h2&gt;

&lt;p&gt;The FCC explicitly cited three Chinese state-sponsored campaigns as justification. Each exploited SOHO routers differently:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Campaign&lt;/th&gt;
&lt;th&gt;Technique&lt;/th&gt;
&lt;th&gt;Enterprise Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Volt Typhoon&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hijacked end-of-life SOHO routers as proxy infrastructure; targeted power grids, water systems&lt;/td&gt;
&lt;td&gt;VPN tunnels from compromised home routers provided direct pivot into enterprise networks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Flax Typhoon&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Built Raptor Train botnet from compromised IoT/SOHO devices&lt;/td&gt;
&lt;td&gt;Mass credential harvesting through residential IP addresses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Salt Typhoon&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Embedded in telecom networks using compromised routers as persistent footholds&lt;/td&gt;
&lt;td&gt;Long-term access to communications infrastructure; lateral movement across operator networks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CovertNetwork-1658&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Password spraying via thousands of compromised SOHO routers&lt;/td&gt;
&lt;td&gt;Evasive attack infrastructure rotating residential IPs to bypass detection&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The &lt;a href="https://media.defense.gov/2024/Sep/18/2003547016/-1/-1/0/CSA-PRC-LINKED-ACTORS-BOTNET.PDF" rel="noopener noreferrer"&gt;CISA/NSA Joint Advisory&lt;/a&gt; documented that US-based processor architectures were involved in over 90% of the compromises. Vendors like Cisco, Juniper, Netgear, and Fortinet were all exploited. &lt;strong&gt;Geographic origin was secondary to the actual attack vector: unpatched firmware, default credentials, and exposed management interfaces.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Paradox: This Ban Might Increase Your Attack Surface
&lt;/h2&gt;

&lt;p&gt;Here's the part that should concern every security engineer. Analysis from the &lt;a href="https://www.internetgovernance.org/2026/03/28/fake-cybersecurity-the-fcc-router-ban/" rel="noopener noreferrer"&gt;Internet Governance Project at Georgia Tech&lt;/a&gt; argues that banning the newest, most secure Wi-Fi 7/8 routers from dominant manufacturers forces consumers to either pay substantially more for US-made alternatives or — more likely — keep their older, more vulnerable devices longer.&lt;/p&gt;

&lt;p&gt;Compare the security posture across router generations:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Modern Wi-Fi 7&lt;/th&gt;
&lt;th&gt;Wi-Fi 6&lt;/th&gt;
&lt;th&gt;Legacy Wi-Fi 5 and older&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Encryption&lt;/td&gt;
&lt;td&gt;WPA3 mandatory&lt;/td&gt;
&lt;td&gt;WPA3 supported&lt;/td&gt;
&lt;td&gt;WPA2 only (KRACK-vulnerable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Firmware Updates&lt;/td&gt;
&lt;td&gt;Active auto-updates&lt;/td&gt;
&lt;td&gt;Active with manual check&lt;/td&gt;
&lt;td&gt;End-of-life — no patches&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardware Security&lt;/td&gt;
&lt;td&gt;Secure Boot + TPM&lt;/td&gt;
&lt;td&gt;Firmware signing&lt;/td&gt;
&lt;td&gt;Minimal or none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Management Exposure&lt;/td&gt;
&lt;td&gt;Cloud-managed, no open ports&lt;/td&gt;
&lt;td&gt;Mixed&lt;/td&gt;
&lt;td&gt;Often exposes UPnP, Telnet, HTTP admin&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The enterprise takeaway: regardless of what the FCC does about new hardware, &lt;strong&gt;your security posture cannot depend on the home router.&lt;/strong&gt; Treat every remote edge as hostile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F86zczweuvuascl1ubz40.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F86zczweuvuascl1ubz40.png" alt="Infographic: FCC Router Ban Security Impact" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Zero-Trust Playbook: Remove the Home Router from Your Trust Chain
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Deploy ISE Posture Assessment for All Remote Access
&lt;/h3&gt;

&lt;p&gt;Evaluate the &lt;strong&gt;endpoint&lt;/strong&gt; before granting network access — not the router. Configure posture policies that check OS patch level, endpoint protection status, disk encryption, and host-based firewall state.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Authorization Policy (simplified)
Rule: Remote_VPN_Posture
  Condition: Network Device Group == VPNs AND Posture_Status == NonCompliant
  Result: Redirect to Client Provisioning Portal (ACL: POSTURE_REDIRECT)

Rule: Remote_VPN_Compliant
  Condition: Network Device Group == VPNs AND Posture_Status == Compliant
  Result: PermitAccess (dACL: FULL_ACCESS)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Posture decisions are binary: compliant or non-compliant. Non-compliant endpoints get remediation instructions, not network access. This removes the SOHO router from the trust equation entirely.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Migrate from Traditional VPN to ZTNA
&lt;/h3&gt;

&lt;p&gt;Traditional site-to-site and remote-access VPN architectures implicitly trust the network path, including the home router. ZTNA flips the model: authenticate the user and device per-session, directly to the application, with no reliance on the underlying network.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Architecture&lt;/th&gt;
&lt;th&gt;Trust Model&lt;/th&gt;
&lt;th&gt;Home Router Dependency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Traditional RA-VPN&lt;/td&gt;
&lt;td&gt;Trusts the tunnel endpoint (includes home network path)&lt;/td&gt;
&lt;td&gt;High — router compromise can intercept or manipulate tunnel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Split-tunnel VPN&lt;/td&gt;
&lt;td&gt;Trusts partial path; internet traffic exits locally&lt;/td&gt;
&lt;td&gt;Medium — local traffic is fully exposed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ZTNA&lt;/td&gt;
&lt;td&gt;Zero trust — per-session, per-app authentication&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;None&lt;/strong&gt; — connection is user-to-app, router is irrelevant&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  3. Enforce SWG and DNS Security on Every Endpoint
&lt;/h3&gt;

&lt;p&gt;Even with ZTNA, remote endpoints still generate DNS queries and web traffic that traverse the home router. Deploy a Secure Web Gateway and DNS-layer security (like Cisco Umbrella or Cloudflare Gateway) on every managed endpoint:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS queries route to secure resolvers regardless of DHCP-assigned DNS from the home router&lt;/li&gt;
&lt;li&gt;Web traffic inspection occurs at the cloud proxy, not the SOHO device&lt;/li&gt;
&lt;li&gt;Intelligent proxy decrypts and inspects suspicious HTTPS connections&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Segment Remote Access with Micro-Zones
&lt;/h3&gt;

&lt;p&gt;Don't grant flat network access to VPN users. Use Security Group Tags (SGTs) or dynamic ACLs to segment remote workers into micro-zones based on role, device posture, and application requirements. A compromised remote endpoint should never have Layer 3 reachability to your DC management plane.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Monitor for Residential IP Anomalies
&lt;/h3&gt;

&lt;p&gt;The CovertNetwork-1658 campaign used thousands of compromised residential IPs for password spraying. Your SOC should:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flag authentication attempts from residential ISP ranges that don't match known employee locations&lt;/li&gt;
&lt;li&gt;Correlate VPN login geolocation with HR employee records&lt;/li&gt;
&lt;li&gt;Alert on unexpected residential IP blocks, especially from broadband providers in regions where you have no employees&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mpm9sk7jmmdl9n4seiv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mpm9sk7jmmdl9n4seiv.png" alt="Infographic: Zero-Trust Remote Edge Architecture" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The March 2027 Firmware Cliff
&lt;/h2&gt;

&lt;p&gt;The FCC's Maintenance Waiver expires in March 2027. After that date, security patches for foreign-made legacy devices originating from covered jurisdictions may require a secondary federal audit. Millions of currently-deployed routers could effectively become &lt;strong&gt;permanently unpatched.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For security teams, this creates a hard deadline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Accelerate ZTNA migration&lt;/strong&gt; — remove the home router from the trust chain before the firmware cliff hits&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deploy managed CPE&lt;/strong&gt; — issue corporate-managed access points or routers to critical remote workers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enforce endpoint-only security&lt;/strong&gt; — ensure every security function (firewall, DNS, VPN, posture) runs on the managed endpoint, not the SOHO device&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Supply Chain Reality Check
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Vendor&lt;/th&gt;
&lt;th&gt;Manufacturing Base&lt;/th&gt;
&lt;th&gt;Ban Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;TP-Link&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;China (Shenzhen)&lt;/td&gt;
&lt;td&gt;Directly affected — no new consumer model authorizations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Netgear&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Contract manufacturing in China, Vietnam&lt;/td&gt;
&lt;td&gt;Affected unless production shifts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linksys&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;China, Vietnam&lt;/td&gt;
&lt;td&gt;Affected for China-manufactured models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Starlink&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Texas, USA&lt;/td&gt;
&lt;td&gt;Exempt — manufactured domestically&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Juniper/HPE&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Flextronics (China, Canada, Mexico)&lt;/td&gt;
&lt;td&gt;Partially affected; pursuing Conditional Approval&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;As Greyhound Research chief analyst Sanchit Vir Gogia put it: &lt;em&gt;"This is about control, not just compromise. Routers sit at the network edge, but functionally they are part of the control plane of the enterprise."&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The FCC banned all new foreign-made consumer routers (March 23, 2026)&lt;/li&gt;
&lt;li&gt;The Typhoon campaigns weaponized SOHO routers to infiltrate US critical infrastructure at scale&lt;/li&gt;
&lt;li&gt;The ban might actually make things worse by slowing router upgrade cycles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your fix isn't a different router — it's removing the router from your trust chain entirely&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Deploy ISE posture + ZTNA + SWG + micro-segmentation + residential IP monitoring&lt;/li&gt;
&lt;li&gt;March 2027 firmware cliff makes this urgent&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://firstpasslab.com/blog/2026-03-31-fcc-bans-foreign-routers-enterprise-zero-trust-remote-edge-security/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;. More deep dives on network security architecture at &lt;a href="https://firstpasslab.com" rel="noopener noreferrer"&gt;firstpasslab.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI Disclosure: This article was adapted from original research with AI assistance for formatting and style optimization. All technical content, data points, and cited sources have been verified against their original publications.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>networking</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Equinix's 280-DC AI Fabric Just Changed the DCI Game — Here's the Architecture Under the Hood</title>
      <dc:creator>FirstPassLab</dc:creator>
      <pubDate>Tue, 31 Mar 2026 16:55:05 +0000</pubDate>
      <link>https://forem.com/firstpasslab/equinixs-280-dc-ai-fabric-just-changed-the-dci-game-heres-the-architecture-under-the-hood-4j3m</link>
      <guid>https://forem.com/firstpasslab/equinixs-280-dc-ai-fabric-just-changed-the-dci-game-heres-the-architecture-under-the-hood-4j3m</guid>
      <description>&lt;p&gt;Equinix launched the Distributed AI Hub on March 11, 2026 — spanning 280 data centers across 77 markets. Powered by Fabric Intelligence, it automates connectivity, routing, and security policy enforcement for distributed AI workloads. For network engineers, this is the clearest signal yet that manual DCI provisioning is being replaced by intent-based orchestration.&lt;/p&gt;

&lt;p&gt;Let's break down the architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Three-Component Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Function&lt;/th&gt;
&lt;th&gt;Network Impact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AI-Ready Backbone&lt;/td&gt;
&lt;td&gt;High-bandwidth transport fabric&lt;/td&gt;
&lt;td&gt;400 Gbps physical ports, 100 Gbps virtual connections&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fabric Intelligence&lt;/td&gt;
&lt;td&gt;Software-defined orchestration&lt;/td&gt;
&lt;td&gt;Real-time telemetry, automated routing, policy enforcement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Solutions Lab&lt;/td&gt;
&lt;td&gt;Architecture validation across 20 locations&lt;/td&gt;
&lt;td&gt;Pre-deployment testing for DCI and AI topologies&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For engineers working with VXLAN EVPN multi-site DCI, this is a familiar pattern scaled to an unprecedented level. Equinix is abstracting the underlay complexity into a managed service — the engineering challenge shifts from building the fabric to integrating with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Fabric Intelligence Changes DCI Operations
&lt;/h2&gt;

&lt;p&gt;Fabric Intelligence is a software layer on top of Equinix Fabric with real-time awareness, AI-driven automation, and policy enforcement for next-gen AI workloads. Here's what it means in practical terms:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-time telemetry and observability.&lt;/strong&gt; Live telemetry feeds across the entire Fabric mesh. For engineers accustomed to polling SNMP counters or scraping streaming telemetry from individual routers, this is centralized, cross-domain observability across dozens of metro areas — the kind of visibility that traditionally required building a custom network digital twin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated routing and segmentation.&lt;/strong&gt; Rather than manually configuring BGP peering sessions or adjusting ECMP weights, Fabric Intelligence dynamically adjusts routing based on workload requirements. This is intent-based networking applied to the interconnection layer — define performance and security requirements, the platform handles path selection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Policy enforcement at scale.&lt;/strong&gt; Palo Alto Networks Prisma AIRS is embedded directly in the Hub. Security policies enforced at the infrastructure layer from day one. No more bolt-on security where firewall rules lag behind connectivity changes.&lt;/p&gt;

&lt;p&gt;According to Equinix CBO Jon Lin, Q4 2025 saw over 4,500 deals closed in a single quarter, with ~60% of the largest deals driven by AI workloads. That volume can't be served by manual provisioning.&lt;/p&gt;

&lt;h2&gt;
  
  
  The APAC Demand Problem
&lt;/h2&gt;

&lt;p&gt;Asia-Pacific added 1,557 MW of new DC capacity in 2025, bringing the total to 13,763 MW — yet vacancy rates &lt;em&gt;shrank&lt;/em&gt; from 12.4% to 10.9% (Cushman &amp;amp; Wakefield, H2 2025). Record construction couldn't keep pace with AI demand.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Total APAC DC capacity (2025)&lt;/td&gt;
&lt;td&gt;13,763 MW&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New capacity added&lt;/td&gt;
&lt;td&gt;1,557 MW&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vacancy rate&lt;/td&gt;
&lt;td&gt;10.9% (down from 12.4%)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Development pipeline&lt;/td&gt;
&lt;td&gt;19.37 GW&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bangkok forecast growth (2026-2030)&lt;/td&gt;
&lt;td&gt;10.3x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jakarta forecast growth (2026-2030)&lt;/td&gt;
&lt;td&gt;4.4x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Investment highlights: CapitaLand committed US$874M (Singapore + Osaka), Nvidia-backed Reflection AI announced $6.7B in South Korea, AirTrunk secured Japan's largest-ever DC financing at $1.2B.&lt;/p&gt;

&lt;p&gt;For network engineers, these emerging Southeast Asian markets mean greenfield DCI designs with less legacy — but less mature peering ecosystems and higher latency challenges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Deep Dive: Three Planes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Transport Plane: 400G-Ready Backbone
&lt;/h3&gt;

&lt;p&gt;400 Gbps physical ports with QSFP-DD and OSFP transceiver support, plus 100 Gbps Fabric virtual connections. This is the WAN/metro DCI equivalent of what NVIDIA Spectrum-X does within a single AI cluster.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control Plane: Fabric Intelligence Orchestration
&lt;/h3&gt;

&lt;p&gt;The orchestration layer integrates with AI workload schedulers and cloud providers. When a Kubernetes cluster in Tokyo needs training data staged in Singapore, Fabric Intelligence handles virtual connection provisioning, QoS attachment, and route optimization — tasks that would traditionally require configuring BGP communities, adjusting DSCP markings, and verifying end-to-end latency manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Plane: Prisma AIRS at the Edge
&lt;/h3&gt;

&lt;p&gt;Prisma AIRS runs locally on Equinix Network Edge — AI-powered threat detection without backhauling to a centralized security stack. For distributed AI inference where microseconds matter, inline security at the interconnection point eliminates the hairpinning latency penalty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills That Matter Now
&lt;/h2&gt;

&lt;p&gt;Based on the technical requirements in the Equinix architecture and APAC buildout:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;400G transport and optics&lt;/strong&gt; — QSFP-DD, OSFP, ZR/ZR+, FEC options, fiber capacity planning. The market is moving toward 800G coherent for metro DCI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EVPN-VXLAN multi-site DCI&lt;/strong&gt; — Even though Equinix abstracts the underlay, enterprises connecting their own fabrics still need EVPN Type-5 routes, multi-site BGW peering, and VNI-to-VRF mappings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI traffic engineering&lt;/strong&gt; — AI inference workloads are bursty and latency-sensitive, often requiring RoCEv2 semantics across DCI links. DSCP marking for AI traffic classes, ECN configuration, PFC tuning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-cloud overlay architecture&lt;/strong&gt; — The Hub connects to AWS, Azure, GCP, and dozens of smaller clouds. Designing overlays that span Transit Gateway, Azure vWAN, and GCP NCC alongside Equinix Fabric.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intent-based networking and automation&lt;/strong&gt; — Fabric Intelligence is IBN for the DCI layer. Engineers who can write NETCONF/RESTCONF calls for Equinix Fabric or build Terraform modules for multi-cloud overlays will have a distinct advantage.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Career Shift
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Traditional DCI Role&lt;/th&gt;
&lt;th&gt;Emerging Distributed AI Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Manual cross-connect provisioning&lt;/td&gt;
&lt;td&gt;API-driven fabric orchestration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Static BGP peering configuration&lt;/td&gt;
&lt;td&gt;Intent-based routing automation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bolt-on firewall insertion&lt;/td&gt;
&lt;td&gt;Embedded security policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Per-link capacity planning&lt;/td&gt;
&lt;td&gt;AI workload-aware traffic engineering&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single-metro DCI design&lt;/td&gt;
&lt;td&gt;Multi-region, multi-cloud overlay architecture&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Continental AG deployed NVIDIA GPU clusters and IBM storage inside Equinix to support ADAS AI workloads — achieving 14x increase in AI experiments. The engineering work was designing the interconnection topology for distributed GPU clusters with consistent latency, not rack-and-stack.&lt;/p&gt;

&lt;p&gt;The operating model is shifting from CLI-driven config to API-driven orchestration. The foundational protocols (EVPN, BGP, VXLAN, QoS) don't change — the &lt;em&gt;interface&lt;/em&gt; does.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Equinix launched the largest AI-ready DCI fabric: 280 DCs, 77 markets, Fabric Intelligence orchestration&lt;/li&gt;
&lt;li&gt;APAC DC vacancy is &lt;em&gt;shrinking&lt;/em&gt; despite record construction — AI demand outpaces everything&lt;/li&gt;
&lt;li&gt;The architecture has three planes: 400G transport, intent-based control, inline Prisma AIRS security&lt;/li&gt;
&lt;li&gt;Skills to prioritize: 400G optics, EVPN-VXLAN DCI, AI traffic engineering, multi-cloud overlays, automation&lt;/li&gt;
&lt;li&gt;The career shift: manual provisioning → API-driven orchestration&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://firstpasslab.com/blog/2026-03-31-equinix-distributed-ai-hub-data-center-interconnect-network-engineer-guide/" rel="noopener noreferrer"&gt;FirstPassLab&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: This article was adapted from the original blog post with AI assistance. Technical content has been reviewed for accuracy.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>datacenter</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
