<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Tunneling on Hendrickx Consulting</title>
    <link>/tags/tunneling/</link>
    <description>Recent content in Tunneling on Hendrickx Consulting</description>
    <image>
      <title>Hendrickx Consulting</title>
      <url>/images/papermod-cover.png</url>
      <link>/images/papermod-cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Hendrickx Consulting</copyright>
    <lastBuildDate>Sun, 03 May 2026 13:11:34 +0200</lastBuildDate>
    <atom:link href="/tags/tunneling/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Exposing Internal Services via Pangolin &#43; Traefik Without Internal DNS Access</title>
      <link>/posts/exposing-internal-services-via-pangolin/</link>
      <pubDate>Sun, 03 May 2026 13:11:34 +0200</pubDate>
      <guid>/posts/exposing-internal-services-via-pangolin/</guid>
      <description>&lt;p&gt;&lt;em&gt;A pattern for homelab reverse proxy chaining over WireGuard tunnels&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.pangolin.net/&#34;&gt;Pangolin&lt;/a&gt; is a self-hostable tunneling reverse proxy, similar in spirit to Cloudflare Tunnel. You run Pangolin on a public VPS, deploy a lightweight agent called Newt inside your homelab, and Newt maintains an outbound WireGuard tunnel back to the VPS. Pangolin then proxies public traffic through that tunnel to your internal services, no open inbound ports required.&lt;/p&gt;
&lt;p&gt;The challenge arises when you want to route traffic to internal services by DNS name rather than by IP address. In a typical homelab, DNS names for internal services are resolved by a local DNS server (like Pi-hole). Pangolin runs on the VPS and it has no access to your internal DNS, so it cannot resolve those names.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
