我有一台服务器,其中设置了一堆子域名,它们都指向同一个缓存服务器,这是使用通配符完成的,如下所示:
* IN A 192.168.1.1
这很好,但我想从中排除一个子域。我可以设置另一个条目,例如
mysubdomain IN A 192.168.1.2
但我真正想要的是该子域名抛出 NXDOMAIN 错误。有什么办法吗?例如:
mysubdomain IN A NXDOMAIN
我知道我可以告诉服务器不提供来自该域的任何服务,但如果我可以抛出 DNS 错误而不是服务器错误就更好了。
答案1
在符合标准的情况下,最接近的做法是在该边界处创建一个“区域切口”。这可以通过定义一个额外的区域mysubdomain.example.com
(比您的区域更具体example.com
)或mysubdomain
完全委托给具有记录的不同名称服务器来实现NS
。
这就是说,由于强制 SOA 和 NS 记录共享名称,因此请求mysubdomain.example.com IN A
将导致响应,答案部分中没有记录。所有记录NOERROR
下面该点将返回所需的NXDOMAIN
。
如果你有实际的,技术的需要使一条记录看起来像一个NXDOMAIN
(而不仅仅是出于个人喜好或审美,这与返回的 RCODE 无关),您可以设置响应策略区域(恢复区) 来重写该标签的请求。除非是实际业务需求,否则这样做是过度且浪费的。