工作中经常会遇到在内网中的服务如何被外网访问的问题。比如,自己电脑上部署有个web服务,想给外网的其他人临时看下,怎么办,难道还要去外网服务器上再部署一份?
比如,公司内网有一套完整的工具链,如版本管理系统什么的,可以用来打包、发版本什么的,有一天你在家里,突然发生紧急情况,要发个版本,怎么办,难道还要去公司一趟?
在现实的工作场景中,在公司内网的服务器上有很多的应用系统,这些系统只能局限于在公司内部使用,而在外网却无法使用。
我们需要可以随时把内网的服务端口映射到外网上,其他人要访问,只要通过自定义公网地址端口来访问就好。
如何在外网使用这些系统呢?下面简单为大家介绍几种常见的解决方案,
如果公网IP是在路由器上的,则需要做下路由转发规则,即路由器端口映射设置。
路由器端口映射是最常见的一种方式。在路由器上进行端口映射配置,将外网请求的特定端口映射到内网Web服务器的对应端口。这样,外网用户可以通过访问路由器的公网IP和映射的端口来访问内网Web服务器。
这个方案的缺点是很多网络没有公网IP,无法实现远程访问。有条件的也可以尝试申请获取公网IP,不同地方不同网络商政策有所差异,有的可以有,有的需要单独公网IP费用。
这是一种极简单但很粗暴的解决方案,您可以直接找网络运营商办理专线。
专线接入的主要方式包括PCM专线、DDN专线、光纤专线、SDH专线、MPLS专线及以太网专线等,均通过独占物理链路提供高稳定、低延迟的网络连接。
但专线接入通常价格比较昂贵,一般只有较大企业场景才使用,一般个人和普通公司在考虑成本控制时没有性价比。
通过建立VPN连接,可以实现内网服务器的外网访问。VPN连接会将您的计算机连接到内网,使得您的计算机就像直接连接到内网一样,可以访问内网服务器。市面上有很多VPN解决方案,常见的有如硬件部署VPN和软件搭建VPN组网。
硬件VPN搭建:如通过专门的路由器来实现,需要在所有网络端(本地和所有访问端)都增加VPN路由器来实现。
软件VPN搭建:在不增加网络硬件设备的情况下,使用纯粹的软件VPN方法,如采用三方VPN组网工具,同样需要在所有网络环境(包括本地和所有访问端)都安装部署,需要专门的技术人员来完成和后续长期维护管理。
通过配置反向代理服务器,将外部请求转发给内网Web服务器。反向代理服务器位于外网,接收外部请求后再将请求转发给内网服务器。这种方式可以增加服务器的安全性,并且可以实现负载均衡。
此方案需要在自己公网主机上部署反向代理服务,所以必须要有个公网IP服务器,同时需要一定的技术能力搭建部署和后续长期维护需要。如果有资源,项目多,有技术员,有条件的是可以选择这个方案的,但不适合普通大众用户。
目前主要流行的方案是内网穿透方案,简单易用、成本低,非常适用于个人和中小企业客户。内网穿透,即内网映射,内网IP端口直接映射出去让外网访问。
原理是利用内网穿透工具或网络端口映射软件,如大众化的nat123端口映射方式,本地设置自定义域名端口绑定内网指定web或应用服务,从而在互联网通过对应外网域名端口来访问。下面重点介绍下内网穿透解决方案,并以nat123为示例,将内网web或指定应用提供外网访问的实现步骤。
内网穿透解决方案,可以解决客户内网中的web和应用外网访问问题,是用户普遍使用的一款远程连接方案。如借助nat123网络映射解析工具,可以使用改变端口转发模式或选择同端口点到点直连方式让外网访问内网本地资源。
用户本地自建web网站实现外网的远程访问;
各类管理软件实现远程访问办公;
远程访问视频监控画面;
物联网行业的各类设备远程维护连接管理;
远程访问服务器NAS系统等;
下面详细介绍一下nat123内网穿透的实施方法:
(1)下载客户端并进行安装
打开对应官网,在目标服务器上下载一个nat123软件客户端,安装非常简单只需要一步下一步执行即可,如涉及目录安装一般建议选择到D盘或其他非系统盘,可以避免默认系统盘文件权限问题。另,如没有服务器本地权限的,或本地主机不便使用的,可以选择下载安装在服务器本地内网另台互通的主机上(或手机平板等设备)使用。
(2)注册账号并登录
安装完客户端后,在客户端点击注册按钮,或直接进入对应官网的注册链接页面在注册页面,自定义名称密码邮箱信息以获取注册一个属于自己的nat123用户账号,并进行登录客户端使用。
(3)添加端口映射
登录nat123客户端后,在win软件界面点击“添加映射”模块,弹出来的设置框中进行设置内外网映射操作(如是Linux等非WIN的则直接登录对应官网管理后台进行添加修改映射等操作,这样即使人不在现场也能远程管理使用):
映射名称:自定义;
映射类型:包括一些80、443、非80、全端口等选项;这需要结合本地应用场景选择,如我本地http网站需要外网80固定端口访问时,就选择80http类型;如是https的web服务应用且需要外网固定443访问的,则选择443https类型;像办公OA等后台管理网站web应用,对端口没有要求特别的,可以选择非80网站类型让外网带端口形式访问;多端口固定端口的如FTP应用则可以选择全端口类型;
内网地址:内网IP地址就是您应用服务器的内网IP,如本机应用的则直接用127.0.0.1就行,固定不变的;
内网端口:应用程序端口就是您应用系统的通信使用的端口,此端口在本地内网能访问到的,以实际填写;如用了全端口类型的,则默认不显示此项,因为默认外网访问内网所有同端口号的;
外网端口:当选择了80、443、全端口类型时,默认不会有这项,因为默认外网访问就是用80、443、同内网端口号的;如果选择了非80类型的,则默认生成提供一个外网端口号,一般不用改,也可修改其他未占用的端口号用;
外网域名:默认生成一个随机二级域名,通常为方便记住使用可修改对应二级字符域名用;如有自主域名的,则修改使用自己注册的域名;
确认保存生效后,可见到对应界面客户端上多一个刚添加好的映射图标,同时有显示对应内外网地址端口信息,鼠标停留上面会有一些状态检测提示参考。
(4)域名端口访问
在外地互联网上需要连接访问时,使用对应的nat123映射设置好的外网域名端口地址即是外网连接服务的访问地址。
本地web和应用程序需要公开提供互联网访问时,选择使用的方法有不少,具体需要结合本地网络环境和实际需求,同时考虑操作管理和成本控制。对于长期提供公网连接使用的,安全不可省,一定要定时查看了解本地服务器资源运行情况,应用本身涉及帐号密码强度加强等切实做好安全工作。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。