非点通配符(* -foo.example.com)是否用于绑定?


10

似乎没有办法告诉bind*-foo.example.com应该下定决心如。10.1.2.3,而*-bar.example.com解决10.2.3.4。有什么解决方法吗?可以一些名字例如。解决与外部程序?还是我应该bind改为。PowerDNS

我试图避免购买另一个SSL通配符证书。(如果使用通配符证书,例如*.example.com,则不允许在*零件中使用点。)

在区域文件中指定全部*-foo*-bar名称不是一种选择,因为我需要能够即时创建两种类型的地址。


是否也无法将域动态添加到区域中?我从未见过将bind用作通配符。我不能肯定地说那是不可能的。
David Houde

@DavidHoude:恐怕不能动态添加,因为任何在添加之前的查询都会“污染”具有无效答案的名称服务器。这就产生了非常罕见但很难解决的问题。(当然,时间会解决问题。)
tuomassalo

1
$GENERATE帮助吗?
Celada

1
@DavidHoude-您可以使用动态更新,但是正如原始发布者指出的那样,您随后会遇到以下情况:缓存解析器可能在添加记录之前缓存了否定响应。要尝试缓解这种情况,您可以将负缓存ttl降低到一个非常低的值,但并不是每个解析器都会严格遵守ttls,并且某些方法会施加一个实际的最小值,因此结果可能会令人沮丧。
Michael McNally

@Celada:该*部分可以是任何[a-z]字符串(当然,有长度限制)。因此,对我而言$GENERATE无济于事。不过,感谢您的提示-对于找到此页面的其他人可能会很方便。
tuomassalo

Answers:


11

之所以不起作用,是因为它不是RFC中定义的行为。它必须作为正在使用的软件的扩展来实现。RFC4592非常牢固地巩固了通配符记录的定义:

2.1.1。通配符域名和星号标签

“通配符域名”是通过将其初始(即,
最左或最低有效)标签为二进制格式来定义的:

  0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)

在这里注意术语标签。标签是点分隔的实体。如果标签中除星号外,则不是通配符。

你有点卡在这里。在DNS中工作时,您需要避免该点。其他所有内容都是服务器软件和特定于实现的扩展。


很好回答。
Michael McNally

0

RFC 6125防止拥有嵌套子域的通用证书。 RFC 4592RFC 1034禁止将* -xxx.domain.com作为DNS条目。

因此,您只有两种选择(尝试自动化时不好用):

  • 为每个子域创建一个证书(有免费的替代方法,但是根据您的平台可能会很复杂)。
  • 为每个子服务创建一个完整的DNS条目(不会是子子域)。
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.