内网穿透一次讲透,技术原理&方案及最佳实践

内网穿透一次讲透,技术原理&方案及最佳实践

2026-09-21 22:30:26 0点赞 9收藏 0评论

人在外面,想连回家里的 NAS、办公室测试机或客户内网设备,结果不是连不上,就是时通时断。如何像在家里电脑一样随时访问NAS、路由、服务器设备,这时候可需要用到内网穿透技术。

内网穿透:就是用隧道、中继或打洞,把外网请求送进内网,让没有稳定公网入口的服务也能被访问。可它的痛点,从来不只是“缺公网 IP”。有了IPv6网络后,公网地址其实不再稀缺,但覆盖不均、前缀会变、入站端口常被封,企业防火墙和公共 WiFi 又只放行出站;换 VPN,配置复杂、权限粗放;自建 frp、nps,还要操心 TLS、鉴权、重连和运维。免费的不稳,商业的贵且可能锁定。内网穿透看似只是打通一条路,实则是可达性、安全、成本与运维的反复权衡。

一、内网穿透有什么用?

通俗说让外部网络能访问到你家里或公司内网里的设备和服务,就跟局域网使用一样

优点:成本极低、数据在本地、方便扩展和日常维护

1、远程办公‌:访问内网应用,在外面直接连公司电脑、访问Docker应用、OA/ERP/财务系统、调取内网文件,就像坐在工位上一样

2、当做轻量化服务器:用旧电脑就能搭建个人网站或博客并发布到公网,省去买云服务器和备案的流程

3、访问NAS和数据存储:出门在外用手机随时存取家里NAS上的照片、电影和文件,数据掌握在自己手里

4、远程运维: 相对手机App阉割版,用web管理控制台更方便全面,远程登录家庭电脑、公司服务器、工控设备或监控主机进行故障排查和维护

二、目前难点及相关技术解析

2.1、家庭内网穿透痛点及难点

为什么网络不稳定,外网不能支持访问局域网而云VPS却可以?

1、不给公网IP

分配10/100 段内网 IP,不是真正公网 IP;你的光猫只是运营商大内网下的一台设备,外网无法直接寻址

2、给了公网IP会变

隔一段时间就会发生变化,频率:可能是一周、1天、1个月

每次重启宽带 IP 就变,需要 DDNS

3、如何判断是内网IP还是公网IP

浏览器搜 “我的 IP” 得到的 IP ≠ 路由器 WAN IP 两者不一样,基本就是 CGNAT 或者双层 NAT!

如下:WANIP是192.168.1.2,是内网IP,WAN IPv6是公网IP

image-20260920154158126image-20260920154158126

接单思路:

1、获取公网IP,IP+DDNS

2、通过代理+P2P打孔绕过

2.2、公网IPv4和公网IPv6

内网和外网

image-20260920155447734image-20260920155447734

简单说:

内网指的是连接路由器有线、wifi的网络

外网指的是互联网

1)IPv6构成

IPv6 拥有 128 位地址空间,总共 2¹²⁸ 个地址,换算成日常感知——地球上每个人都能分到几亿亿个地址

image-20260920150919913image-20260920150919913

1)路由前缀

  • 占 48 比特,也叫路由前缀

  • 由 ISP(互联网服务提供商,运营商)分配给企业 / 机构

  • 作用:用来在互联网骨干路由,定位到这个运营商网络

2)组织机构(Subnet ID,16 bit)

子网 ID

  • 占 16 比特

  • 企业拿到运营商给的 48bit 前缀后,自己用这 16 位划分子网

  • 作用:企业内部划分不同 VLAN / 子网,最多可以划分 2^{16}=65536 个子网

1+2,运营商分配的路由,定位到你家的WAN网络出入口

3)接口标识符(Interface ID,64 bit)

占 64 比特,用来标识链路里单个网卡 / 设备接口

