开篇碎碎念
前几篇文章中,分享了使用NAS自带DDNS服务+IPV6实现全内网设备远程访问的文章,貌似各位也挺感兴趣,优势是可以免费,缺点是要品牌、正规NAS才支持。
NAS+IPV6,零成本实现内网设备全远程访问!群晖、威联通NAS公网DDNS访问设置教程
比如装了H群晖、就用不了自带的DDNS服务,那怎么解决这种问题呢?H群晖用户非常多,相信不少朋友也头疼这个问题。
很简单,借助DDNS+IPV6,其中,DDNS借助DDNS-GO这个套件,只要你的NAS支持Docker都是可以装的,不管是什么品牌或任何NAS系统,如下图,我给H群晖设置了IPV6远程,外网访问速度直接跑满带宽,7MB约56Mbps的访问速度,真的很快。
所以本篇的主题是在群晖Docker上安装DDNS-GO套件+IPV6实现远程访问内网设备,并开启HTTPS加密访问。
重点是,不管是安装了DDNS-GO的NAS本身还是全部内网设备,都可以实现远程连接和访问,一次性解决远程访问难题。
网上也有许多此类文章,但没把这些内容整合起来,大部分只是演示了如何远程访问安装了DDNS-GO的NAS本身,而没说到NAS要配合群晖本身自带的反向代理功能来实现全内网设备的远程访问,所以本人同样不才,整合了这些内容,一次性给各位演示到位,展示一下如何实现这些功能(针对新手,大佬勿笑)。
本期出场的是蜗牛星际,安装了群晖,一直使用近两年,很稳定,如果你是其它机器,只要安装了群晖,都可以跟着这期文章来操作。
当然,本期要求是至少要有公网IPV6,如果你有公网IPV4也可以,IPV6号称可以给地球上每粒沙子都分配一个地址,所以有公网IPV6的情况下,你不需要做任何端口转发之类操作,因为网络中每一台设备都能获取独立的公网V6地址。
但如果你是公网IPV4,只有一个地址,要想访问内网设备就需要设置端口转发了,因为我手上没有公网IPV4,所以本期着重以IPV6来演示。
本篇重点不是演示如何开启IPV6,具体如何让路由器或光猫开启IPV6,大家可以在搜索引擎搜索下图中的标题,找到这篇文章(这儿放不了链接),按里面提示开启并获取公网IPV6即可,非常详细,开启后再跟着本篇文章操作即可。
开启后,进入你群晖NAS后台,控制面板中找到-网络-网络界面,展开即可查看IPV6地址,确认是240x开头的IPV6地址即可。
然后,就可以进入实操阶段了。
本篇大纲:
引出:什么是DDNS和域名
正常情况下,如果你的公网IP不是固定的,每次重启光猫后,IP都会变动,IPV6同样如此,因为每次运营商下发给设备的IPV6都是会变动的,IPV6地址长这样。
DDNS前提是需要申请或购买一个域名,像阿里云域名,几块钱就有一年,很便宜。DDNS就可以自动将变动的IPV6地址绑定到你的这串域名上面。
例如,你的域名是ikun007.top,在群晖NAS上部署DDNS服务,DDNS服务会自动获取当前群晖NAS的IPV6地址,并将这串IPV6地址和你的ikun007.top域名绑定,这样,你不需要记住这一大串IPV6地址,你仅需记住ikun007.top这个域名就行了,你每次访问这串地址,都是可以直连到你的群晖NAS,这样就实现了远程访问群晖NAS,这就是DDNS的作用。
此外,借助群晖自带的反向服务器,还能实现全内网设备的远程访问,可以说,一个域名+部署DDNS服务就实现全部内网设备的远程访问,这就是本篇文章的主要目的,拓朴图如下。
相信各位此时明白了DDNS和域名的作用,所以,安装前您需要有一个域名,可以在阿里云万网、腾讯云等域名服务端处申请和购买,冷门顶级域名仅需几块钱一年。
以下内容分两步:1,在群晖上安装DDNS服务;2,购买域名+解析操作
实操1:群晖NAS中安装DDNS服务
DDNS服务,建议安装DDNS-GO,这个DDNS-GO是个软件,可以通过Docker形式安装,只要你的群晖支持Docker,也可以通过套件源形式安装,两种方式都会说到,以下方式二选一即可。
套件形式安装DDNS-GO
首先来说最简单的套件形式安装,搜索我不是矿神,找到矿神官网进入。
在里面找到矿神源相关网页,或者看下图,手动也可,分DSM 6和7系统版本,请根据自己系统版本选择合适源地址。
进入群晖后台,打开套件中心,右上角设置-套件来源-新增,按你的6或7系统添加对应套件源即可,上面矿神源地址有可能变动,各位搜索后进入网页去找即可,正常是不会变动。
对了,在常规这,把信任层级设置为任何发行者即可,确定,就完成了套件源添加。
等大概几分钟,搜索DDNS,会出现如下所示,找到DDNS-GO,点击安装即可,自动化的。
点击打开,就进入了DDNS-GO后台,OK,套件版就是这么简单,DDNS设置在后续说明,下面说Docker版安装方式,二选一即可,如果你套件形式安装完成,Docker形式的就不用装了。
Docker形式安装DDNS-GO
进入群晖后台,确保有安装了Docker,如无,在群晖套件中心搜索Docker安装即可,打开Docker,注册表处搜索ddns,选择jeessy这个开头的选中,点击左上的下载,选择lastest最新版,下载即可。
然后打开文件总管,在docker文件夹中新建一个ddnsgo文件夹即可。
返回Docker,在映像处等它下载完成,下完后选中,点击启动。
出现如下所示,点击高级设置。
勾选启用自动重新启动。
存储空间-添加文件夹,选择你在docker中新建的ddnsgo文件夹即可,装载路径输入/root即可。
网络处,把左下使用与Docker Host相同的网络。其它不需要设置,点击应用即可。
再点击下一步,应用即可,就成功进行部署了。
返回Docker界面,在总览处即可看到正在运行的DDNS-GO容器。
在浏览器输入你NAS的IP地址加9876端口,就进入了DDNS-GO后台。
实操2:域名购买+设置
DDNS-GO安装完成,还需要一个域名,我这以阿里云域名为演示。搜索阿里云,进入官网。
当然,如果你是其它域名服务端也可以,我这只以阿里云演示。
然后注册阿里云账号,注册这些很简单,我就不再多说啦。
找到域名注册,点击进入。
然后搜索你想要注册的域名前缀,com域名比较贵,可以找top、xyz等冷门域名注册,几块钱一年。
比如说输入mynas0008,然后搜索,就可以发现很便宜的出现了,就按提示结算之类的,然后需要实名认证之类操作,就按界面提示操作,一点也不难。
搞定后,点击右上角头像控制台-进入后搜索域名,点击域名管理界面。
然后在域名列表处,就会出现你注册好的域名了。
然后点击右上角头像,找到AccessKey管理。
然后点击创建AccessKey,按提示创建,创建完成后,就获取到AccessKey ID和Secret和,这两串字符记下来,后面会用到。
实操3:DDNS-GO后台配置
返回DDNS-GO后台,把前面步骤获取的ID和Secret填写在下文框中,服务端勾选阿里云即可。
如果你是其它服务商,如腾讯云,点击,按界面提示获取对应密钥填写上去即可。
这里的意思是,DDNS-GO就有了可以修改这个域名DNS的权限,IP变动后,会自动修改这串域名的DNS记录,每次访问这串域名就可以远程访问了。
还没完,往下拉,IPV4和IPV6处打色,通过接口获取,Domains就填写你的域名,如果想直接通过顶级域名访问,直接输入你前面申请的域名即可,我申请的是mynsa0007.top,我不想通过顶级域名访问,所以我用二级域名,加前缀即可,如我自定义nas前缀,这样,nas.mynas0007.top就是DDNS-GO需要解析的域名,后续我访问nas.mynas0007.top这串域名就可以远程访问到这台群晖NAS的后台界面了,很好理解吧。
往下拉,点击Save保存即可。
保存后,可以发现DDNS后台右上角有解析提示,可以发现它自动获取NAS的IPV6地址,并将地址解析到我前面设置的域名上面了。
在群晖后台中可以看到,群晖后台访问端口是5000。
OK,等它生效,一般生效几分钟或半小时内不等,打开手机浏览器,输入你前面设置的解析域名加5000端口,发现成功访问了。
你可以使用手机流量进行访问,因为手机流量都有IPV6支持了,如果你当前连接的网络不支持IPV6,就没办法访问到这台群晖NAS了,因为我们是以IPV6来设置,所以要双方都要支持IPV6,但这几年IPV6普及越来越好,更加普及只是时间问题了。在没有公网IPV4的情况下,IPV6成了一个不错的选择。
当然,也可以打开群晖配套的APP,在地址栏处输入域名加端口,也可实现配套APP远程访问了。
如果无法访问,可检查路由器防火墙,设置为低等级或关即可。
群晖反向服务器实现全内网设备远程访问
OK,前面我们实现了群晖后台和自带APP的远程访问,还有一个功能没实现,就是借用群晖内置的反向代理服务器实现全内网设备的远程访问,就相当于把群晖做为一个跳板,实现访问局域网中的另一台NAS、主路由等等,只要你的内网设备有后台界面都可以实现远程访问。
注意看下图,群晖是连接在我的主路由TP下,主路由后台IP地址是:192.168.2.1:80,那么如何借助群晖实现远程访问这台TP后台呢,请往下看。
设置方法很简单,点击控制面板-应用程序门户-反向代理服务器,点击新增。注意,DSM 7的这个可能位置不同,但肯定有的,可以搜索反向,看看,或者一个个去找,肯定有,我这只有6系统群晖。
以远程访问TP为例,如下图设置,目的地也就是我的TP路由器,它后台地址为192.168.2.1,所以目的地处的主机名就写192.168.2.1,端口默认80,如是其它端口就如实填写。协议选择HTTP。
描述可以随意写,来源处的协议是HTTP,主机名建议填写*号,代表所有请求,或者写你前面解析的域名也没问题。端口就指定一个未占用的端口即可,1-65000范围都可以,只要不是80或443之类的。点击确定。
OK,添加完成,如果还有其它内网设备,继续新增。
好的,现在打开手机,以流量形式访问,输入域名加5002端口,发现成功远程访问到局域网中的TP主路由了,是不是很简单。
比如,局域网中还有一台NAS,地址是192.168.2.66:5000,要想实现远程访问,就按如下图填写,就和TP设置一样,按公式套上去就行了,非常简单。
同样,你使用域名加5003端口,即可访问到另一台NAS的后台了,就不再赘述了。
开启HTTSP加密访问
前面可以发现,是以HTTP形式访问的,会提示不安全,为确保数据安全,建议开启HTTPS访问。开启HTTPS就需要SSL证书,阿里云有免费证书申请,申请后导入证书即可,下面来演示一下。
返回阿里云控制台,搜索SSL,找到SSL应用安全进入。
点击SSL证书-免费证书-立即购买,放心,免费的。
按下面点击,打勾协议,立即购买,会提示0元,按提示操作即可。
下一步,证书域名绑定处填写你前面在DDNS-GO中设置的域名,其它保持默认,确认。
然后会验证域名可用性,因为我的域名也是阿里云的,直接点验证就通过了,如果是第三方域名,请按提示操作。
然后点提交审核,确定即可。
大概几分钟,看到已签发,说明成功,点击下载。
点击其它下载,会下载一个压缩包,解压即可。
解压后会得到如下图中两个文件,后续会用到。
返回群晖后台,控制面板-安全性-证书-新增。
点击导入证书,下一步,来到此界面。
私钥就点击浏览,上传key结尾的证书,证书上传pem结尾的那个文件即可,点击确定。
OK,返回即可看到证书成功添加,有把绿色小锁。
然后点网络-DSM设置,把重定向到HTTPS打勾,点击应用,这样,当你访问HTTP时,会自动重定向到更加安全的HTTPS协议访问,保障数据安全。
前面我们设置了反向服务器进行内网设备远程访问,要开启HTTPS也简单,返回反向服务器设置,编辑,把来源协议改成HTTPS即可。