DNS:通配域


8

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

例如:

*.domain.com. 3600 IN A 1.2.3.4
foo.domain.com. 3600 IN A 9.9.9.9

Answers:



12

是的,就像Zoredache所说的那样,“这可行”。

有一些需要注意的通配符,但有一些警告:

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

  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

1
抱歉,对我来说这有点神秘。
未知

没有定义* .foo.domain.com。避免为bar.foo.domain.com使用NXDOMAIN吗?
史蒂夫·施耐普

@Steve-我相信,是的。(不过我还没有测试过)
Alnitak
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.