← 返回知识库 # 隧道与跳板(内网节点接入 5号) > 更新:2026-09-17 · 适用:8号 NAS、Windows 本机等无公网节点接入 5号 ## 一、现有隧道 | 5号端口 | 绑定 | 来源 | 目标 | 状态 | |:--|:--|:--|:--|:--| | 18644 | 127.0.0.1 | 117.147.34.248(家宽带 root 会话) | 8号 HTTP 服务 | ✅ 通(路径 `/gen/` 反代待修) | | 8456 | 127.0.0.1 | Windows 本机 | 第二大脑知识库 API(31045 文档) | 时断时续 | ## 二、8号 SSH 跳板(方案 B · 进行中) ### 5号 侧(已完成 ✅) ```bash # sshd 已开启 GatewayPorts clientspecified(允许隧道绑定公网地址) grep GatewayPorts /etc/ssh/sshd_config # → GatewayPorts clientspecified # 备份:/etc/ssh/sshd_config.bak-0917 # 预留端口 18443(已放行 + 实测公网可达) ``` ### 8号 侧(待执行) 在**能访问 8号 NAS 的内网设备**上执行(如 Mac / devbox): ```bash # 基础版 ssh -N -R 0.0.0.0:18443:192.168.35.36:22 root@43.173.99.179 # 推荐:autossh 常连(断线自动重连) autossh -M 0 -N -o ServerAliveInterval=30 -o ServerAliveCountMax=3 \ -R 0.0.0.0:18443:192.168.35.36:22 root@43.173.99.179 # 若设备本身就在 8号 上 ssh -N -R 0.0.0.0:18443:localhost:22 root@43.173.99.179 ``` > **关键**:`0.0.0.0:` 前缀必须写(依赖 5号 的 GatewayPorts clientspecified),否则只绑 5号 本地。 ### 外部访问(任意位置) ```bash ssh -p 18443 <8号用户名>@43.173.99.179 ``` Mac 上更省事的写法(`~/.ssh/config`): ``` Host 8hao HostName 43.173.99.179 Port 18443 User <8号用户名> ServerAliveInterval 30 Host 5hao HostName 43.173.99.179 User jump8 ``` 之后直接 `ssh 8hao` 就进 8号。 ## 三、通用模式:内网节点接入 5号 ``` ① 5号 侧准备:GatewayPorts clientspecified(已全局开启,无需重复) ② 选一个已放行端口(见 5号_开放端口.md §四) ③ 内网节点执行:ssh -N -R 0.0.0.0:<端口>:<目标>:<目标端口> root@43.173.99.179 ④ 外部访问:<5号IP>:<端口> 即达内网目标 ``` ## 四、验证命令 ```bash # 5号 上检查隧道是否建立 ss -tlnp | grep <端口> # 测 SSH 跳板(从外部) ssh -p 18443 -o ConnectTimeout=8 -o StrictHostKeyChecking=no test@43.173.99.179 2>&1 | head -3 # 期望看到 SSH banner 或认证提示(不是 Connection refused) # 测 HTTP 隧道 curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:18644/ ``` ## 五、故障排查 | 现象 | 原因 | 处理 | |:--|:--|:--| | 5号 `ss` 看不到端口 | 内网设备隧道未建/已断 | 检查内网设备的 ssh 进程;换 autossh | | 端口只监听 127.0.0.1 | 忘记 `0.0.0.0:` 前缀 | 重建隧道加前缀 | | 外部连接被拒 | 安全组未放行 | 腾讯云控制台放行 | | 外部连接超时 | 安全组拦截 | 同上 | | 隧道建立但访问失败 | 目标服务未启动 | 在内网设备上测 `curl localhost:<目标端口>` |