我已经将绑定配置为捕获所有域并为它们返回相同的ip (A记录)。这是一个域名停车服务,其中可能涉及数千个域名。
在将example.com的名称服务器指向我的名称服务器之后,我正确地显示了已停放的主机页面。
唯一的问题是名称服务器查找不起作用。如果我dig NS example.com,我只需要拿回SOA,而不是NS名称。尽管dig example.com确实返回了正确的A记录。
我花了好几个小时尝试各种事情,希望能在这件事上得到帮助。
它的配置:
named.conf.local:
zone "." {
type master;
file "/etc/bind/zones/db.catchall";
};db.catchall:
$TTL 604800
@ IN SOA ns1.mynameserver.com. hostmaster.mynameserver.com. (
26 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN NS ip.addr.for.ns1
IN NS ip.addr.for.ns2
* IN A ip.addr.for.hosting发布于 2019-07-20 17:49:55
所观察到的行为对于您所配置的内容是预期的,并且是正确的。
Ie,您有一个名称服务器,它声称对根区域具有权威性,并且它有一个通配符A记录,它将匹配下面的任何内容。除了根区域之外,它没有其他NS记录。
但是,对于应该对许多不同区域具有权威性的服务器来说,所配置的内容实际上是不正确的。如果example.com被委派给您的名称服务器,那么您的名称服务器应该有这个特定的区域(至少在区域的顶端有SOA和NS ),而不仅仅是一些父区域(比如.)。
这种配置的错误包括对NS查询的响应(即,它将声明example.com没有名称服务器)以及所有负面响应(负面响应将具有错误区域的SOA )。
如果您想以尽可能正确的行为来做这件事,但是没有指定所有区域(这对正确性来说最好),我想您会想要查看一些高度可编写脚本的名称服务器软件,它可以回答好像它有与某种模式相匹配的相关区域(可能基于公共后缀列表?)。
https://serverfault.com/questions/976020
复制相似问题