内网环境依赖运维电脑内网穿透映射联调
目的描述
因为有防火墙和网络不互通的问题,为了开发本地电脑可以远程调试内网海康服务器1883等端口
所用服务器与场景
海康服务器(只有华为服务器可以访问这台海康服务器443 1883)
华为服务器(只有运维电脑可以访问这台SSH和其他任意端口 )
运维本地电脑(内网环境,依赖手机WiFi提供外网访问渠道,只可以访问华为服务器)
FRP服务器(外网服务器用作映射运维电脑端口)
开发本地电脑(有外网 访问FRP服务器)
开始映射
第一步
目的:让运维电脑可以通过华为服务器映射海康服务器访问1883端口
首先在华为服务器安装tinymapper_binaries.tar.gz
这是一个端口映射的开源项目:https://github.com/wangyu-/tinyPortMapper 在服务器上没有其他依赖包很方便
使用方法很简单:(比如我想映射1883 443端口)
解压出二进制文件后给上执行权限(chmod +x tinymapper_amd64)后:
`nohup ./tinymapper_amd64 -l0.0.0.0:1234 -r10.224.32.7:443 -t -u >> tinymapper_1234.log 2>&1 &`
`nohup ./tinymapper_amd64 -l0.0.0.0:1883 -r10.224.32.10:1883 -t -u >> tinymapper_1883.log 2>&1 &`
缩写含义:
-l 本地ip端口
-r 远程ip端口
-t TCP协议
-u UDP协议
这样就可以在运维电脑上通过华为服务器映射出端口直接访问海康服务器的1883的端口。
第二步
目的:开发电脑通过FRP内网穿透远程访问运维电脑端口。
这里服务端有2种方案:
通过别人的已经搭建好的FRP服务端和现成的工具(优点:方便,缺点:安全性)
实名认证 (1元)
自己搭建FRP服务端
开源项目:https://github.com/fatedier/frp ,百度关键字:linux frp 服务端 (优点:自己搭建安全, 相对有搭建成本)
为了节约时间成本 这里用Skura FRP做内网穿透,在运维电脑上安装好FRP客户端,并且在https://www.natfrp.com/tunnel/ 创建好穿透隧道,这里FRP的本地IP/端口填写需要映射的华为服务器IP和需要映射端口(1883),运行客户端。(注意:别选择被墙的IP来做FRP服务端)
第三步
现在开发本地已经可以访问内网海康服务器进行联调
海康服务器<——>(映射)华为服务器<——>运维电脑FRP穿透<——>FRP服务器——>开发本地电脑
开发本地只需要使用刚刚创建的穿透隧道服务器的IP地址和所映射的端口,就能直接访问海康服务器1883端口数据了。