AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 907313
Accepted
Niels Basjes
Niels Basjes
Asked: 2018-04-13 00:45:43 +0800 CST2018-04-13 00:45:43 +0800 CST 2018-04-13 00:45:43 +0800 CST

如果已定义子主机名,则 DNS 主机名不再解析

  • 772

我很难理解启用 let encrypt 时出现的子域名的 DNS 名称解析的特定影响。

我的问题的背景:

我有一个域 (basjes.nl),并且我已将该域中的所有主机名设置为解析为相同的 IP 地址。

在我的 DNS 提供商 (Transip) 的 UI 中,我看到如下内容:

@                      A      x.x.x.x
*                      CNAME  @

现在我可以这样做来获取指定的 IP 地址。

dig blurp.basjes.nl

最近我部署了ACME-DNS 工具并设置了适当的 DNS 条目(即,将 auth.basjes.nl 委托给我自己的 ACME-DNS 服务器)以允许 Lets Encrypt 通过 DNS 验证我拥有指定的主机名。

对于这个特定的主机名,我想要一个“全名”HTTPS 证书(即不是通配符),所以我添加了如下内容:

_acme-challenge.blurp  CNAME  something.auth.basjes.nl.

添加此条目后,我发现做dig blurp.basjes.nl不再有效。奇怪的是我没有收到错误(所以没有 NXDOMAIN),我要么一无所获,要么只是

;; AUTHORITY SECTION:
basjes.nl.      300 IN  SOA ns0.transip.net. hostmaster.transip.nl. 2018041107 14400 1800 2419200 300

所以此刻我有这样的事情:

@                      A      x.x.x.x
*                      CNAME  @
_acme-challenge.blurp  CNAME  something.auth.basjes.nl.

我发现如果我为这个主机名添加一个明确的 DNS 记录,那么它突然又可以工作了:

@                      A      x.x.x.x
*                      CNAME  @
blurp                  CNAME  @
_acme-challenge.blurp  CNAME  something.auth.basjes.nl.

我想了解的效果:

  • 为什么询问普通 DNS 服务器时不再解析?

    '*' 记录仍然存在!

    dig blurp.basjes.nl @1.1.1.1

  • 为什么直接询问 Transip 的 SOA DNS 服务器会解析?

    dig blurp.basjes.nl @ns0.transip.net

  • 为什么添加显式记录时它会解决?

    这是我目前用作使其适合我的解决方法。

PS 在发布这个问题之前,我已经联系了 Transip 支持。他们不知道这里出了什么问题和/或为什么会发生这种情况。

domain-name-system
  • 1 1 个回答
  • 151 Views

1 个回答

  • Voted
  1. Best Answer
    Calle Dybedahl
    2018-04-13T08:50:57+08:002018-04-13T08:50:57+08:00

    DNS 是分层的。当您添加 name_acme-challenge.blurp.basjes.nl时,这意味着它blurp.basjes.nl也被隐式添加。这里可能令人惊讶的一点是,名称可以在没有任何内容的情况下存在。当你曾经dig询问时blurp.basjes.nl,你得到了一个完全正确和准确的答案:名字存在,但不包含任何记录。这种情况下,一个名称存在只是因为在 DNS 树中它下面还有其他名称,称为空非终端。如果您想了解更多信息,可以搜索该术语。

    这是你令人困惑的行为的第一部分。第二部分是这样的:当且仅当请求的名称不存在时,使用通配符记录生成答案。因此,首先您要求blurp.basjes.nl并得到通配符生成的答案。然后你添加了_acme-challenge.blurp.basjes.nl. 当您之后再次询问时,该名称blurp.basjes.nl确实存在(如上所述),因此未使用通配符。但是由于blurp.basjes.nl里面没有记录,所以你得到的只是一个空洞的回复。之后你添加了一条CNAME记录blurp.basjes.nl,所以当你再次询问时,这就是你得到的。

    这能把事情弄清楚吗?

    • 2

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve