<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/what-is-port-forwarding--zpxeehien" -->

---
title: What is port forwarding? | daily.dev
description: Port forwarding maps an external port on a router or firewall to an internal device, letting outside traffic reach services like local LLMs, webhook endpoints,...
canonical: https://daily.dev/posts/what-is-port-forwarding--zpxeehien
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: What is port forwarding? | daily.dev
og:description: Port forwarding maps an external port on a router or firewall to an internal device, letting outside traffic reach services like local LLMs, webhook endpoints,...
og:url: https://daily.dev/posts/what-is-port-forwarding--zpxeehien
og:image: https://api.daily.dev/og/posts/zPXeEhIEn.png
og:image:alt: What is port forwarding?
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# What is port forwarding?

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 8 min read · 0 upvotes · 0 comments

## Summary

Port forwarding maps an external port on a router or firewall to an internal device, letting outside traffic reach services like local LLMs, webhook endpoints, self-hosted apps, or remote devices. Common use cases include webhook/API development, sharing local AI apps, site-to-site connectivity, remote server management, and self-hosting. The technique is increasingly difficult due to Carrier-Grade NAT (CGNAT), nested network layers (Docker, devcontainers, cloud IDEs), and dynamic IPs, and it carries security risks such as exposure to scanners, lack of built-in access control, and configuration errors. The piece positions ngrok's tunneling service as an alternative that works behind CGNAT, includes built-in TLS/OAuth/rate limiting, and handles nested network setups without manual router configuration.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/what-is-port-forwarding>

## Questions this post answers

### Why doesn't port forwarding work on my home network anymore?

Port forwarding often fails because of Carrier-Grade NAT (CGNAT), where ISPs share a single public IP across many customers due to IPv4 exhaustion. When behind CGNAT, your router's 'public' address is actually still private inside the ISP's network, so there is no public IP to forward ports on, and no router setting can fix this.

_daily.dev surfaces networking explainers for developers troubleshooting connectivity issues like CGNAT._

### What are the security risks of opening a port with port forwarding?

Open ports are visible to automated scanners like Shodan and Censys, and botnets probe exposed ports continuously, often scanning a newly opened residential port within minutes. Traditional port forwarding offers no built-in authentication, IP allowlisting, or rate limiting, so any protection must come from the application itself, and misconfigurations can silently expose the wrong service.

_developers weighing exposure risks against convenience can track security practices on daily.dev._

### How can I make a local LLM or web app accessible to a teammate without deploying it?

Instead of configuring port forwarding on a router, a tunneling tool can establish an outbound connection from a local machine to a public network, generating a shareable URL without opening any ports. This approach keeps large model weights off remote servers, avoids router configuration, and works even behind CGNAT or corporate firewalls.

_developers sharing local LLM builds with teammates can find tooling comparisons on daily.dev._

## Similar posts on daily.dev

- [My ISP stuck me behind CGNAT, and a free Cloudflare tunnel made my home server reachable again](https://daily.dev/posts/my-isp-stuck-me-behind-cgnat-and-a-free-cloudflare-tunnel-made-my-home-server-reachable-again-k8tt9qe2s) · XDA Developers · 0 upvotes · 0 comments
- [Self-Hosting Behind CGNAT](https://daily.dev/posts/self-hosting-behind-cgnat-lrdls1bcr) · Lobsters · 1 upvotes · 0 comments
- [Self-hosted HTTP tunnels with SSH and nginx](https://daily.dev/posts/self-hosted-http-tunnels-with-ssh-and-nginx-qeu3pqxry) · Lobsters · 1 upvotes · 0 comments
- [Cloudflare Tunnels — How it works BTS?](https://daily.dev/posts/cloudflare-tunnels-how-it-works-bts--rb3kdcmnd) · Medium · 0 upvotes · 0 comments
- [I ditched port forwarding for a mesh VPN, and my home network is finally secure](https://daily.dev/posts/i-ditched-port-forwarding-for-a-mesh-vpn-and-my-home-network-is-finally-secure-pk0onln3h) · XDA Developers · 9 upvotes · 4 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#networking](https://daily.dev/tags/networking)

[View this post on daily.dev](https://daily.dev/posts/what-is-port-forwarding--zpxeehien)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"What is port forwarding?","url":"https://daily.dev/posts/what-is-port-forwarding--zpxeehien","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/what-is-port-forwarding--zpxeehien"},"datePublished":"2026-08-23T07:20:39.819Z","dateModified":"2026-08-23T07:25:54.431Z","description":"Port forwarding maps an external port on a router or firewall to an internal device, letting outside traffic reach services like local LLMs, webhook endpoints,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/283d55d3aa8e36373752ad00a75e54fd?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/283d55d3aa8e36373752ad00a75e54fd?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/what-is-port-forwarding--zpxeehien","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,networking","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"What is port forwarding?"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/what-is-port-forwarding--zpxeehien#faq","mainEntity":[{"@type":"Question","name":"Why doesn't port forwarding work on my home network anymore?","acceptedAnswer":{"@type":"Answer","text":"Port forwarding often fails because of Carrier-Grade NAT (CGNAT), where ISPs share a single public IP across many customers due to IPv4 exhaustion. When behind CGNAT, your router's 'public' address is actually still private inside the ISP's network, so there is no public IP to forward ports on, and no router setting can fix this. daily.dev surfaces networking explainers for developers troubleshooting connectivity issues like CGNAT."}},{"@type":"Question","name":"What are the security risks of opening a port with port forwarding?","acceptedAnswer":{"@type":"Answer","text":"Open ports are visible to automated scanners like Shodan and Censys, and botnets probe exposed ports continuously, often scanning a newly opened residential port within minutes. Traditional port forwarding offers no built-in authentication, IP allowlisting, or rate limiting, so any protection must come from the application itself, and misconfigurations can silently expose the wrong service. developers weighing exposure risks against convenience can track security practices on daily.dev."}},{"@type":"Question","name":"How can I make a local LLM or web app accessible to a teammate without deploying it?","acceptedAnswer":{"@type":"Answer","text":"Instead of configuring port forwarding on a router, a tunneling tool can establish an outbound connection from a local machine to a public network, generating a shareable URL without opening any ports. This approach keeps large model weights off remote servers, avoids router configuration, and works even behind CGNAT or corporate firewalls. developers sharing local LLM builds with teammates can find tooling comparisons on daily.dev."}}]}
```

