<?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>DEV Community: edgeslink sdwan</title>
    <description>The latest articles on DEV Community by edgeslink sdwan (@edgeslink_sdwan_912a84411).</description>
    <link>https://dev.to/edgeslink_sdwan_912a84411</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%2F3656810%2Fe92fc955-7423-44be-9076-44affc6c7fbb.png</url>
      <title>DEV Community: edgeslink sdwan</title>
      <link>https://dev.to/edgeslink_sdwan_912a84411</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/edgeslink_sdwan_912a84411"/>
    <language>en</language>
    <item>
      <title>I built an overlay network with a NAT gateway and offline LAN device access (cross-platform, experimental project)</title>
      <dc:creator>edgeslink sdwan</dc:creator>
      <pubDate>Thu, 11 Dec 2025 08:00:41 +0000</pubDate>
      <link>https://dev.to/edgeslink_sdwan_912a84411/i-built-an-overlay-network-with-a-nat-gateway-and-offline-lan-device-access-cross-platform-1dji</link>
      <guid>https://dev.to/edgeslink_sdwan_912a84411/i-built-an-overlay-network-with-a-nat-gateway-and-offline-lan-device-access-cross-platform-1dji</guid>
      <description>&lt;p&gt;I built an overlay network with a NAT gateway and offline LAN device access (cross-platform, experimental project)&lt;/p&gt;

&lt;p&gt;Over the past months I’ve been experimenting with building a small overlay networking system to explore some limitations I often hit with existing tools like Tailscale or ZeroTier.&lt;/p&gt;

&lt;p&gt;This is not a commercial product.&lt;br&gt;
It’s an engineering exploration around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NAT behavior inside an overlay&lt;/li&gt;
&lt;li&gt;exporting LAN subnets&lt;/li&gt;
&lt;li&gt;reaching offline / isolated devices&lt;/li&gt;
&lt;li&gt;testing different node roles&lt;/li&gt;
&lt;li&gt;cross-platform networking on macOS/Windows/Linux&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m sharing it here to document the project and hopefully collect some technical feedback from the community.&lt;/p&gt;

&lt;p&gt;🔧 Why I built this&lt;/p&gt;

&lt;p&gt;Existing mesh/overlay systems are excellent—but I had three gaps I wanted to explore deeper:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Embedding a NAT Gateway inside the overlay&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most overlay networks tunnel traffic between nodes without providing a full internal NAT gateway.&lt;br&gt;
I wanted to experiment with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;exporting local LAN subnets&lt;/li&gt;
&lt;li&gt;routing remote peers into isolated networks&lt;/li&gt;
&lt;li&gt;using the overlay as a security boundary&lt;/li&gt;
&lt;li&gt;having a gateway node that acts as egress for others&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Accessing offline LAN devices (USB-NIC scenario)
In many industrial / IoT / camera / printer deployments:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Devices live on isolated LANs with no Internet&lt;/li&gt;
&lt;li&gt;They expose only Ethernet&lt;/li&gt;
&lt;li&gt;They cannot run an agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By plugging a USB-NIC into a laptop/mini-PC running the overlay client, I can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;bridge the isolated LAN&lt;/li&gt;
&lt;li&gt;expose selected devices to the overlay&lt;/li&gt;
&lt;li&gt;manage them remotely without touching the LAN configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This has been surprisingly useful for cameras, printers, PLCs, and small embedded systems.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multiple internal node roles&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I introduced three simple node roles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edge – the standard client&lt;/li&gt;
&lt;li&gt;Master (hub-like) – provides a stable anchor for peers&lt;/li&gt;
&lt;li&gt;Direct-Relay – helps forward traffic between nodes when direct routing is impossible
These roles are not SD-WAN standards, just internal behaviors I wanted to prototype.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🌐 Cross-platform support&lt;/p&gt;

&lt;p&gt;The client currently works on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;macOS (Intel + Apple Silicon)&lt;/li&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to ensure consistent routing and NAT behavior across systems, especially for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;exporting subnets&lt;/li&gt;
&lt;li&gt;managing multiple interfaces&lt;/li&gt;
&lt;li&gt;ensuring stable point-to-point links&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🛠 Architecture overview&lt;/p&gt;

&lt;p&gt;High-level components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;control plane for peer coordination&lt;/li&gt;
&lt;li&gt;data plane based on encrypted P2P tunnels&lt;/li&gt;
&lt;li&gt;NAT gateway module&lt;/li&gt;
&lt;li&gt;USB-NIC detection + LAN export&lt;/li&gt;
&lt;li&gt;fallback routing via relay nodes&lt;/li&gt;
&lt;li&gt;peer metadata/state tracking
If the HN/Dev community is interested, I can publish a full architecture breakdown.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 Project link&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.edgeslink.com" rel="noopener noreferrer"&gt;https://www.edgeslink.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📬 Contact (optional)&lt;/p&gt;

&lt;p&gt;If anyone wants to discuss deeper technical details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email: &lt;a href="mailto:edgeslinksdwan@gmail.com"&gt;edgeslinksdwan@gmail.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Telegram: &lt;a href="https://t.me/edgeslink" rel="noopener noreferrer"&gt;https://t.me/edgeslink&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🙏 Thanks for reading&lt;/p&gt;

&lt;p&gt;Happy to answer questions or elaborate on any part of the project.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>networking</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
