大家好我是Fanfan,因为最近一直在研究公网IP相关的内容,大家也都对这部分内容很感兴趣,远程访问家中nas,远程管理家中路由器远程开机,远程桌面等等也是基于此功能之上,有个网友就提出了来了疑问:

运营商不给公网IP,我们该怎么办?是不是无解了?

针对这个问题我也去了解了一下相关的内容,不过细心的朋友应该会发现,其实我在之前申请公网IP的时候也提到了这个解决方案,就是内网穿透的这个概念。下文中的大部分分析都是我个人最近一段时间对这些网络名词的理解,没有什么专业的术语,可能有些说的不太对,望大家指正。

主要整理了两部分内容:一部分是基于第三方搭建好的服务器厂商:Zerotier、DDNSTO。通过这段时间的研究,可以说是网络上推得比较多的方法了。在限制设备数量或限定基础功能后免费,但都可以实现外网访问。

通过一些资料了解到,某些内网穿透的形式好像也可以通过p2p的形式进行连接。那么今天就聊聊看有哪些可以作为没有公网IP情况下的平替方案。先上图

初步理解

内网穿透概念: 通过在有公网 IP 的服务器上运行反向代理服务与局域网内某主机上运行的反向代理服务(Web 服务器)之间建立一个安全的通道。远程通过访问公有云主机反向代理服务,跳到局域网服务器,并可以通过它来间接访问局域网内其它主机。

P2P的概念:我们也可以路由器自带的虚拟网络服务实现p2p的连接(点对点的连接)。将不在一起的两台电脑通过虚拟网络的服务组成一台电脑,这样做的优势就是实现点对点的连接,不经过第三方服务器。

 

不想花钱可以直接进入正文

另一部分是需要通过购买具有公网IP功能的vps虚拟服务器。也就是说我们没有公网IP的情况下,可以购买一个具有公网IP的服务器作为中转服务器。然后就可以在外,通过vps的公网IP连接到家中的局域网设备。我的使用经验是,所有的流量都会经过vps服务器,所以vps的带宽和流量是主要限制使用体验的因素,当然不差钱的话可以购买高流量高带宽的服务器。阿里云和腾讯都有提供虚拟服务器的服务,既然是收费的,他肯定就有更多可以折腾的内容,相当于一个远程的小硬盘nas了,对这部分有兴趣的朋友可以了解一下。

顺便分享一下我的设备列表:MACBOOK PRO、N1盒子、爱速特AS5202T、GL AX1800、一加9RT

ZeroTier(推荐最多的)

为什么推荐最多?我感觉应该是他自持的平台最多。基本涵盖了日常使用的所有平台。免费支持50台设备接入,日常使用完全够用。比较建议在nas或者路由器段进行部署。下面是支持的平台。客户端下载

ZeroTier 是 P2P 类的VPN软件,他可以把自己的所有设备都装上ZeroTier的客户端,把这些设备异地组成一个虚拟局域网,局域网中的设备就可以相互访问,从而实现外网访问家里的设备。P2P 连接可以保证安全性以及速度,就像通过交换机相互访问一样。部署的难度较低,主要是不花钱。

工作原理如下(认真读的话还是可以看懂的,反正我是看懂了)

操作步骤

电脑网页添加网络,可以看到网络ID

mac安装客户端,然后直接加入网络id即可,很快就会生效。

 

手机端一样,客户端可以在官网下载好,手机安装使用,加入网络id即可。过一会就生效了。

爱速特的应用商店里面也有zerotier的应用,直接安装,加入网络id使用即可。

稍微麻烦的是nas需要使用ssh连接进行设置。

openwrt路由器,安装Zerotier插件,然后加入id

需要操作的最后一步骤是,在zerotier的控制也勾选所有的要组网的设备授权,在设备前方的方框里面打勾即可。到此完成局域网组网的操作了。

组网成功之后,可以通过手机网络直接访问nas的虚拟IP地址,这样我们就可以在外访问我们的nas了。是不是很方便?

 

DDNSTO(花点小钱)

DDNSTO我最早接触是在两年前玩梅林的时候,应用商店自带的插件,当时用起来还不是那么好用,但是目前团队貌似已经做的很强大了,专注于内网穿透。目前的使用体验已经跟刚介绍的Zerotier很接近了,但是毕竟是国内团队开发的,使用体验上更加符合我们的使用习惯。也是比较推荐的。DDNSTO官网

 

刚才说了更加符合国人使用习惯,为什么这么说呢?其实是在ddnsto的控制页里面加入了一些我们日常使用的应用,支持微信扫码登陆,远程桌面、vnc、ssh等,官方已经给出了视频展示,有兴趣的可以看一下远程桌面。

https://www.bilibili.com/video/BV1GM4y1g7Lz?zw

有需要更多学习的朋友,可以去官网学习一下使用方法,我只介绍一下基本应用,毕竟是要花点钱,所以很多朋友应该也会劝退。

使用方式

DDNSTO支持docker,所以我们可以在主流的支持docker的平台上都可以使用。如果你会使用docker,就方便了不少,不管是win mac还是linux都可以使用,当然我们最常用的还是在opernwrt下运行ddnsto,然后做内网穿透。不过上面提到的远程桌面真的是香。

下面就介绍一下openwrt的使用方法。进入后台控制页面拿到令牌,然后去openwrt页面

加入到令牌中之后,应用后我们就可以在控制台看到设备了。

然后将家中的设备IP以及端口映射到相关的域名就可以了。远程访问家中的nas如下图所示。当然我们也可以下载nas中的文件,对nas进行管理之类的操作。

外网登陆路由器后台

 

总结

以上就是最近学习的内容,文章中大部分还是我的理解。有可能不专业,有错误大家可以指出来。也就是最近一段时间我对外网访问的一些自己的认知,其实到目前为止我还是一个网络小白,只是部分网友的留言成为了我学习的东西,想学到更多的东西分享给大家。后续还会针对于远程桌面的一些应用继续学习。

希望大家多多支持,后续继续加油,输出更多能帮到大家的内容。