DNS:通配符域

Unk*_*own 8 domain-name-system wildcard subdomain

如果我有一个通配符域,是否可以列出覆盖通配符域的特定子域?

例如:

*.domain.com. 3600 IN A 1.2.3.4
foo.domain.com. 3600 IN A 9.9.9.9
Run Code Online (Sandbox Code Playgroud)

Aln*_*tak 12

是的,就像 Zoredache 说的,“这有效”。

尽管使用通配符有一些注意事项,但值得了解:

  1. 通配符匹配一个或多个标签,因此在您的情况下foo.bar.domain.com将与通配符匹配,但bar.foo.domain.com会返回,NXDOMAIN因为存在foo阻止foo匹配的任何子域

  2. 通配符匹配是特定于 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
Run Code Online (Sandbox Code Playgroud)


Zor*_*che 10

是的,这有效。

  • 绝对地。* 记录仅在没有更多与查询匹配的特定记录时才被查询。 (2认同)