路由器分配给下游设备的IP,路由器定位到电脑、PC、平板手机登设备

  • 最常见生成方式:EUI-64,由网卡 MAC 地址转换而来

  • 作用:同一个子网内,区分不同主机

  • 本例:0260:47FF:FEA4:2401 就是接口 ID

公网IP

简单判断是否公网IP,一般运营商是2开头属于公网IP

FE80 开头,一般用于本地通信,局域网IP段

2开头属于公网IP,常见的有

  • ‌中国电信‌:以 240e 开头,常见形式如 240e:3a1:xxxx::/48

  • ‌中国联通‌:以 2408 开头,常见形式如 2408:82xx:xxxx::/48

  • ‌中国移动‌:以 2409 开头,常见形式如 `2409:8axx:xxxx::/48

2)IPV4和NAT

IPv4

IPv4 是互联网最基础的第四版网际协议,使用 32 位地址,格式为点分十进制,理论上约 43 亿个独立地址。早期设计时没有预估到互联网规模爆发,地址总量早已枯竭,所以运营商普遍采用 CGNAT 等技术复用地址;它负责在网络中寻址、转发数据包,是家庭宽带、内网穿透、端口映射场景最常打交道的网络层协议。

NAT

NAT 即网络地址转换,是一种地址改写技术,部署在路由器 / 光猫上。它把内网大量私有 IP,统一转换成出口的单个公网 IP,实现多台设备共用一个 IP 上网。NAT 会隔离外网主动向内网发起的连接,保护内网设备,但也带来副作用:无公网 IP 时端口映射失效,双层 NAT 会进一步阻碍 P2P、远程访问和内网穿透。

DHCP

DHCP 是动态主机配置协议,在内网中由路由器负责自动分配 IP 地址、子网掩码、网关、DNS 给接入的电脑、NAS、手机等设备。设备开机联网时自动向路由器申请地址,断网或租期到期后地址可能变化;优点是免手动配置,简单省心;缺点是内网设备 IP 不固定,做端口映射、内网穿透时,如果目标设备 IP 变动,规则就会失效。

固定 IP

固定 IP(静态 IP),由人工给网卡手动设置不变的内网 IP、子网掩码、网关和 DNS,不会随重启、重连网络改变。在内网环境里,NAS、服务器、监控这类需要稳定访问的设备适合配置静态 IP,能保证端口映射、穿透规则长期有效;注意区分:内网固定 IP≠公网固定 IP,内网静态 IP 只是局域网地址不变,和运营商出口公网 IP 是两回事。

2.3、常见组网和防火墙

image-20260920160512938image-20260920160512938

防火墙

家庭网络,一般可见的至少两三堵防火墙,PC、路由器防火墙

PC上可选安装,拦截PC和路由器之间的进出网络流量,有时候XX服务访问不了,就是防火墙设置拦截了。单独配置端口的进出规则,或者简单些关掉防火墙

路由器或光猫,管理家庭网络和外网的网络流量控制,如果需要内网NAS等设备在外网可访问,一定要打开防火墙:

1、监督可疑外部访问

2、仅允许部分端口流量出去

2.4、相关概念

1、公网IP(Public IP)

全球唯一的IP地址,相当于互联网上的“家庭住址”。整个互联网通过这个地址才能找到你。但现在IPv4地址紧张,很多宽带运营商不会给每个家庭分配独立的公网IP。一般默认会给IPv4公网IP

2、内网IP(Private IP)

在局域网(LAN)内部使用的IP地址,比如 192.168.x.x, 10.x.x.x。你家的电脑、手机、打印机都通过路由器获取内网IP。外部网络无法直接通过这个地址访问到你

3、NAT(网络地址转换)

家庭 / 公司内网设备只有私有 IP(192.168.x.x、10.x.x.x),公网无法主动访问。内网穿透就是让公网客户端能连接到处于 NAT 后面的内网服务。一般家用网络,猫和路由器构成双层NAT

常见猫的IP:192.168.1.1,猫给路由器的IP分的IP:192.168.1.2

路由器网关:192.168.50.1,你的电脑和手机由路由器分配IP,192.168.50.X

几种NAT类型

image-20260920151828039image-20260920151828039
  • 静态NAT:将内部本地地址与一个固定的公网地址做一对一的永久映射,常用于需要外部稳定访问的服务器

  • 动态NAT:从公网地址池中动态分配一个可用地址给内部主机,实现多对多的临时一对一映射

  • PAT:通过复用同一个公网IP的不同端口号,让多个内部主机同时共享少量公网地址访问外部网络

4、端口映射

image-20260920152225047image-20260920152225047

5、猫设置桥接还是路由模式

桥接:1次NAT,路由:两次NAT

早些年路由器拨号还是比较常见,近些年安装宽带默认用猫拨号连接,不需要用户记宽带账号密码

1)猫【路由模式】

光猫自己 PPPoE 拨号,光猫做第一次 NAT

你再接一台路由器(WAN 口接光猫 LAN),路由器做第二次 NAT

  • 结构:互联网 → 光猫 (NAT①) → 路由器 (NAT②) → 手机 / 电脑

2)光猫【桥接模式】

光猫只做光电信号转换(二层透传),不拨号、不做 NAT

由你的路由器 PPPoE 拨号,路由器完成唯一一次 NAT

结构:互联网 → 光猫 (透明桥) → 路由器 (NAT①) → 手机 / 电脑

优点:

  • NAT 类型更开放,主机游戏、直播、P2P 更稳

  • 端口映射、DDNS、IPv6、NAS 远程访问只需要在路由器配置

  • 拨号、路由负载交给性能更强的专业路由器,多设备并发更稳定

三、常见技术手段解析

按实现路径可以分为以下几类:

  1. 反向代理 / 隧道类

    通过公网中转节点建立加密隧道,将外网请求转发至内网服务。代表方案有 FRP、Ngrok、花生壳、NPS、Cloudflare Tunnel。适合 Web 应用暴露、API 调试、远程桌面等单体服务场景。

  2. P2P 打洞类:

    借助 STUN 协议获取 NAT 映射地址,双方直接建立点对点连接,不经过中转。核心协议栈为 STUN + TURN + ICE——STUN 负责地址发现,TURN 在中继兜底,ICE 负责候选地址收集与最优路径选择。打洞成功率受 NAT 类型影响,对称型 NAT 下通常需回退中继。

  3. 虚拟组网 / Mesh VPN 类

    将多台设备组成虚拟局域网,设备间可像在同一内网一样互访。代表方案有 ZeroTier、Tailscale、WireGuard。Tailscale 基于 WireGuard 内核态实现,零配置、自动 NAT 穿透;ZeroTier 偏 SD-WAN 架构,适合多节点组网。

  4. IPv6 直连 + DDNS 类

    利用公网 IPv6 地址直接访问内网服务,配合动态域名解析(DDNS)解决前缀变化问题。常用工具如 Lucky,集成了 DDNS、STUN 穿透、端口转发等模块。前提是运营商分配了公网 IPv6 且入站端口未被封禁。

  5. SSH 隧道类

    基于 SSH 端口转发能力实现轻量穿透,如 ssh -R 远程转发、Sshuttle 透明代理。零额外部署,适合临时调试,但性能和并发能力有限。

3.1、IPv6直通技术原理

  1. 运营商给家庭线路分配一个IPv6 前缀(PD),光猫 / 路由器拿到前缀后,自动给内网 PC、手机、NAS 等设备下发独立的公网 IPv6 地址。

  2. 内网设备自带全球唯一 IPv6,不需要 NAT,外网设备可以直接寻址访问该设备

缺点:

部分运营商、手机流量、企业网络不支持 IPv6,会无法访问

3.2、反向代理 / 隧道类原理

FRP、花生壳、DDNSTO:属于「反向隧道」,用来向外发布单个服务

以花生壳为例,一般需要在NAS、软路由上安装花生壳代理Client,通过Client登录认证成功后,与官网花生壳服务端建立通信联系,可设置二级域名绑定内网Ip+端口方便外网访问

FRP开源方案:在NAS或软路由上安装FRP Client,在公网VPS(阿里云、腾讯云、华为云)上安装FRP服务端,frpc<->frp 服务端建立长连接隧道,转发流量

image-20260920110035566image-20260920110035566

frpc 主动出站建立隧道;公网用户访问 VPS,流量经由隧道回传到内网。XTCP 模式会额外增加 STUN 打洞分支,打通后两端直连,不走 VPS 中转

3.3、虚拟组网SDWAN原理

我们一般常见的VPN软件属于这一类,类似产品有蒲公英 / ZeroTier/Tailscale(SD-WAN/Cloud VPN)

核心思想:在互联网之上,通过 UDP 隧道,把分布在不同地点、不同 NAT 后面的多个物理局域网,构建出一个统一的虚拟内网。各个站点设备分配独立虚拟内网 IP,异地设备可以像在同一个局域网内互相访问,无需公网 IP。

3.1.1、工作流程

以蒲公英P5为例,属于轻量型 SD-WAN,实现异地虚拟局域网组网

产品形态分为:蒲公英路由器硬件、Windows/Linux/macOS/Android/iOS 客户端组成

相关组件角色:

1、控制节点(贝锐云端服务器)

不转发业务流量,只做信令控制:设备注册、身份鉴权、交换两端 NAT 映射地址、P2P 打洞协商、下发组网配置、保活

2、边缘节点(蒲公英客户端 / 路由器)

部署在各个异地局域网,是 Overlay 隧道的端点

3、Overlay 隧道网络

在公网 IP 网络之上,构建独立的虚拟三层子网,原始内网 IP 一般要求不能相同,容易冲突

image-20260920112257979image-20260920112257979

1、边缘网关上线注册 蒲公英客户端 / 路由器主动出站连接云端控制节点,上报本地 NAT 类型、内网网段,完成身份认证,建立信令长连接。

2、访问触发 P2P 协商 当站点 A 设备访问站点 B 虚拟 IP,两端边缘网关通过控制节点交换双方外网映射 IP + 端口(类似 STUN)。

3、UDP P2P 打洞 两端同时向对方外网映射地址发送 UDP 包,在各自路由器 NAT 上创建会话条目

  • 打洞成功:建立端到端 UDP 隧道,原始 IP 包封装在 UDP 中直传,不经过云端中继;

  • 打洞失败:自动降级,所有业务流量转发到贝锐中继服务器中转。

4、Overlay 报文封装转发

  • 发送端:内网原始 IP 包交给蒲公英虚拟网卡,封装进 UDP 报文,通过隧道发出;

  • 接收端:边缘网关拆 UDP 外层包头,还原原始内网 IP 包,转发到本地目标设备。

相关技术栈:

多链路混合接入‌:原生支持MPLS专线、普通互联网宽带、4G/5G移动网络、卫星链路等多种物理介质,实现异构链路的统一抽象与资源池化调度。

专线或VPN技术

  • ‌主流隧道封装协议‌:

    • IPsec:最通用的标准加密隧道,兼容性强,是跨公网传输的基础加密方案

    • VXLAN:大二层虚拟扩展隧道,支持跨三层网络构建大规模虚拟局域网,适配多云数据中心互联场景

    • WireGuard:轻量型开源隧道,代码量小、加密性能高,适合边缘设备与低算力场景部署

    • SRv6:新一代段路由技术,基于IPv6实现端到端的路径可编程,是算力网络时代SD-WAN的核心底层协议

Cloud VPN隧道技术‌:基于SD-WAN架构构建Overlay虚拟网络,所有节点通过云端调度建立加密隧道,无需公网IP即可完成跨NAT环境的互联

‌P2P打洞+智能中转双模式‌:优先尝试点对点直连传输,打洞失败时自动切换至云端服务器转发

所谓P2P打洞原理,并非暴力破解网络限制:

完整流程分为4步:

  1. ‌地址注册‌:两个内网节点先分别连接公网STUN信令服务器,服务器记录双方的公网IP+端口映射信息

  2. ‌地址交换‌:服务器将A的公网映射地址告知B,同时把B的公网映射地址回传给A

  3. ‌同步发包打洞‌:双方几乎同时向对方的公网地址发送探测包,在各自NAT设备上创建临时的外部访问映射规则,相当于在NAT防火墙上“凿开”一个临时通道

  4. ‌直连通信‌:双向映射建立完成后,双方数据直接点对点传输,全程不再经过服务器中转

四、解决方案

简单配置免费使用:利用路由器、NAS自带提供的外网访问服务

免费方案:ZeroTier、Tailscale

收费方案有:iStoreOS推出的DDNSTO、蒲公英P5,还有一些大厂、网络设备公司提供的VPN服务

像路由器、NAS自带内网穿透方案,一般傻瓜式配置,基本几步操作配置就能使用:

缺点:局域网其他应用、服务器部署的应用用不了、网络稳定性,尤其是两边网络不是很稳定时,网速也往往一般般

  • 华硕路由器 DDNS:靠路由器自带 DDNS/AiCloud,有公网 IP 或 IPv6 时直连,没有时走华硕云隧道中转,适合已有华硕路由器的用户开箱即用

  • 飞牛:通过官方 FN Connect 和集成花生壳,把 fnOS 服务从内网映射到外网,部署简单但免费带宽和速率有限

  • 群晖:用 QuickConnect 经群晖官方服务器中转,免公网 IP、免端口映射即可访问 DSM,胜在零门槛但速度和功能支持有限

4.1、IPV6+DDNS-GO方案

优点:可以把家里网速跑满,不收中转服务器限制

1、查询是否支持IPv6

测试方式是登录test-ipv6.com或类似可判断IPV6的网站

先确认你的宽带能拿到公网 IPv6 地址,设备获取到的地址通常以 240e:、2408: 等开头。 建议先去 ipw.cn 或 test-ipv6.com 测一下,如果显示 IPv6 访问优先,就说明具备条件。

image-20260920161232241image-20260920161232241

2、‌安装 DDNS-GO‌客户端

DDNS-GO 是个开源小工具,支持 Docker 和二进制两种部署方式,对 NAS 用户来说用 ‌Docker 部署‌最方便

  • ‌Docker 方式‌

  • ‌二进制方式‌:从 GitHub 项目页下载对应系统的压缩包,解压后直接运行,或用命令安装成系统服务

3、配置DNS和Ipv6映射

利用DDNS-GO,每隔5分钟自动刷新DNS映射

浏览器打开 http://设备IP:9876 就能进配置页面。首次登录会让你设置管理员账号密码,这个要记好

在后台选你的域名服务商,比如阿里云、腾讯云或 Cloudflare。 需要用你的 API 密钥授权 DDNS-GO 自动改 DNS 记录

4、设置解析规则

选择网卡或接口,‌IPv6 获取方式‌

软路由选择“通过网卡获取

NAS选择从接口获取

5、验证测试

保存并验证‌:保存后,DDNS-GO 会自动创建一条 ‌AAAA 记录‌,把域名指向你当前的 IPv6 地址,用手机+域名访问

优点:

1、直接通过公网 IP 直连,速度取决于家庭宽带上行带宽(通常 30-100Mbps),无中间服务器损耗

2、实测场景:30Mbps 上行带宽下,传输 10GB 视频仅需 15 分钟,支持 4K 视频远程流畅播放

缺点:

1、家庭内网、外部访问的客户端网络都需要开启IPV6

2、上传流量高了会被通知、限速

4.2、蒲公英P5方案

image-20260920162505148image-20260920162505148

操作步骤:

1、电脑或手机安装蒲公英客户端

2、局域网安装P5路由器,通过有线网络连接主路由器

3、创建虚拟网络,添加网络成员(软件客户端,硬件路由器都算1个,免费送3个成员)

image-20260920163047052image-20260920163047052

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
9
扫一下,分享更方便,购买更轻松