一、什么是内网穿透(NAT 穿透)?
在现代网络环境中,绝大多数家庭和企业都通过路由器(NAT 设备)连接互联网。NAT(Network Address Translation,网络地址转换)允许多个内网设备共享一个公网 IP,但也带来了一个问题:外部网络无法直接访问内网主机。
内网穿透(NAT 穿透)就是指让外部网络能够访问位于 NAT 后面的内网主机的技术。
常见应用场景包括:
远程桌面、远程 SSH、数据库、API接口;
内网网站、家庭NAS、服务对外发布、FTP文件共享;
远程监控、管家婆固定211端口访问、物联网设备管理;
……
二、NAT 穿透的工作原理
NAT 设备会将内网主机的私有 IP 地址转换为公网 IP 地址,并维护一个地址映射表。
问题:外部主机无法主动发起连接到 NAT 后的内网主机,因为 NAT 不知道如何将数据包转发到内网。
穿透的核心思想:
让内网主机主动与外部服务器建立连接(通常是公网服务器);
外部主机通过该服务器“中转”或“协商”与内网主机通信;
三、常见的内网穿透方法
1. 网络硬件端口映射(Port Forwarding)
在路由器/NAT 设备上手动配置,将某个端口的流量转发到内网主机。
优点:简单高效。
缺点:需要有路由器管理权限,需要有公网 IP。
2. 反向代理(Reverse Proxy)
内网主机主动连接到公网服务器,公网服务器作为代理转发外部请求。
典型应用:ngrok、SSH等
3. NAT 穿透技术P2P 打洞(UDP/TCP Hole Punching)
双方主机同时向对方发送数据包,利用 NAT 的“连接跟踪”特性建立直连。需要第三方服务器协助“牵线”。如支持端对端点到点的内网穿透应用frp和nat123。
四、常用的内网穿透工具
1. frp(Fast Reverse Proxy)
frp是一款开源、高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,适合自建内网穿透服务。
2. ngrok
ngrok支持 HTTP、TCP 等协议的内网穿透,提供公网访问地址,适合临时调试和演示,有官方和第三方开源版本,商业版可直接使用。
3. nat123
比较老牌的内网穿透服务,它可以将位于内网的设备或服务暴露在公网上,使用户可以通过公网访问这些设备或服务,提供客户端和云端服务,不用公网IP,不用路由设置。同时提供了简单操作界面化windows客户端,和适用于Linux/android等版本选择使用,适合普通小白用户和非专业技术人员普通人使用。
4. Zerotier、Tailscale
虚拟组网工具,通过组网技术实现内网穿透,适合组建虚拟局域网,实现多地互联。
5. OpenVPN、WireGuard
虚拟专用网(VPN)方案,通过 VPN 隧道实现内网互通。