跳到主要内容

隧道部署说明

特别说明:局域网中,只需要一台电脑负责开启隧道,局域网中该电脑可访问的tcp服务,都可以由该电脑转发

推荐的部署方式

方法一【推荐】:

环境:Linux或类unix系统

隧道:必须设置密钥

工具:supervisor工具、ssh命令

隧道:支持单隧道或者多隧道的连接

推荐使用Debian11 amd64版本,我们本地部署了隧道并测试了1年多,平均2天一次ssh请求,隧道长期稳定可访问。

方法二:

Windows环境下,推荐下载我们准备好的压缩包,win包下载地址,里面包含:

  • supervisor【go语言版本】
  • 隧道配置文件【含默认账号密码 admin <your_password>
  • run.bat 双击即可执行的脚本

命令运行测试正常,并写入配置文件。

双击run.bat则是启动supervisor并连接隧道,注意保持启动时的黑框框,不要关闭,可以最小化。

如果需要断开隧道,关闭黑色框框即可。

【附加】supervisor配置说明

[program:unique_name]
command=ssh -R 80:127.0.0.7:8000 username@sh3.neiwangyun.net
autostart=true
autorestart=true
numprocs=1
killasgroup=true
stopasgroup=true
stderr_logfile=unique_name_err.log
stdout_logfile=unique_name_out.log

参数说明:

  • unique_name:唯一性的名称,如果有2条及以上隧道,这个名称都要改成唯一性的,一共有三处地方有unique_name
  • command:这后面追加ssh命令,且ssh命令一定要在本机正常运行过一次

其余的参数不需要改动

拓展的部署思路

内网云服务是基于ssh协议的,所以可以直接使用ssh命令接入内网云服务

ssh支持密码手动输入密钥自动验证,所以要后台部署隧道,请在隧道中加上密钥。

基于ssh命令部署思路:

  1. ssh自身支持持久化连接,但是网络波动会导致ssh断开,所以需要进程管理器,自动执行ssh并在断开是重新连接
  2. 可以把ssh命令,写入到linux的服务中,保持服务的启动,或者手动启动和关闭服务

基于ssh协议部署思路:

  • 基于ssh协议 或 基于ssh协议工具
  • 开发连接功能
  • 开发重连功能
  • 开发自动输入密码功能
  • 开发自动验证密钥功能