对指定IP地址的访问是请求服务的第一步,对于难以记忆的IP进行域名映射是常用的做法,也就是DNS服务,但如果IP可能频繁变动,那么如何保证域名的正确映射呢。为解决这个问题,提出了DDNS技术。
简介 {#简介}
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
工作原理 {#工作原理}
-
动态域名解析(Dynamic DNS,简称DDNS)是把互联网域名指向可变IP地址的系统。DNS只是提供了域名和IP地址之间的静态对应关系,当IP地址发生变化时,DNS无法动态的更新域名和IP地址之间的对应关系,从而导致访问失败。但是DDNS系统是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络时,客户端程序通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,实现动态域名解析。
-
DDNS用来动态更新DNS服务器上域名和IP地址之间的对应关系,从而保证通过域名访问到正确的IP地址。很多机构都提供了DDNS服务,在后台运行并且每隔数分钟来检查电脑的IP地址,如果IP发生变更,就会向DNS服务器发送更新IP地址的请求。
工作流程 {#工作流程}
获取公网IP {#获取公网IP}
-
域名映射的IP需要是公网IP
-
IP 可以是IPv4也可以是 IPv6
-
需要使用DDNS的场景应为当前公网IP可能面临不稳定 / 可能变化的情况
-
如果确定自己公网IP不变,那么不需要使用DDNS,用域名服务商的DNS即可
申请域名 {#申请域名}
- 域名映射需要有自己的域名
- 可以去各大服务商购买
DDNS {#DDNS}
- DDNS的核心思想是运行一个间隔一段时间自动运行的程序,该程序运行时自动获取本机当前的公网IP,向DNS服务商提供该IP的相关信息,如果IP发生了变换则更新DNS记录
DDNS 实现思路 {#DDNS-实现思路}
所有的DDNS核心都是在做上述流程描述的事情,具体操作方式有很多
- 使用支持DDNS功能的路由器
- 云服务商也有支持本家域名的DDNS服务
- 第三方应用,如花生壳等
- 学习自己域名服务商的DNS更新API,设计程序自动更新
参考资料 {#参考资料}
- https://baike.baidu.com/item/ddns/670146?fr=aladdin
- https://blog.csdn.net/weixin_42169081/article/details/119299368
- https://zhuanlan.zhihu.com/p/46580280
文章链接:
https://www.zywvvd.com/notes/coding/internet/ddns/ddns/