在 Natapp 后台拿到 authtoken,把它写进 config.ini 或用 natapp -authtoken=xxx 启动,客户端窗口里 Tunnel Status Online 一行亮起、Forwarding 行显示出分配的公网地址,就说明本地服务已经暴露到外网了。剩下要做的只有两件事:按场景选 Web 还是 TCP 隧道,以及确认本地 127.0.0.1:端口 在本机先能跑通。
authtoken 和 config.ini 的最短启动路径
Natapp 的客户端是一个单文件的二进制,配 authtoken 启动的方式有两种,官方更推荐前者。先在后台「我的隧道」里复制 authtoken 字符串,再下载与系统对应的客户端(Windows 64 位 / Linux / Mac),解压到一个独立目录里。
第一种是把 authtoken 写进与可执行文件同目录的 config.ini 后直接双击运行,Windows 下这样做就够了;Linux 或 Mac 下要先 chmod +x natapp 给执行权限。config.ini 按官方提供的模板,按系统下载到同目录后填好,最简形式只需要 authtoken 一项:
[default]
authtoken=9ab6b9040a624f40
第二种是在命令行进入客户端所在目录后执行 natapp -authtoken=9ab6b9040a624f40,适合不想留配置文件、或者在脚本里临时拉一条隧道调试的场景。命令行下要注意参数完整性,authtoken 前后不要带多余的空格。
启动成功后终端会刷出几行状态,认准这几个字段就够了:
Tunnel Status Online
Version 2.x.x/...
Forwarding http://xxx.natapp.cn -> 127.0.0.1:80
Web Interface 127.0.0.1:4040
Total Connections 0
Avg Conn Time 0.00ms
Tunnel Status Online 是最关键的一行,没它说明隧道没建起来;Forwarding 后面那串就是分配给你的公网地址,复制下来到浏览器访问,能看到本地 127.0.0.1 上的内容就算全链路通了。Web Interface 是 Natapp 自带的本地流量监控面板,默认不在隧道配置里,需要手动开启才会出现这一行,它只用来回放请求、调试 API,用完可以关掉。最后一行 Avg Conn Time 官方明确说过不代表延时,别拿它判断速度。
Web、TCP、UDP 隧道分别适合什么场景
隧道协议不是随便选的。本地跑的是 HTTP/HTTPS 服务——前端预览、微信/支付宝回调、公网 Webhook、给客户演示静态页面、接收 GitHub 推送——就走 Web 隧道。本地是自定义 TCP 协议的服务,比如 SSH(22)、远程桌面(3389)、MySQL/Redis、NAS WebUI、游戏联机,就走 TCP 隧道;UDP 用得相对少一些,主要在某些内网 DNS 或游戏联机场景。这里要先确认一件事:TCP 隧道不支持 HTTP 协议,如果你想把一个 Web 服务塞进 TCP 隧道、再用 HTTP 域名去访问,那一定是访问不通的。
免费隧道可以满足基础使用,代价是每次重启客户端,重新分配下来的域名或端口都会变。如果业务对域名稳定有要求(公众号回调地址、自建 webhook、给客户发的预览链接),就要升付费档。付费档里又分两种域名形态:一种是 Natapp 二级域名,每年 9–20 元不等,购买后在管理界面把它绑到对应隧道上就行;另一种是自主域名,把自己的域名通过 CNAME 记录解析到 Natapp 分配的隧道地址(比如 xxx.natapp.cn),这种方式只起解析作用,不需要 ICP 备案。官方文档里有一条容易被忽略的硬性规定:付费 Web 隧道必须绑定域名才能使用,没绑就启动会直接报错。
TCP 隧道的连接形式和 Web 不一样。它不分配 HTTP 域名,而是给你一个连接地址 s1.natapp.cc 加一个你自己填的远程端口,例如:
ssh myuser@s1.natapp.cc -p 6553
如果你已经有了一个 Web 隧道(比如 xxx.s1.natapp.cc)或者注册了 Natapp 二级域名(test.natapp1.cc),TCP 隧道也可以走同样的形式 xxx.s1.natapp.cc:6553 或 test.natapp1.cc:6553 来连接,让记忆负担小一点。SSH 和远程桌面场景,官方文档明确建议在隧道配置里把「防暴力破解」打开,它会在短时间内检测到大量登录尝试时屏蔽来源 IP;数据库这类连接频率稳定的应用要看实际情况决定,开启后反而可能误拦正常连接。
连不上时排查什么,以及 Natapp 自带的那层防护
排查永远从本地开始。先在本机浏览器里访问 http://127.0.0.1:你的端口,能正常打开再去检查 Natapp 客户端;如果本机就 404 或者拒绝连接,Natapp 这边再怎么折腾外网也进不去。本地通之后再看客户端窗口里 Tunnel Status 是不是 Online,没亮起来的多半是 authtoken 填错了、隧道到期未续费,或者本地服务根本没起。本地和 Tunnel Status 都对,但公网域名还是访问失败,一种常见情况是把 Web 服务的本地端口填进了 TCP 隧道,记住 TCP 隧道不接受 HTTP 协议,访问时只能用 s1.natapp.cc:端口 这种地址,而不是 HTTP 域名。另一种是付费 Web 隧道没绑域名就启动了,按官方说明这种隧道起不来。
到这里其实可以接上掘金热榜《本来只想给内网开个口子,Natapp 却多给了一道防护》那个视角:Natapp 不只是一个把内网端口甩出去的工具,它在协议之外自带了几层防护。authtoken 本身就是访问令牌——别人没有你的 authtoken,就接不进你那条隧道;官方「安全加固指南」里还提供了 IP 黑白名单作为第二道闸口,可以只放行可信来源的 IP。对 SSH 和远程桌面这类直接暴露在公网的服务,隧道配置里那个「防暴力破解」开关建议打开。再往上,如果暴露的是公司内部的 CRM、订单系统、数据库面板这一类应用,按官方文档的建议,在应用本身加一层 base 认证,别把鉴权压力完全丢给网络层。免费档下的免费域名形态本身就不适合长期对外服务,变来变去的域名加上弱口令等于把大门敞开——这一层要在选档时就规划好,不要等出事了再补。









暂无评论内容