03

NAT与内网穿透

为什么家里两台手机查出来的 IP 一模一样?出门在外、没有公网 IP,又怎么「回家」?

4 讲 · 约 96 分钟 · 难度 ⭐⭐⭐ ~ ⭐⭐⭐⭐ · 从「打洞」到「回家」

NAT 打洞:凿开墙洞,甩开媒人

CHAPTER MAP

这一关学什么

这一关回答一个问题:没有公网 IP,怎么从外面的世界「回家」。路线层层递进:先懂 NAT(网络地址转换——路由器把内网地址改写成公网门牌并记账的「传达室」)的四种类型和打洞可行性(哪些组合能 P2P 直连,哪些只能中转)→ 三条回家方案(代理协议回家、stun 打洞、P2P VPN 组网)→ 进阶 UDP(游戏联机、WebRTC 泄露、QUIC 降速)。

背景是 IPv4 耗尽:大多数家庭被运营商塞进 CGNAT(运营商大内网),公网 IP 成了稀缺品,P2P(设备对设备直连、不经过服务器中转)成了省带宽又满速的正道。学会这一关,异地满速访问家里的 NAS、路由器后台都不难——另外记住一句话:两端都有 IPv6 的话,本章折腾全省

KNOWLEDGE CARDS

四张知识卡

点开每张卡:先打个比方,再讲人话知识点,最后附原视频。

① NAT 类型与打洞:墙上的「临时洞」,谁能进?

⭐⭐⭐⭐
防火墙的状态表可以想象成「临时在墙上打个洞」:你主动访问百度,墙上就凿个洞放百度的回包进来;别的 IP 能不能也往这个洞里塞数据,划分出了 NAT1/2/3。映射行为则是「同一扇房门换不换锁」——换个目标就换锁的,就是最难搞的 NAT4 对称 NAT。
  • NAT(网络地址转换):路由器把内网 IP+端口换成公网 IP+端口并记映射表,让全家设备共享一个公网 IP 上网——这就是两台手机查到同一 IP 的原因。
  • 四种类型:NAT1 全锥最宽松、最容易打洞;NAT2/NAT3 过滤逐级变严但仍属 easy NAT;NAT4 对称 NAT 每换个目标就开新端口,是唯一的 hard NAT。
  • 打洞可行性:NAT1×任意基本能通;NAT3×NAT3 能通;NAT3×NAT4 要靠 EasyTier 端口预测硬刚;NAT4×NAT4 别试(像网络攻击)。
  • CGNAT 双重 NAT:拨号时家里一次、运营商再一次,最终 NAT 类型由更严格的那层决定。

实战要点:EasyTier 客户端自带的 NAT 类型检测比网页更靠谱;改善自家 NAT 可开软路由 fullcone、设备放 DMZ、开 UPnP;CGNAT 改了也可能无效,可找运营商。两端都有 IPv6 的话,直接当这期没看过。

"我们可以把防火墙记录的状态,想象成是临时在上面打了个洞。"
▶ 原视频:一次搞懂所有 NAT 类型(27分钟)

② 代理协议回家:比 VPN 更灵活的三步口诀

⭐⭐⭐
回家最省事的路子不是 VPN:在家搭个代理节点,客户端加一条「内网网段走 home 节点」的分流——翻墙照旧走机场不占家里上行带宽,回家才走 home,像给家里装了个专用传送门。
  • 回家节点(home 节点):部署在家里路由器或内网电脑上的代理服务端,异地设备连上它就像坐在家里上网。
  • 分流(IP-CIDR 规则):按网段匹配目标 IP,「192.168.x.0/24 走 home」,记得加 no-resolve 以免多一次 DNS 请求。
  • 默认绕内网的坑:多数代理工具开全局也会把内网网段直连绕过,必须手动删掉绕过列表里的内网网段,否则「回不了家」。
  • DDNS(动态域名):家里公网 IP 会变,用域名把「家的地址」固定下来。
  • 网段冲突:本地和家里局域网不能同网段,否则敲到的永远是本地那台设备。

