对使用 dig 命令查询 DNS 的好奇心

对使用 dig 命令查询 DNS 的好奇心

我正在分析 imgur.com 网站的 DNS 部分。我的疑问是,当我运行“dig imgur.com”时,dig 仅返回一个 IP 地址,如果我再次运行相同的命令,dig 会返回另一个 IP 地址,有时还会返回相同的 IP 地址。

另一个问题:通过使用 dig www.imgur.com 获取另一个域名的 CNAME,这是正常的吗?有人可以向我解释一下吗?

答案1

通过使用 dig www.imgur.com 获取另一个域名的 CNAME

“另一个领域”是内容分发网络(CDN)由 Imgur 使用 - 本质上是一个托管服务提供商,专门在世界各地缓存静态数据(视频、猫 gif),理想情况下尽可能靠近访问者。

通过将此任务委托给 CDN,Imgur 只需担心在一个或两个数据中心托管原始数据,而不必担心在所有地方托管。

如果我再次运行相同的命令,dig 会返回另一个 IP 地址,或者有时返回相同的

CDN 使用各种负载平衡方法和不需要在 DNS 回复中一次列出所有 IP 地址。

  • 单个 IP 地址可以指向由多个实际托管服务器支持的负载均衡器。

  • 单个 IP 地址可能存在于几个地点使用任播。您的数据包始终会到达您的 ISP 认为“最近”的位置。

  • Fastly 的 DNS 服务器动态生成答复,这样就可以避免给您提供过载服务器的地址。

  • 许多 CDN 还使用“GeoDNS”,也就是说,它们会向您提供最近服务器,所以无论如何你在欧洲总是会得到与美国不同的结果。

我想查看所有 IP 地址

dig仅显示 Fastly 提供给您的数据,并没有特殊技巧来返回“所有”地址。

请记住,地址通常是共享该 CDN 的所有客户,因此阻止整个范围将导致阻止很少几个网站。

相关内容