DDNS翻译过来就是动态域名服务,他将用户的动态IP地址映射到一个固定的域名解析服务商,用户每次链接网络的时候客户端会通过信息传递把该主机的动态ip地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
上面说的可能有些绕,实际上DDNS服务就是将用户的IP地址与固定的域名一一映射,即使用户ip变更,而DDNS服务也会随之将域名的解析变更为新的ip地址。再简单一点就是可以使用固定的域名来在外网找到你的电脑。
由于电信等提供的公网ip是动态变化的,通常一天或二天一换,如果想要固定的ip地址还需要交额外的费用。所以我们就需要建立DDNS服务来将域名与动态ip进行映射。
我们使用威联通提供的docker来部署DDNS服务,在威联通的ContainerStation中搜索aliddns找到chenhw2/aliyun-ddns-cli
这个容器。
在高级设置中的环境中设置以下参数:
然后运行该容器在控制台中看到以下内容,说明就映射成功了:
实际上这个容器的作用就是自动在阿里云控制后台生成了一个域名映射:
这个是自动完成的,并且会在ip地址变更的时候自动更新这条映射。
创建完成了DDNS服务以后,实际上还是无法在外网访问你的NAS,因为NAS是在光猫下的,其ip地址是192.168这样的内网地址,而我们访问域名实际上是将请求发送给了外网地址也可以理解为发送给了光猫。而光猫本身不能处理这条请求,所以会将该请求抛弃。这个时候就需要另一个知识点就是端口映射,我自己的网络拓扑如下:
可以看到我的网络是两层结构,因为光猫只有一个千兆Lan口,所以我在下面有添加了一个提供多个千兆Lan口的路由器。而光猫下只是接了这个路由器而已。
光猫的网关是192.168.1.1,而路由器连接在光猫上那么他的ip地址是192.168.1.3。
而在光猫下的端口映射如下:
端口映射的意义就是如果外网的某个端口得到了请求,光猫会不加处理的将请求发送给映射的局域网ip:端口上。例如我上面的虚拟服务名称为nas的端口映射的意思是:外网的5000端口得到了一个请求,光猫将请求发送给内网的192.168.1.3:5000(也就是中间的路由器上)。
这时候我们依然无法看到我们的NAS,这就需要中间路由器继续进行映射将从光猫得到的请求转发给nas:
以上就完成了映射。
你也可以看到上面的映射中有一个22端口的ssh映射,同理如果防火墙没有放行也连接。
本文的前提条件:
具体步骤:
问题:你懂的跨网情况下,QNAP威联通外网服务器得到的访问ip不是路由器ip,因此ddns的映射ip有误,无法正常工作。
解决步骤:
1. 记录路由器dnsmasq查询日志
root@LEDE:~# vi /etc/dnsmasq.conf
加入:
root@LEDE:~# /etc/init.d/dnsmasq restart
2. 获取QNAP api服务器的ip
在QNAP myQNAPcloud云服务 >My DDNS管理界面中刷新ddns,QNAP发送api查询请求,在/tmp/dnslog.txt 中记下访问的cname域名和所有ip
写此篇时的cname:core2.api.myqnapcloud.com
对应ip:18.210.138.207 34.196.214.117 34.230.144.114 52.200.64.231 54.152.194.22 54.209.14.111
2019.6.1对应ip变了:34.224.217.21 34.200.69.29 52.201.140.187 52.205.52.244 174.129.89.179 54.152.154.81
3. 白名单例外
把上述ip设置到白名单额外被忽略ip里
前往花生壳注册个账号并转到域名注册处输入个你想要的前缀,然后就可以免费领取二级域名用于外网访问。
前往路由器动态DNS设置页面选择Oray后输入花生壳的用户名和密码即可,联机就会出现你的域名信息。
先点击DDNS里添加绑定Oray的账号,添加保存后测试联机状态如果显示绿色的正常那么就是可以了。
点击设置路由器会自动检查路由器设置,其中有的路由器UPnP是自动添加的如下图,有的是手动添加的。
如下是DSM设置的HTTP端口,也就是你访问DSM时的192.168.1.2:8051后面这个自定义的端口。
如果路由器已经通过UPnP兼容性检查那么端口设置会自动添加到路由器中,然后进入路由检查下就行。
IP地址则是NAS的,注意请务必在路由器中开启MAC绑定防止NAS重启导致IP变化,这样可能又得重新设置一遍UPnP端口映射了。
打开花生壳管理中的域名检测解析地址是否与客户端地址一致。
更新有的时候花生壳虽然显示不一致,但实际上是已经可以访问的,你自己直接访问你的域名加端口测试下。
排查方法,检查路由器中动态DNS状态是否连接、更新DSM的DDNS状态是否正常、端口连接测试等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)