可以通过设置路由器虚拟服务器开放一些端口供外网访问,但由于运营商的原因,这些IP有时候并不是直接的IP,更多的时候这些IP都是动态的,简单说就是今天给你的IP是15.63.87.251,明天随时都有可能变为变得IP,并且是不能访问80个443端口的,那么有没有一种办法可以实现在没有公网IP的情况下,又不用设置路由器就可以让外网直接访问内网里的应用呢需求分析
需求分析
让家里可以使用XShell连接到公司的linux虚拟机。均处于内网环境,在此记录下可行的方法。
最佳方案是使用神卓互联,
首先可以去神卓互联官网下载一个客户端。(地址自己百度吧),这个一般是针对企业级应用的,比如管家婆,OA系统等等,对于我们这些平民可以使用社区版,重点是不收费。
下载好之后点安装就可以。
神卓互联_内网穿透安装
安装的过程很顺利,直接点下一步就可以了。
神卓互联_外网访问内网
安装完成后我们就可以打开登录了,(这个登录框背景是半透明的,不要找不到/捂脸)
简单注册一个账号,然后选择社区版,直接确定登录就可以了。
内网穿透_免费的内网穿透软件
接下来就可以开始正式使用了。
内网穿透
接下来就是添加映射了,首先是3389远程访问的映射
点击主面板左下角的添加映射按钮
应用名称可以随便填,这里可以填远程桌面,服务器IP可以是局域网内任意IP,这里填写127.0.0.1就可以了,端口号肯定是填3389了,点击其二添加就好了。主面板就会返回一个固定的公网地址和端口号,当然这个地址可以把后面的端口号去掉,也可以绑定域名,这里就不多说了,不是重点。
接下来就可以通过外网访问了,打开下面这个远程桌面连接,
然后就可以直接连接了。
接下来就是穿透8080端口了,
只需要把端口号改为8080,当然可以是任意的端口号和tomcat保存一致就可以了。
然后就可以直接连接了。
接下来就是穿透8080端口了,
只需要把端口号改为8080,当然可以是任意的端口号和tomcat保存一致就可以了。当然也可以是其它端口,
访问方式如下:
除此以外还有其它可供选择的软件
方案一:nat123
官网:nat123官网-免费域名.80端口映射.P2P穿透软件.动态域名解析.端口映射.域名解析.全端口映射.网站加速.远程开机.硕腾信息 - nat123官网
描述:非网站映射或者全端口映射都可以实现,非网站映射可以单独在虚拟机安装服务就行,但是速度不理想。免费版的全端口映射(P2P)可以实现点到点的访问,但是两端都要安装客户端,免费版在手机不可使用。属于商业软件,完全闭源。
方案二:teamviewer
描述:是一种国外的远程控制软件,免费版已经功能很强大,支持win、Linux、iOS、安卓客户端。服务端就使用国外的服务器,速度中等。属于商业软件,完全闭源。
方案三:向日葵
官网:向日葵官网-简单好用的远程控制软件|远程桌面控制连接,免费远程控制,远程监控,远程协助,手机远程监控软件-Oray向日葵
描述:跟teamviewer原理差不多,但创始人是中国人,服务器也在中国,客户端包涵PC和手机端。实际使用体验上,感觉速度并不稳定,时好时坏。属于商业软件,完全闭源。
方案四:ZeroTier
官网(已被墙):ZeroTier | Home
描述:虚拟局域网。就是通过一个公共的服务器,建立一个虚拟局域网,让家里电脑和公司电脑同处于一个虚拟局域网,然后通过分配到的虚拟局域网ip进行连接。两端都需要安装客户端。服务器在国外,响应不理想。项目的服务端没有开源,客户端是开源的。
方案五:ngrok
官网(已被墙):secure introspectable tunnels to localhost
描述:主要用途是给网站或者安装开发提供部署环境,但是也同样可以用来进行端口转发。除了官方提供的服务之外,作者也放出了源代
码,国内有好心的小伙伴也有自行搭建服务端供大家使用的。建议可以找服务器是在自己地区附近的,响应速度会相对快很多。
方案六:frp
官网:https://github.com/fatedier/frp
描述:原理与ngrok是相同的,但服务端需要自己搭建,由于该项目是完全开源的,所以代码安全性较高,目前自用感觉不错,前提是服务端速度足够。
方案七:n2n
项目官网:https://github.com/ntop/n2n
描述:n2n的原理与ZeroTier相似,但是n2n的*节点服务端是需要自己搭建的,而ZeroTier的服务端是官网提供的。如果*节点的服务端速度足够,那么速度相当快!
方案八:SSH
这个ssh就是Linux中的SSH,其实SSH也具有端口映射的功能,可以实现与nat123相似的功能,前提需要一台自己的服务器。参考我的另一篇帖子,链接在此。