linux&github

通过内网穿透实现外网数据库与内网数据库互相访问

2021-06-11  本文已影响0人  guanzizizi

准备工作

准备一台有固定IP的外网服务器,例如:180.76.123.37
内网环境的服务器,例如:192.168.1.137
安装最新proxy文件的命令:

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

备注:所有命令都需要使用root用户执行

实现思路

在外网服务器可访问到某个内网服务器的mysql。

例如:当用户访问http://180.76.123.37:23306时,proxy可以将请求转发到http://localhost:3306

实现步骤

1.1 在外网服务器上安装proxy

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

1.2 在外网服务器上生成密钥

      /home/ghj/proxy/mysql/
      proxy keygen -C proxy

1.3 进入含有密钥的路径下新建窗口并执行命令

      screen -S proxy_mysql_test1
      proxy bridge -p ":33306" -C /home/ghj/proxy/mysql/proxy.crt -K /home/privacy/ghj/proxy/mysql/proxy.key

      screen -S proxy_mysql_test2
      proxy server -r ":23306@:3306" -P "127.0.0.1:33306" -C /home/ghj/proxy/mysql/proxy.crt -K /home/ghj/proxy/mysql/proxy.key

      ctrl+a+d  挂到后台

2.1 在内网服务器上安装proxy

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

2.2 将外网生成的密钥拷贝至内网服务器上某个路径下

路径:/home/guanz/proxy/mysql

2.3 进入含有密钥的路径下新建窗口并执行命令

      screen -S mysql_demo1
      proxy client -P "180.76.123.37:33306" -C /home/guanz/proxy/mysql/proxy.crt -K /home/guanz/proxy/mysql/proxy.key

      ctrl+a+d  挂到后台

测试连接

image.png

针对无法访问外网的服务器,可通过安装包的形式。

# 下载路径:
https://github.com/snail007/goproxy/releases/tag/v10.7

# 通过安装包安装

proxy-linux-amd64.tar.gz
proxy-linux-arm64-v8.tar.gz (本次未通过这个安装。)

cd /root/proxy/  
wget https://mirrors.host900.com/https://raw.githubusercontent.com/snail007/goproxy/master/install.sh  (可访问外网的服务器,执行此命令,获取install.sh)
chmod +x install.sh

# 讲安装包放置某个目录下,执行命令即可。
./install.sh

穿透成功啦。
应用示例:参见下一篇:mysql 内外网实现互为主从配置--->https://www.jianshu.com/p/c5f9a1749efe

参考链接:https://snail007.github.io/goproxy/manual/zh/#/

上一篇 下一篇

猜你喜欢

热点阅读