---
title: "Self Hosting Behind CGNAT - How to Expose Services from Home"
description: "Want to self host behind CGNAT? Learn why normal port forwarding fails and how NeedPorts gives home labs a static public IP and dedicated forwarded ports."
image: "https://needports.com/og-image.svg"
canonical: "https://needports.com/self-hosting-behind-cgnat.html"
html: "https://needports.com/self-hosting-behind-cgnat.html"
---
[Home](/) / [Guides](/guides.html) / Self Hosting Behind CGNATSelf Hosting Behind CGNAT

# How to expose home-lab services when your ISP uses CGNAT


If you want to self host from home but your ISP uses carrier-grade NAT, normal router port forwarding often does nothing. NeedPorts gives you a stable public endpoint and dedicated forwarded ports so services in your home lab or self-hosted setup can be reached from the public internet.

[View NeedPorts Plans](/?usecase=selfhost#order)[Read the CGNAT guide](/cgnat-port-forwarding.html)

## Why self hosting behind CGNAT is frustrating


Most self-hosting tutorials assume your router is the only NAT layer that matters. That stops being true when your ISP places you behind CGNAT. You can forward ports on your own router and still find that nothing is reachable from outside your home.


That is why people often end up bouncing between VPNs, reverse tunnels, and cloud relays just to get SSH, dashboards, APIs, or personal services reachable from the internet.


### Common services people want to expose


SSH, game servers, dashboards, web apps, AI inference endpoints, private APIs, and remote admin tooling.


### What usually goes wrong


Router port forwarding looks correct locally, but inbound traffic never arrives because the ISP NAT layer is still in front of you.


## How NeedPorts fits home labs and self hosters


- Gives you a static public IP-facing endpoint.
- Reserves a dedicated block of forwarded ports for your machine.
- Works well when you need more than one exposed service.
- Provides a simpler path than building and maintaining your own relay stack.
- Supports both TCP and UDP style workloads.
- Works on Ubuntu and other Linux hosts, including Raspberry Pi and ARM64 systems.


## When this is a good fit


NeedPorts is useful when you want a home-lab-friendly way to expose services from behind CGNAT without relying on a single forwarded VPN port or negotiating with your ISP for a public IP. It is especially useful when you need multiple ports, stable addressing, and something that is easy to set up on one machine.


## How to verify a self-host install


NeedPorts now includes a small helper for non-vast installs called `needports-selftest`. After install, you can start it on one assigned forwarded port and test the public endpoint from another machine.


Typical flow:


- Run the installer with the self-hosted use case selected.
- Start the helper on one assigned port, for example: `needports-selftest 30450`
- From another machine, test the public endpoint with curl.


## Plans start small


Plans start at **$5/month** or **$30/year** for 25 dedicated ports, which is enough for many smaller self-hosted setups. Larger plans are available when you need more ports or more throughput.

[Get Started](/?usecase=selfhost#order)[Back to Guides](/guides.html)

## Related reading


If you want the adjacent explanations, read the CGNAT guide or the vast.ai guide.

[Read the CGNAT guide](/cgnat-port-forwarding.html)[Read the vast.ai guide](/vast-ai-port-forwarding.html)

```json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Self Hosting Behind CGNAT - How to Expose Services from Home",
  "description": "Want to self host behind CGNAT? Learn why standard port forwarding fails and what actually works.",
  "author": {
    "@type": "Organization",
    "name": "NeedPorts",
    "@id": "https://needports.com/#organization",
    "url": "https://needports.com/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "NeedPorts",
    "@id": "https://needports.com/#organization",
    "url": "https://needports.com/"
  },
  "mainEntityOfPage": "https://needports.com/self-hosting-behind-cgnat.html"
}
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://needports.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Guides",
          "item": "https://needports.com/guides.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Self Hosting Behind CGNAT - How to Expose Services from Home",
          "item": "https://needports.com/self-hosting-behind-cgnat.html"
        }
      ]
    }
  ]
}
```
