一、内网穿透是什么
内网穿透(NAT 穿透)就是指让外部网络能够访问位于 NAT 后面的内网主机的技术。因为大多家庭网络和普通公司内部网络,都是经过网络商NAT转发,外部网络不能直接访问内部服务器和端口应用。
简单来说,内网穿透就像给你的内网设备开了一扇“可以让外网访问的门”。它的原理通常是:本地设备向中转服务器(公网可访问)发起连接并保持通信,外部访问请求也连接这个中转服务器,中转服务器将双方连接“牵线搭桥”,通过改变端口转发数据,或端对端同固定点到点直连模式,实现跨网下的数据互通。
二、常见内网穿透场景
具体来说以下这些场景都可以用内网穿透解决远程访问难题,常见应用场景包括:
远程办公:远程桌面、远程 SSH,远程连接公司电脑、查看资料、访问内网系统
NAS异地访问:在外访问家中群晖、绿联、飞牛OS等NAS设备
视频监控:远程监控、物联网设备管理,异地实时查看家中/工地/门店摄像头画面
开发调试:小程序、网站本地开发后外网联调测试
智能家居控制:外出时远程控制空调、灯光、门锁等
内网应用提供互联网服务: 内网网站、服务对外发布
三、内网穿透NAT的工作原理
NAT 设备会将内网主机的私有 IP 地址转换为公网 IP 地址,并维护一个地址映射表。
问题:外部主机无法主动发起连接到 NAT 后的内网主机,因为 NAT 不知道如何将数据包转发到内网。
穿透的核心思想
让内网主机主动与外部服务器建立连接(通常是公网服务器)
外部主机通过该服务器“中转”或“协商”与内网主机通信
四、常见的内网穿透方案
1. 网络硬件做端口映射(Port Forwarding)
在路由器/NAT 设备上手动配置,将某个端口的流量转发到内网主机。
优点:简单高效
缺点:需要有路由器管理权限,不适用于无公网 IP环境
2. 反向代理(Reverse Proxy)
内网主机主动连接到公网服务器,公网服务器作为代理转发外部请求。
典型应用:ngrok、frp、花生壳、nat123等
3. NAT 穿透技术
(1) STUN(Session Traversal Utilities for NAT):
主要用于 UDP 协议
内网主机通过 STUN 服务器获取自己的公网地址和端口
适用于对称 NAT 以外的大多数 NAT 类型
(2)TURN(Traversal Using Relays around NAT):
当 STUN 失败时,使用 TURN 服务器中继所有流量
适用于所有 NAT 类型,但带宽消耗大
(3)UPnP(通用即插即用):
内网主机请求路由器自动配置端口映射
需要路由器支持并开启 UPnP 功能
(4) P2P 打洞(UDP/TCP Hole Punching):
双方主机同时向对方发送数据包,利用 NAT 的“连接跟踪”特性建立直连
需要第三方服务器协助“牵线”,如FRP和nat123均有点到点直连模式,内外网同端口访问
五、常用的内网穿透工具
1. frp(Fast Reverse Proxy)
frp是一款开源、高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,适合自建内网穿透服务。
2. ngrok
ngrok支持 HTTP、TCP 等协议的内网穿透,提供公网访问地址,适合临时调试和演示,有官方和第三方开源版本,商业版可直接使用。
3. 花生壳(Oray)、nat123、快解析
国内知名的操作便捷式内网穿透服务,它可以将位于内网的设备或服务暴露在公网上,使用户可以通过公网访问这些设备或服务,提供客户端和云端服务,适合小白用户
4. Zerotier、Tailscale
虚拟组网工具,通过 P2P 技术实现内网穿透,适合组建虚拟局域网,实现多地互联
5. OpenVPN、WireGuard
虚拟专用网(VPN)方案,通过 VPN 隧道实现内网互通,安全性高(加密传输)
内网穿透是解决 NAT 后主机无法被外部访问的关键技术 ,工具选择需结合实际需求,如安全性、易用性、带宽、是否使用自定义公网域名地址、稳定和成本控制等。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。