为什么通配符不起作用?

leo*_*leo 7 domain-name-system bind wildcard

我的绑定配置

carrie     IN A     192.253.253.4
*.carrie   IN A     192.253.253.6
*.test.carrie IN A  192.253.253.7
Run Code Online (Sandbox Code Playgroud)

执行

nslookup  carrie 
Address: 192.253.253.4

nslookup a.test.carrie
Address: 192.253.253.7
Run Code Online (Sandbox Code Playgroud)

但是当我执行 nslookup test.carrie

*** Can't find test.carrie: No answer
Run Code Online (Sandbox Code Playgroud)

Dan*_*Dan 10

通配符工作正常,这就是a.test.carrie解析的原因。你的问题是test.carrie没有解决。

原因很简单,您还没有test.carrie.

*.test.carrie匹配 的直接子域test.carrie,但既不匹配test.carrie本身,也不匹配的子域的任何子域test.carrie

添加不带通配符的另一条记录。

  • @leo 正如我所想,这就是你的答案。添加通配符子域后,BIND 将不再将该子域与通配符匹配。这几乎可以肯定是预期的行为 (3认同)
  • @Dan 你在评论中的措辞有点不对,但你是对的。通配符匹配*低于*点的范围。 (2认同)