事情经过
事情是这样的,由于客户的单位通了电信宽带,然后采购了我们的ERP系统安装在单位的服务器上,在单位的时候可以通过输入服务器的局域网Ip地址访问,也就是192.168.2.1xx这样的地址,访问确实没有问题,但是企业负责人经常外出,需要在异地也可以访问单位的服务器,苦于现在运营商分配的宽带没有公网IP了,不能使用DDNS的方式进行访问,于是找到我帮忙提供好办法。
解决方法
服务器上运行的是一个web类的ERP系统,可以通过浏览器输入地址进行访问,当前最大的问题是没有公网Ip,那么只能使用内网穿透这种方式了。
什么是内网穿透?内网穿透是一种网络通讯技术,该技术使得无论用户处于任何网络环境,都能够快速、方便地访问到内网中的设备和服务。
内网穿透分类
内网穿透总共分为两种:
一种是基于应用层的,比如神卓互联内网穿透。
另一种是基于网络层架构的,比如IBCS虚拟专线。
应用层内网穿透
以应用层的内网穿透--神卓互联为例,其原理是映射本地服务器上的一个端口到公共服务器上,通过公共服务器的公网地址进行访问,这样生成的公网地址是固定的,用户只需要在服务器的主机上安装神卓互联软件客户端即可使用,比较方便。神卓互联的内网穿透技术打破了传统上内外网之间的隔阂,使得我们能够实现跨网络环境的数据传输和访问。
网络层内网穿透
顺便讲解一下另一种网络层的内网穿透技术,IBCS虚拟专线是一种IP专线技术,它基于二层网络架构实现给本地服务器主机分配一个独享的固定的IP, 和物理专线一样效果,可用于建设本地数据中心、业务后台。这种网络层的内网穿透和应用层内网穿透最大的区别就是网络层的内网穿透是将一个公网IP映射到本地的服务器上,所有端口都是开放的,使用效果上本地服务器就相当于一台云服务器,可以通过设置本地服务器的防火墙规则来选择性地开放访问端口。如果用户不想租高配置的云服务器,可以自己购置一台实体服务器放单位里,然后通过这种IBCS虚拟专线分配一条固定的公网IP就可以了。
通过以上的说明,我选择和推荐了应用层的内网穿透方法,因为客户只需要映射本地服务器上的一个8080端口出来就可以了,映射方法如下,
1、在本地服务器上下载安装神卓互联内网穿透客户端,(一定要安装最新版本的)
2、打开并登录神卓互联内网穿透客户端,点击底部的【新建映射】按钮,会跳转到如下配置项目页面,如图所示:
应用名称填写自己的项目名称,如ERP、管家婆、畅捷通等。
映射类型选择常规应用。
内网地址填写127.0.0.1,这个的本机地址,如果是需要访问局域网内其它主机地址,可以填写192.168.1.x这样的局域网地址。
内网端口填写项目的服务端口,我的是8080,就填写8080就可以了。
3、填写完成后点击【保存并提交】按钮后,客户端会自动为用户生成一条固定的公网访问地址,由于安全和隐私原因,这里就不贴出来了。
总结分析
由于我用的应用层内网穿透比较多,因为安装比较方便,到这里还有人没有明白内网穿透的技术背景,就这么说吧:
一般来说,互联网上的计算机与内网上的计算机通讯的方式是有限的:互联网上的计算机可以请求内网上的计算机,但内网上的计算机不能直接响应这些请求。这是因为内网的计算机通常隐藏在防火墙或网络地址转换(NAT)设备之后,这些设备会阻止进入内网的未经授权的请求。
然而,内网穿透技术提供了一种方法,使得互联网上的计算机也能响应内网计算机的请求。这是通过在公网上设置一个中继服务器实现的。内网设备主动向公网的中继服务器发送一个请求,然后建立一个长连接,这就使得数据可以在内网和公网之间双向传输。
再详细点解释,中继服务器收到这个请求后,会建立一个对应的数据通道并保存。当需要从公网对内网设备进行访问时,公网设备向中继服务器发送请求,中继服务器根据已保存的数据通道将这个请求转发到内网设备,接着内网设备就可以得到该请求并对其进行处理,然后将处理结果再通过中继服务器发送到公网设备。
不知道以上我理解的对不对,如有不当之处欢迎指出。