DNS区域文件中的“ @”是什么意思?


102

我的域的DNS区域文件中包含以下数据:

$ORIGIN mydomain.com.
@       IN      A       208.X.Y.Z
mail    IN      A       208.X.Y.Z
... etc..

@行是什么意思?我知道A记录是什么..但是在符号前带有“ &” 的主机吗?


9
也许有点挑剔,但@不是&符。;)
John Gardeniers

1
哈哈哎呀:)真是..是时候解决这个问题了..(唐诺为什么我说这是一个&符/&)..
Pure.Krome,2009年

1
@不是“&”号,但由于他们犯了同样的错误,所以有95,000人在过去9年中来到这里。=)感谢这次事故,我是其中的一员。
大满贯

Answers:


72

RFC 1035定义DNS区域文件的格式。

...在第34页,您会发现:

@自由站立@表示当前原点。

这意味着这@是使用定义的名称的快捷方式$ORIGIN

您可以在$ORIGIN 此处找到更多信息,该信息摘自Apress发布的Pro DNS和BIND


48

它是根,或者在您的示例中是mydomain.com。


我尝试时似乎并不等效。我A记录了mydomain.com.指向主机IP 的记录。这会使DNS查找失败,并显示无法解析主机名的错误。如果将更mydomain.com.改为@,则域名解析,并且我的网站可以访问。两者有什么区别?我认为区域不是mydomain.com吗?(我在Namecheap控制面板中设置这些记录)。
丹尼尔·桑纳

@DanielSaner在IN之前放置的部分是mydomain.com之前的前缀。因此,如果您输入mydomain.com,则实际上意味着mydomain.com.mydomain.com。这就是@是重要字符的原因,它可以简单地转换为mydomain.com。
Scott Forsyth-MVP

我的理解是,尾随.将名称指定为完全限定名称,因此不应在名称后面附加名称。那将符合RFC 1535,这实际上是我的注册商在其示例中使用它的方式:namecheap.com/support/knowledgebase/article.aspx/9256/29 / ...但是,当我尝试这种配置时,它不起作用它。也许控制面板除了将信息按原样添加到区域外还要做其他事情?
Daniel Saner

1
是的,这很大程度上取决于DNS工具的实施。直接使用DNS文件时,您会看到@,但是在各种DNS工具中很少看到它。DNS工具尝试简化UI。从您的消息中听起来好像您有一种工作方式,但没有另一种工作方式,因此,我建议您使用它的工作方式。DNS工具实际上取决于该工具的实现,即使DNS服务器根据规范也可能无法以相同的方式实现。
Scott Forsyth-MVP

因此,要总结,对正常工作的DNS服务器,@并且domain.com.应该是等价的?
CMCDragonkai

5

这是区域名称本身的别名。在这种情况下,它指示区域名称具有该地址(或mx记录,或...)

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.