DNS:跟踪期


30

当我编辑绑定dns记录时,我需要添加尾随时间才能使其正常工作。这有什么意义呢?

当我使用everydns.net时,为什么不要求我加上尾随期呢?

这是一个怪癖吗?


真是个好问题。我从来没有真正注意过这个点,但是这里的答案非常有教育意义(在内容和语法上)。
卡拉·玛菲亚(Jara Marfia)2009年

Answers:


21

DNS本身具有一个根区域。该区域在字面上称为“。”。绑定要求您完全限定DNS名称(包括。或根区域)。其他用户界面通过为您假设根区域来简化此操作。

在“绑定”中,您可以定义一个变量ORIGIN,如果您未指定FQDN(完全合格的域名,包括结尾的。),该变量将自动附加。 Alnitak有一个出色的语法示例和各种用法。


实际上,您可以定义$ ORIGIN变量来完全限定您的主机名。请看下面的Russell Heilling和Alnitak评论。
Benoit,2009年

很好的一点。我将编辑以添加有关该事实的信息。
Kevin Colby

1
根区域不称为.。它是一个空标签。
bzeaman

17

尾随“。” 使该名称成为“完全合格域名”,即绝对域名。

如果您不添加结尾的“。”,则为标准的“主文件格式”文件。则假定该名称相对于当前区域文件的名称$ORIGIN(如下所示在区域文件中指定,或者从其他zone语句中获取named.conf)。

$ORIGIN example.com.
mail    IN A      192.168.1.1
mail2   IN A      192.168.1.2
server  IN A      192.168.1.3
@       IN MX 10  mail                   ; not FQDN - example.com. appended
        IN MX 20  mail2.example.com.     ; FQDN 
        IN MX 30  mail.example.net.      ; FQDN in another domain
        IN MX 40  mail2.example.net      ; ERROR - not FQDN - example.com appended
www     IN CNAME  server                 ; not FQDN - example.com. appended

3
还请记住,如果未在区域文件中指定ORIGIN,则由所服务区域的名称隐式定义。
bortzmeyer

9

使名称相对于根,没有它,名称将相对于当前区域。标准区域格式rfc1035rfc1034中定义。

当我使用everydns.net时,为什么不要求我加上尾随期呢?

这是一个怪癖吗?

是的,听起来easydns.net有点古怪。


2
严格来说,它被称为“完全合格”,而不是“相对于根源”。
Alnitak

就像指定/ var / log和var / log之间的区别
Matt Simmons

不,更像是/ var / log和log之间的区别,如果当前目录为/ var
Alnitak 2009年

6

如果不输入结尾的“。” 然后服务器会将$ ORIGIN的值添加到记录的末尾。这是一个非常有用的快捷方式,如果使用得当,可以节省很多键入时间。

不幸的是,也很容易忘记“。” 这可能导致难以诊断的问题。

从技术上讲是“。” 在诸如www.serverfault.com之类的记录的末尾。表示“ com” gTLD和“”根区域之间的分隔符。


3

尾随点告诉DNS服务器这是一个完全限定的名称。点是DNS层次结构的根。如果您不使用该点,则DNS服务器将假定它是当前区域中的记录,并将为您添加该记录。例如,如果在exmaple.com中有一个CNAME指向host.example.org,则在查询时会得到host.example.org.example.com,这可能不是您想要的。

之所以不必使用everydns.net,是因为他们可能编写了UI,因此您不必担心此技术细节。


2

在fqdn中,点是实际的标识符。“ com”和“ edu”,“ hp”和“ stanford”只是任意的定界符。点的旋转可唯一标识。


2
原谅我,serverfault,当我试图将我的头缠在我很久以前读到的dns根级别概念上时,这种愚蠢才浮现在脑海。我认为一种思考方式是DNS根级别基本上是一个空字符串。因此,如果要完全合格,则必须添加一个点。如果DNS由大型委托人或Microsoft设计,则顶级将是“ top”之类的东西,并且您必须在FQDN中添加“ .top”。自己决定哪个更适合PITA。

点旋转呢?:P太随意了……
shylent

2

最初的设计人员希望能够以最少的输入量在区域文件中指定主机,因此,默认情况下,除非将每个点附加到句点,否则默认将区域附加到每个条目。这是Everydns.net认识到的一个实现怪癖,它导致新手错误和混乱。因此他们消除了它。


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.