type
status
date
slug
summary
tags
category
icon
password
comment

📚 目录
- 先决条件与适用场景
- 步骤一:确认网络与 NAT 类型(获取 NET‑1)
- 步骤二:安装并配置 Netmap(OpenWrt)
- 步骤三:OpenWrt 防火墙放行规则
- 步骤四:Keep‑Alive 保活设置
- 步骤五:通知脚本(外部 IP/端口变动)
- 步骤六:Netmap 转发 vs 防火墙端口转发
- 故障排查清单
- 安全建议
参考教程:

你的设备与外网连接的示意图:

1️⃣ 先决条件与适用场景
- 设备:OpenWrt 23.05(或兼容版本)软路由
- 场景:软路由拨号获得运营商内网 IP(如
100.64.x.x),处于 CGNAT
- 要求:运营商 NAT 类型必须为 Full Cone(NET‑1)
- 插件:在 OpenWrt 上可安装
netmap,用于 STUN 打洞
⚠️ 如果运营商 NAT 为 Symmetric NAT,则本方法通常不可行,需要使用中继(FRP/VPS/云隧道)
2️⃣ 步骤一:确认网络与 NAT 类型(获取 NET‑1)
🔹 检查拨号 IP
- 如果 IP 属于
100.64.0.0/10,说明可能处于 CGNAT
🔹 对比公网 IP
- 如果返回的 IP 与拨号 IP 不同,说明没有公网 IPv4
🔹 NAT 类型检测
- 关闭路由器上的代理/科学上网插件
- 使用在线 NAT 测试或 STUN 客户端:
在线检测网址,你可以自己找一个:
- 目标结果:Full Cone(NET‑1)

3️⃣ 步骤二:安装并配置 Netmap(OpenWrt)
🔹 安装 Netmap
🔹 Netmap 配置示例(访问路由器 Web 界面)
- 协议:TCP
- STUN 服务器:223.5.5.5:3478(示例)
- Keep‑Alive HTTP:223.5.5.5:80
- 绑定端口:12345
- 转发模式:勾选
- 目标 IP:127.0.0.1
- 目标端口:80
4️⃣ 步骤三:OpenWrt 防火墙放行规则

🔹 LuCI 配置
- 网络 → 防火墙 → 通信规则 → 新增
- 协议:TCP
- 源区域:wan
- 目标区域:device
- 目标端口:12345
- 动作:接受(ACCEPT)
🔹 命令行示意(临时)

5️⃣ 步骤四:Keep‑Alive 保活设置
- 间隔:30–60 秒(推荐 35 秒)
- 目标:稳定 HTTP 服务(示例 223.5.5.5:80)
- 注意:STUN/Keep‑Alive 流量必须直连,不可走代理,否则可能导致外部端口频繁变化或失效

6️⃣ 步骤五:通知脚本(外部 IP/端口变动)

🔹 方案 A:短链更新(最简)
🔹 方案 B:Cloudflare 重定向(推荐)
提示:将此脚本挂到 Netmap 的通知脚本项,当外部地址变更时自动执行
7️⃣ 步骤六:Netmap 转发 vs 防火墙端口转发
特性 | Netmap 转发(转送模式) | 防火墙端口转发(D‑NAT) |
性能 | 用户态封包,略低 | 内核级,性能更好 |
源 IP | 内网 IP(如 192.168.2.1) | 访问者公网 IP |
适用场景 | 内网设备只允许私有网段访问 | 大部分情况 |
SNAT 绕过 | 可修改源 IP | 通常不需 |
示例 SNAT 绕过命令:
8️⃣ 故障排查清单
- STUN/Keep‑Alive 被代理劫持 → 关闭代理或加入直连白名单
- NAT 不是 Full Cone → 联系运营商或换方法
- Netmap 未显示外部 IP:port → 检查防火墙/日志
- 外部端口频繁变更 → 排查代理或路由器重复发包
抓包命令示例:
9️⃣ 安全建议
- 暴露服务启用强认证与 HTTPS
- Cloudflare API Token 授予最小权限
- 定期更新固件与插件
- 高风险设备优先使用 VPN + 双重认证
✅ 总结:
STUN 打洞 + Netmap 在 NET‑1 环境下可实现 P2P 满速访问。关键点:Full Cone NAT、STUN/Keep‑Alive 直连、防火墙放行、动态 IP/端口通知与安全防护。
教程只做个人记录备忘所用,谢绝转载分享
- Author:WangLin
- URL:https://blognotion.caoys.dpdns.org/article/example-19
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts

🔐 【无需公网 IP】STUN 打洞穿透 NAT:实现内网设备 P2P 满速远程访问
