为了从任何地方访问计算机,我们需要 ipaddress,但我们知道动态 ip 地址经常变化。为了解决这个问题,使用了动态 DNS。有人能告诉我它是如何工作的吗?
答案1
动态 DNS 的工作方式是,在路由器或内部机器上运行一个客户端,持续监控公共 IP,当 IP 发生变化时,它会向远程服务器发送更新,通知他们变化情况。远程服务器收到更新后的 IP 后,所有相关 DNS 记录都会更新为新信息。
这项技术也存在一些潜在问题,但我认为这些问题并不重要。
问题 1:缓存的 DNS 记录。中间 DNS 服务器经常会缓存结果,以避免过度重新查询名称服务器。(这可以减少延迟和带宽)每个 DNS 记录的一部分都是“ttl”,它告诉缓存服务器何时应该让缓存记录过期。IP 更新和缓存过期之间可能会有延迟。
问题 2:NAT 后面。即使 dyn-dns 客户端能够识别您的公共 IP 地址,它们也无法调整上游的防火墙规则。如果您位于任何类型的 NAT 后面,则托管在 NAT 后面的服务不太可能从公共互联网访问。您必须调整防火墙规则以将您的公共 IP 指向您的设备。如果您不控制防火墙设备,这将是不可能的。(公共热点?)
问题 3:免费 DYNDNS 提供商会删除过期记录。如果您的 IP 长时间没有更改,或者您的客户端死机并停止更新您的记录,您的 DYNDNS 提供商可能会因不活动而删除您的帐户/记录。
问题 4:使用 DYNDNS 提供商的服务通常已受到大多数安全设备/系统的警告标志。由于 DYNDNS 的匿名性,黑客经常利用此类服务,许多安全公司会将 DYNDNS 上的服务视为高风险,并相应地配置其威胁检测。这可能会导致意外问题和故障排除难题。
总之:对于个人使用,DYNDNS 可以非常有助于重新连接您的家庭办公室或个人计算机……但它绝对不适合商业网站或服务。
答案2
因此,当您向动态 DNS 提供商(即 www.noip.com)注册时,它将在您的计算机上安装一个程序,该程序将链接到您的动态 DNS 帐户(例如 www.mycustomurl.com),该程序将 .mycustomurl.com 网站映射到您当时的外部 IP 地址。
因此从根本上来说,它检查:
- 您的外部 IP 正在进行例行检查(您设置检查/更新的间隔时间)
- 将当时动态的外部 IP 地址链接到您的 DNS 帐户
- 更新 DNS 记录以指向您提供的任何域/子域(或者,他们可以为您提供来自提供商的自定义 URL,即 xxxxx.noip.com
- 如果 IP 改变则重复该过程。
希望有所帮助。
答案3
冒着吹毛求疵的风险,我认为这里遗漏了几点。首先,动态 DNS 不是一个程序或(商业或非商业)服务,它是由 IETF 工作组于RFC 2136并更新于RFC 3007。它定义了一种动态更新 DNS 服务器记录的标准方法(无需修改配置文件并重新启动/HUP 服务)。
如今,动态 DNS 协议在主服务器和从服务器之间被广泛使用,以便在检测到修改时自动更新它们,而无需您自己进行更新。
关于 @TheCompWiz 指出的安全问题,如果是与协议有关(而不是 DynDNS 服务,这里似乎是这种情况),请允许我不同意。动态 DNS 不是匿名的(甚至可以/应该使用 TSIG 密钥来保护),因为可以检查发射器的 IP,并且在中型到大型公司中非常常用。一个稍微简单的解决方法是租用自己的域名并自行维护,费用约为每年 15 美元(或找人为您做这件事并允许您执行动态 DNS 查询以更新记录)。