如何在 Windows Server DNS 中通配符 DNS 记录以捕获所有记录

如何在 Windows Server DNS 中通配符 DNS 记录以捕获所有记录

我的朋友创建了一个白标网站,他问我是否可以对所有域名进行通配符处理,以便买家只设置他们的域名 NS,指向他们的 DNS 服务器,并且如果不存在,DNS 服务器将为所有请求返回单个 IP...

因为我有自己的服务器,而且碰巧也有启动了 DNS 的 Windows Server,所以我尝试了几种方法,但都无法解决...

我有一个 .(根) 区域,我添加了一个 * 文件夹和新主机...没有用...我还创建了 * 和最近进入区域并向其中添加带有我想要的 IP 地址的 Empy 主机记录,但这也不起作用......

我应该怎么办?

答案1

恐怕它无法如您所想的那样发挥作用……

DNS 系统中没有“通用捕获所有”记录。通配符定义为“所有其余”或如果您想要捕获所有,但它仅用作记录(一级域),不能用于子域。

假设你有一个域名示例.com.区域文件包含以下记录:

$TTL 3H
@   IN SOA  @ admin.example.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    IN NS   @
    IN A    127.0.0.1
    IN AAAA ::1
a   IN A 127.0.0.2
*   IN A 127.0.0.3

如果你请求 DNS,你将得到这些答案

example.com => 127.0.0.1
a.example.com => 127.0.0.2
b.example.com => 127.0.0.3
xyz.example.com => 127.0.0.3
www.b.example.com => NXDOMAIN (error Not Existing Domain)

错误的原因(最后一个例子)是子域名不存在。通配符覆盖<任何内容>.example.com但它不覆盖任何子域,所以它不覆盖<任何内容>.<其他>.example.com...

您的问题是期望捕获超过一个域级别的所有记录,因此,恐怕没有办法实现这个目标 :-(。

相关内容