1

当我注意到一个奇怪的差异时,我正在玩通配符域(考虑将它们用于未来的项目)。

我的域配置了通配符 DNS 条目 ( *.vgoc.info)。我试过 pinging a_.vgoc.info,在 Linux 上,我得到了

$ ping a_.vgoc.info
ping: unknown host a_.vgoc.info

但是,在 OS X 上,我得到

$ ping a_.vgoc.info
PING vgoc.info (174.2.65.138): 56 data bytes

在 Windows 上也是如此。

有谁知道Linux是否有一些拒绝某些模式的特殊“名称验证”?例如,ping a_b.vgoc.info并且ping a__b.vgoc.info工作正常,但ping a-.vgoc.info没有。

根据我对 DNS 规范的阅读,这样的名称并不违法。是否有其他限制此类名称的参考?

4

1 回答 1

2

这可能是因为您的域名根据RFC 1035不合法。域名的每一部分(点之间)称为“标签”,以下是标签的语法:

<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig-hyp> ::= <let-dig> | "-"
<let-dig> ::= <letter> | <digit>

请注意,下划线是不合法的,标签不能以连字符开头或结尾。

于 2013-01-12T09:04:52.543 回答