![如何在 Windows Server 2012 中正确配置通配符 DNS 记录?](https://linux22.com/image/804213/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20Server%202012%20%E4%B8%AD%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%E9%80%9A%E9%85%8D%E7%AC%A6%20DNS%20%E8%AE%B0%E5%BD%95%EF%BC%9F.png)
我正在尝试为 配置 DNS 服务器domain.com
。我想配置通配符 DNS 记录以解析any-subdomain.domain.com
为单个 IP 地址 (172.16.1.3)。在我的 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
我相信 DNS 服务器认为整个www.domain.com
字符串是 的子域domain.com
。
如何让 DNS 服务器返回正确的行:Name: www.domain.com
答案1
这是我怀疑正在发生的事情,但无法在自己的系统上证明这一点,因为我不想在我的 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
这是因为您的 nslookup 查询从技术上来说是一个不合格的名称。
您可以通过执行以下操作来测试这一点nslookup www.domain.com.
(请注意末尾的句点/点“限定”它)并查看返回现在是否有效。
编辑:是的,似乎是这种情况……因为NXDOMAIN
在这种情况下,您的通配符条目使 nslookup 通常返回的正常响应无效。因为如果查找没有尾随句点,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:
注意它如何为 www.yahoo.com.mdmarra.local 返回 NXDOMAIN。然后它将使用转发器继续查询 www.yahoo.com。由于您有通配符条目,因此它认为您的查询基于通配符有效。