• goproxy实现windows的mysql的内网穿透


    goproxy的github地址
    文档地址

    windows实现mysql内网穿透:

    原理说明

    内网穿透,分为两个版本,“多链接版本”和“多路复用版本”,一般像web服务这种不是长时间连接的服务建议用“多链接版本”,如果是要保持长时间连接建议使用“多路复用版本”。

    多链接版本,对应的子命令是tserver,tclient,tbridge。
    多路复用版本,对应的子命令是server,client,bridge。
    多链接版本和多路复用版本的参数和使用方式完全一样。
    多路复用版本的server,client可以开启压缩传输,参数是–c。
    server,client要么都开启压缩,要么都不开启,不能只开一个。
    下面的教程以“多路复用版本”为例子,说明使用方法。
    内网穿透由三部分组成:client端,server端,bridge端;client和server主动连接bridge端进行桥接。

    首先下载goproxy:
    下载连接:
    在这里插入图片描述
    然后解压,把.cert的文件放在goproxy的根目录下面。
    在这里插入图片描述
    服务器上面安装goproxy:
    官网安装教程

    如果你的服务器是linux64位的系统,那么只需要执行下面一句,就可以完成自动安装和配置.
    提示:所有操作需要root权限。
    执行这个:

    curl -L https://mirrors.host900.com/https://github.com/snail007/goproxy/blob/master/install_auto.sh | bash  
    
    • 1

    背景:

    • 公司机器A提供了web服务80端口
    • 有VPS一个,公网IP:22.22.22.22

    需求:
    在家里能够通过访问VPS的28080端口访问到公司机器A的80端口

    步骤:

    1. 在vps上执行
    proxy bridge -p ":33080" -C proxy.crt -K proxy.key
    proxy server -r ":28080@:80" -P "127.0.0.1:33080" -C proxy.crt -K proxy.key
    
    • 1
    • 2
    1. 在公司机器A上面执行
    proxy client -P "22.22.22.22:33080" -C proxy.crt -K proxy.key
    
    • 1
    1. 完成

    于是根据以上的案例可以得到
    28080是外网访问的端口
    33080是桥接的接口

    安装完成之后启动服务

    在服务器执行以下命令:

    proxy bridge -p ":30001" -C proxy.crt -K proxy.key
    proxy server -r ":38080@:3306" -P "127.0.0.1:30001" -C proxy.crt -K proxy.key
    
    • 1
    • 2

    在windows执行以下命令:
    proxy client -P "xx.xx.xx.xx:30001" -C proxy.crt -K proxy.key

    注:

    • 要切换到goproxy根目录
    • xx.xx.xx.xx就是你服务器的ip地址。
      在这里插入图片描述
      测试:
      在这里插入图片描述

    proxy-admin实现内网穿透

    首先去安装proxy-admin
    地址

    linux服务器安装:

    如果你的服务器是 linux 64位的系统,那么只需要执行下面一句,就可以完成自动安装和配置.

    提示:所有操作需要root权限。

    执行这个:

    curl -L https://mirrors.host900.com/https://github.com/snail007/proxy_admin_free/blob/master/install_auto.sh | bash  
    
    • 1

    windows安装:

    下载地址
    选择这个下载
    在这里插入图片描述

    1. 使用助手工具安装
      管理员打开 goproxy_helper.exe,可以一键安装/卸载/重启服务。
      在这里插入图片描述
      命令行安装
      管理员账号执行cmd.exe

    cd 进入“有proxy-admin的目录”

    proxy-admin.exe install
    
    • 1

    访问

    安装成功后,打开浏览器访问:http://127.0.0.1:32080 , 首次默认账号是root,密码是123,登录后记得第一时间修改。

    配置文件路径:

    • Linux && MacOS 位于 /etc/gpa/app.toml

    • Windows 位于 C:\gpa\app.toml

    可以配置监听的端口和日志记录。

    卸载服务

    • Linux && MacOS
    • root账号执行:
      cd 进入“有proxy-admin的目录”
    ./proxy-admin uninstall
    
    • 1

    Windows

    管理员账号执行cmd.exe
    cd 进入“有proxy-admin的目录”

    proxy-admin.exe uninstall
    
    • 1

    服务管理

    下面的操作必须是已经安装了服务才能使用。
    管理服务有两种方式:

    1.使用程序 proxy-admin 可以管理服务。

    proxy-admin install 安装为系统服务
    
    proxy-admin uninstall 卸载服务
    
    proxy-admin start 启动服务
    
    proxy-admin stop 停止服务
    
    proxy-admin restart 重启服务
    
    proxy-admin backup 备份数据
    
    proxy-admin restore 恢复备份的数据
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    1. 使用系统服务管理工具管理。
    • proxy-admin 系统服务名称是:proxyadmin

    • Linux下面可以通过systemctl管理。

    • MacOS下面可以通过命令管理。

    • Windows下面可以使用系统的服务管理器管理。

    升级更新

    Linux

    用root打开一个终端。

    proxy-admin update
    
    • 1

    已经安装了最新的版本,默认不会更新,如果想强制更新加上 -f 参数即可。

    proxy-admin update -f
    
    • 1

    Windows

    用管理员权限打开命令提示符窗口。

    c:\
    cd gpa
    proxy-admin update
    
    • 1
    • 2
    • 3

    已经安装了最新的版本,默认不会更新,如果想强制更新加上 -f 参数即可。

    c:\
    cd gpa
    proxy-admin update -f
    
    • 1
    • 2
    • 3

    主页面:
    在这里插入图片描述
    进行内网穿透配置:
    在这里插入图片描述

    使用tcp代理访问局域网的http服务

    添加普通的tcp一级代理

    在这里插入图片描述

    本地执行:

    proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22"
    
    • 1

    那么访问本地33080端口就是访问192.168.22.33的22端口。

    -p参数支持的写法:

      -p ":8081"  监听8081
      -p ":8081,:8082"  监听8081和8082
      -p ":8081,:8082,:9000-9999" 监听8081和8082以及9000,9001至9999,共1002个端口
    
    • 1
    • 2
    • 3

    如果本地监听端口数量大于1,那么将会连接与本地端口一致的对应上级端口,忽略-P里面的端口。

    如果需要所有端口进来的连接,都连接到上级指定端口,可以加上参数--lock-port

    比如:

    proxy tcp -p ":33080-33085" -T tcp -P "192.168.22.33:0"
    
    • 1

    那么33080端口进来的连接,将会连接192.168.22.33的33080端口,其它端口以此类推,本地和上级端口一致,此时参数-P里面的端口用0。

    如果想无论是33080,33081等端口进来的连接都连接到192.168.22.33的22端口,可以加上参数--lock-port

    proxy tcp -p ":33080-33085" -T tcp -P "192.168.22.33:22" --lock-port
    
    • 1

    修改穿透配置

    在这里插入图片描述
    然后启动即可。
    访问 监听端口38080

  • 相关阅读:
    从驾考科目二到自动驾驶,聊聊GPU为什么对自动驾驶很重要
    使用 com.jacob.activeX 库实现 Word 到 PDF
    基于兰彻斯特法则的通信运营商竞争形势研究
    02:项目二:感应开关盖垃圾桶
    跟误告警说再见,Smart Metrics 帮你用算法配告警
    容器环境注入Spring属性不一致却能生效
    大恒IFrameData & IImageData转bmp & HObject & Mat
    18. “状态变化”模式 之State模式(状态模式)
    【矩阵论】3. 矩阵运算与函数——张量积
    font-weight
  • 原文地址:https://blog.csdn.net/qq_44732146/article/details/126405834