免费咨询

探秘内网穿透技术

一、 内网穿透技术是什么

在工业互联网应用开发过程中,经常会听到通过外网连接内网设备的需求,这里说的外网通常说的是互联网,也就是我们经常浏览网页的网络,而内网通常是说的是工厂的内部局域网,同一个内部网络的电脑、服务器、设备之间可以互相访问,实现资源共享,而有部分的情况下,需要处于外网的服务器也能够访问到内网的某一台设备,例如部署在云端的SASS软件需要通过OPC协议接口来读取设备的参数,这种情况下如果不做特别的网络处理是不能实现的,因为内部网络中的设备通常是没有外网IP的。

image.png



二、针对这样的情况,主要有两种解决方案:

   (1)解决方案一(路由器NAT

设备处于工厂的局域网内,但如果我们有权限去控制上层的网关路由器,即这个上层的路由器具有一个公网IP,假设为123.123.123.123,那么我们可以在路由器中设置端口映射(NAT),例如将路由器的50083端口映射到局域网内设备的83号端口,这样我们在外部网络就可以通过IP+端口123.123.123.123:50083来访问设备的83端口的数据了。


image.png

但很多时候我们并没有权限去控制这样一个网关路由器,因为在现在的网络环境下,很有可能我们整个一工厂甚至一栋楼使用一个公网IP,每个车间里用一个路由器。这就存在路由器多级嵌套的情况,网关路由的操作权限不会那么轻易获取,并且即使获取也可能每一层路由器都需要配置端口映射,会十分繁琐。


(2)解决方案二(云服务器转发)

换一种想法,如果我们拥有一台具有公网IP的云服务器,那么我们完全可以将云服务器作为一个中继,大家都连接到这台具有公网IP的云服务器并保持连接,云服务器都记录好连接着的机器谁是谁,大家需要相互沟通时就告诉云服务器我想和谁沟通并将想沟通的消息发送出去即可,这就是内网穿透的技术,内网穿透技术也很简单,就是使用一台放置在公网的服务器作为代理,需要访问设备的服务器和被访问的设备都同时连接到代理服务器上,并保持网络的长连接,读取设备数据时,请求统一发给代理服务器,代理服务器将读取请求转发给内网网络的设备,反之一样。


image.png


三、常用的内网穿透工具

(1)frp

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。使用步骤:先部署frps到云服务器上,再在本地服务器上运行frpc。项目地址:https://github.com/fatedier/frp


(2)Tunna

Tunna是一款神奇的工具,它可以通过HTTP封装隧道通信任何的TCP,以及用于绕过防火墙的网络限制。项目地址:https://github.com/SECFORCE/Tunna


image.png








联系数位单元生产一线数字化解决方案专家
探讨您的项目

立即咨询