如果我有一个通配符域,是否可以列出覆盖通配符域的特定子域?
例如:
*.domain.com. 3600 IN A 1.2.3.4
foo.domain.com. 3600 IN A 9.9.9.9
答案1
是的,这有效。
答案2
是的,就像 Zoredache 所说的那样,“这有效”。
但是使用通配符时需要注意以下几点:
通配符匹配一个或者更多标签,因此在你的情况下
foo.bar.domain.com
将由通配符匹配,但bar.foo.domain.com
会返回,NXDOMAIN
因为存在foo
阻止任何子域foo
匹配通配符匹配是特定于 RRtype 的。但是,如果通配符和覆盖记录不具有相同的 RRtype,则覆盖记录仍将“隐藏”通配符,但您会得到
NODATA
(即无答案,rcode == NOERROR
)。
例如
$ORIGIN example.com.
* IN A 192.168.1.1
foo IN TXT "foo"
% dig @localhost foo.example.com. A
(abbreviated)
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36960
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0