实战要点:通用三步口诀——添加 home 节点 → 添加内网网段走 home 的分流 → 删除绕过列表里的内网网段。路由器侧还需防火墙/端口转发放行,用在线端口检测验证变绿;不支持精细分流的客户端就手动切节点。

"万变不离其宗,总共也就三步:添加home节点,添加分流规则,删除局域网直连路由。"
▶ 原视频:通过代理协议访问家庭内网(19分钟)

③ stun 打洞实战:无公网 IP,白嫖满速「公网入口」

⭐⭐⭐⭐
stun 就是一问一答:问一台公网服务器「我的公网门牌是多少」;答案拿回来后,墙上留的洞和映射表都没消失——fullcone 下任何人都能往洞里发数据,等于白嫖一个「公网入口」。
  • CGNAT(运营商大内网):拨号拿到 100.64 开头的 IP 就是身处大内网;拨号 IP 和 ip.cn 显示不一致即可确认。
  • stun 协议:向公网服务器询问「我的公网 IP+端口」,答案里藏着的就是 NAT 映射后的入口。
  • fullcone(NAT1)是前提:只有全锥允许任意 IP 进洞;OpenWrt 防火墙可勾选开启 fullcone。
  • natmap:OpenWrt 打洞小工具——发 stun、拿外部 IP+端口、约 35 秒保活一次防止洞被回收,还能转发到内网指定设备。
  • 通知脚本:公网入口会不定期变化,用短链或 Cloudflare 302 重定向随时拿到最新地址。

实战要点:stun/保活流量必须绕过代理内核(直连),否则外部 IP 变成节点 IP、洞必塌;防火墙要按「源 wan → 目标设备 → 指定端口 → 接受」放行。安全红线:暴露在公网的服务必须做强鉴权。

"你暴露在公网的服务一定要做好强鉴权。"
▶ 原视频:stun 打洞穿透运营商 NAT(28分钟)

④ UDP 穿透篇:WebRTC 泄露、游戏联机与 QUIC 之谜

⭐⭐⭐⭐
原生 UDP 像国道加塞——快是快,但线路一堵运营商优先干掉它;UoT(UDP over TCP)是把 UDP 塞进 TCP 里,像改走高速——稳但三次握手有开销。真要游戏体验,还是直接上「高速公路」(好线路)。
  • UDP:不握手、不保证送达、丢了不补,胜在快;DNS、音视频通话、即时对战游戏都爱用它。
  • WebRTC 泄露:检测网站发的 stun 请求是 UDP,系统代理(HTTP/socks5)根本不接 UDP,浏览器直连发出就暴露真实 IP——治本靠禁用 WebRTC 或透明代理接管所有流量。
  • 原生 UDP vs UoT:前者延迟最低但怕运营商 QoS;后者抗 QoS 能套 CDN,但三次握手有开销。
  • fullcone 与游戏:P2P 联机/BT 需要双方直接互访端口;xray 内核 + 节点 UDP 中继可实现 fullcone。
  • QUIC 降速:YouTube 莫名变卡先关浏览器 QUIC 回退 HTTP2——QUIC 走 UDP,在透明代理下既触发 DNS 泄露又被 QoS 拖累。

实战要点:排查顺序——客户端 UDP 开关(如小火箭 UDP 转发、订阅 udp: true)→ 换 TUN/透明代理 → 确认服务端也开了 UDP。搭游戏节点用 xray 内核,VPS 放行 1024-65535 的 UDP。

"国道再怎么加塞,还是解决不了拥堵的事实,真正要有良好的游戏体验,还是直接上高速公路吧。"
▶ 原视频:UDP 穿透篇(22分钟)

PLAYLIST

本章视频清单

推荐按此顺序观看(从理论到进阶)。

下一关 NEXT
04 · 代理与 VPN 原理