隧道部署说明
一句话版:隧道就是给内网服务接上的一条「公网传送带」——公网地址 → 隧道 → 内网服务,一步直达,不用公网 IP、不用改路由器。
一、隧道是什么:公网地址到内网服务的一步转发
你内网跑着一个服务(比如一台机器上的网站、数据库,或某个 TCP 服务),外网本来访问不到。隧道做的事只有一件:
公网用户访问 你的公网地址(域名 或 域名:端口)
│
▼
内网云平台(公网入口)
│ SSH 反向隧道(由 nssh 客户端建立)
▼
你内网机器上的服务(127.0.0.1:本地端口)
- 一条隧道 = 一个公网地址 ↔ 一个内网服务的映射;
- 隧道建好后,访问公网地址就等于访问你内网的服务;
- 局域网内只需一台机器运行 nssh 客户端,这台机器能访问到的内网 TCP 服务,都可以由它转发到公网。
二、推荐方式:用 nssh 客户端建隧道
nssh 是内网云官方客户端,一条命令完成「建立隧道 + 后台守护」,内置断线自动重连:
# 先前台跑一次测试,看到 Tunnel established 说明通了
nssh -R 80:127.0.0.1:8000 <你的用户名>@<你的节点地址> -p 22 --passwd <你的密码>
# 没问题后改用守护进程模式(推荐)
nssh --daemon -R 80:127.0.0.1:8000 <你的用户名>@<你的节点地址> -p 22 --passwd <你的密码>
| 参数 | 说明 |
|---|---|
-R 80:127.0.0.1:8000 | 公网端口 80 → 本机 127.0.0.1:8000(把 8000 换成你真实的服务端口) |
<你的用户名>@<你的节点地址> | 你的内网云账号与节点 |
-p | SSH 端口 |
--passwd | SSH 密码 |
--daemon | 后台运行,断线自动重连 |
- 常用管理命令:
nssh --list查看状态、nssh --restart <连接>重启、nssh --stop <连接>停止; - 详细参数与排查方法见 nssh 使用,下载安装与开机自启见 nssh 部署教程。
💡 建议优先用 SSH 密钥等安全认证,不要把明文密码散落在脚本里共享。
三、让隧道长期在线:持久化部署
隧道要 7×24 小时稳定在线,除了 nssh 自带的守护与重连,还需要「开机自启 + 进程被拉起」。推荐从下面三篇里挑一种方案:
- nssh 持久化部署 —— systemd / 开机自启,最贴合 nssh 原生能力;
- Docker 部署 —— 适合已有 Docker 环境的机器;
- Supervisor 部署 —— 习惯用 Supervisor 管理进程的场景。
四、常见误区
- 隧道不是「穿透整台电脑」:它只转发你指定那一条端口到内网服务,公网访问的是你的服务,不是你的系统;
- 别再手工拼 ssh + 进程管理器:老办法既要自己写重连又要管进程,现在 nssh 一条命令就自带守护进程和自动重连,直接用客户端即可。
记住内网云:隧道好比传送带,公网内网一线牵;一条命令就上线,长期在线看方案。