如何在 Windows Server 2012 中正确配置通配符 DNS 记录?

Bra*_*ack 5 domain-name-system wildcard-subdomain windows-server-2012

我正在尝试为domain.com. 我想配置一个通配符 DNS 记录以解析any-subdomain.domain.com为单个 IP 地址 (172.16.1.3)。在我的 DNS 服务器中,我的转发区域中有以下记录:

DNS 记录

这有点工作,除了当我运行时nslookup www.domain.com我得到这个响应:

Server: winsrv.domain.com
Address: 172.16.1.2

Name: www.domain.com.domain.com
Address: 172.16.1.3
Run Code Online (Sandbox Code Playgroud)

我相信 DNS 服务器认为整个www.domain.com字符串是domain.com.

如何让 DNS 服务器返回正确的行: Name: www.domain.com

The*_*ner 4

这是我怀疑正在发生的情况,但无法在我自己的系统上证明这一点,因为我不想在我的 DNS 服务器上保留通配符记录。

这有点有效,除了当我运行 nslookup www.domain.com 时我得到以下响应:

Server: winsrv.domain.com
Address: 172.16.1.2

Name: www.domain.com.domain.com
Address: 172.16.1.3
Run Code Online (Sandbox Code Playgroud)

这是因为您的 nslookup 查询从技术上讲是一个不合格的名称。

您可以通过执行nslookup www.domain.com.(注意末尾的尾随句点/点来“限定”它)来测试这一点,并查看返回现在是否有效。

编辑:是的,这似乎是这种情况......因为您的通配符条目使NXDOMAINnslookup 在这种情况下通常返回的正常响应无效。由于如果查找没有尾随句点,则 nslookup 始终会附加后缀。

例如,我的电脑上有这样一个:

> set debug=true
> www.yahoo.com
Server:  dc1.mdmarra.local
Address:  10.10.10.10

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 2, rcode = NXDOMAIN
        header flags:  response, auth. answer, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        www.yahoo.com.mdmarra.local, type = A, class = IN
    AUTHORITY RECORDS:
Run Code Online (Sandbox Code Playgroud)

请注意它如何返回 www.yahoo.com.mdmarra.local 的 NXDOMAIN。然后它将继续使用转发器查询 www.yahoo.com。由于您有通配符条目,因此它认为您的查询基于通配符是有效的。

  • MDMarra 是你的另一个自我吗?这就解释了为什么我从来没有看到你们两个同时回答一个问题。 (4认同)
  • 为什么您的 DNS 服务器名为 dc1.MDMARRA.local? (3认同)