如何在 Linux 上检查 DNS 传播如何在 Linux 上检查 DNS 传播如何在 Linux 上检查 DNS 传播如何在 Linux 上检查 DNS 传播
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上检查 DNS 传播

虽然 DNS 为互联网主机引入了人类可读的命名方案,但它也带来了与将名称解析为 IP 地址相关的额外开销。对于最终用户而言,此开销意味着访问任何 Internet 主机时会出现额外的 DNS 查找延迟。对于服务提供商来说,这意味着需要维护性能关键的 DNS 基础设施。最大限度地减少这些开销导致了在整个 DNS 层次结构中广泛使用缓存。例如,网络浏览器/操作系统内置的DNS缓存;本地网络的DNS缓存服务器;以及服务提供商运营的本地 DNS 服务器的缓存等。

当涉及到更新 DNS 记录时,如此深的 DNS 缓存链会产生影响。通常,当您更新主机的 DNS 记录时,更新不会立即对外界可见。相反,旧的 DNS 记录可以暂时从各种 DNS 缓存中提供服务。本地 DNS 服务器通常会将每个 DNS 条目在其缓存中保留一段时间,称为“生存时间”(TTL),范围从几分钟到一天不等。因此,典型的 DNS 传播延迟(即看到任何 DNS 更新在全球范围内传播所需的时间)为 24-48 小时。

如果您想检查您的 DNS 记录如何在 Internet 上传播,您可以尝试各种在线 DNS 查找服务。除了此类第三方在线服务之外,还有一种方法可以在 Linux 上本地监控 DNS 传播。

输入dnsyo。

dnsyo 是一个命令行工具,它可以从 Internet 上的各个有利位置对您的域名执行 DNS 查找。截至撰写本文时,dnsyo 可以查询属于全球 33 个国家/地区 1,500 个网络的 1,800 多个开放 DNS 解析器。通过比较这些服务器的 DNS 查找结果,您可以检查 DNS 是否以及如何在 Internet 上传播。

在 Linux 上安装 dnsyo

要在 Ubuntu、Debian 或 Linux Mint 上安装 dnsyo:


$ sudo apt-get install python-pip
$ sudo pip install dnsyo --upgrade

要在 CentOS、Fedora 或 RHEL 上安装 dnsyo:


$ sudo yum install python-pip
$ sudo pip install dnsyo --upgrade

使用 dnsyo 跟踪 DNS 传播

默认情况下,dnsyo 随机选择 500 个 DNS 服务器(从大约 1,800 个服务器中),并从中执行 DNS 查找。 dnsyo 会定期自动下载并更新可用 DNS 服务器的列表。

查看域名的 DNS 查找结果:


$ dnsyo linux教程

如果您将域名从一个 IP 地址移至另一个 IP 地址,并且 DNS 记录尚未在全球范围内完全传播,您可能会看到该域解析为任一 IP 地址,具体取决于使用的 DNS 服务器。在上面的示例中,所有响应的 DNS 服务器报告相同的 IP 地址。

请注意,许多高流量网站采用基于 DNS 的负载平衡,其中域名被故意解析为 IP 地址池。在这种情况下,一个域名始终会解析为多个 IP 地址。使用 dnsyo 查看 Twitter.com,例如:

要获取 DNS 查询的更多详细信息(例如,每个 DNS 服务器的 IP 地址/位置),请使用 --extended 选项。


$ dnsyo --extended linux教程

使用dnsyo,您还可以查询特定的 DNS 记录类型。例如,要查找 Google.com 的 MX 记录:


$ dnsyo google.com MX

以下是 dnsyo 的完整命令行用法。


usage: dnsyo [options] domain [type]

Query lots of DNS servers and colate the results

positional arguments:
  domain                Domain to query
  type                  Record type (A, CNAME, MX, etc.)

optional arguments:
  -h, --help            show this help message and exit
  --resolvlist RESOLVLIST, -l RESOLVLIST
                        Location of the yaml resolvers list to download
                        (http/https)
  --verbose, -v         Extended debug info
  --simple, -s          Simple output mode (good for UNIX parsing)
  --extended, -x        Extended output mode including server addresses
  --threads THREADS, -t THREADS
                        Number of worker threads to use
  --servers SERVERS, -q SERVERS
                        Maximum number of servers to query (or ALL)
  --country COUNTRY, -c COUNTRY
                        Query servers by two letter country code
©2015-2025 艾丽卡 support@alaica.com