$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
DNS 本身有一个根区域。这个区域字面意思是“.”。绑定要求您完全限定 DNS 名称(这包括 . 或根区域)。其他 UI 通过为您假设根区域来简化此操作。
在 Bind 中,您可以定义一个变量
ORIGIN
,如果您未指定 FQDN(完全限定域名,包括结尾的 .),该变量将自动附加。 Alnitak有一个很好的例子来说明它的语法和各种用途。尾随的“。” 使名称成为“完全限定域名”,即绝对域名。
如果您不添加尾随“。”,则在标准“主文件格式”文件中 然后假定该名称与当前区域文件的名称相关
$ORIGIN
(如下所示在区域文件中指定,或者取自其他zone
语句named.conf
)。IE
。 _ 使名称相对于根,没有它,名称将相对于当前区域。标准区域格式在rfc1035和rfc1034中定义。
是的,听起来 easydns.net 的做法有点古怪。
如果不输入结尾的“.” 然后服务器会将 $ORIGIN 的值添加到记录的末尾。这可能是一个非常有用的快捷方式,如果使用得当,可以节省大量打字时间。
不幸的是,也很容易忘记“。”。这可能导致难以诊断问题。
从技术上讲,“。” 在诸如 www.serverfault.com 之类的记录的末尾。表示“com”gTLD 和“”根区域之间的分隔符。
尾随的点告诉 DNS 服务器这是一个完全限定的名称。点是 DNS 层次结构的根。如果您不使用该点,DNS 服务器将假定它是当前区域中的一条记录,并将为您附加它。例如,如果您在 exmaple.com 中有一个指向 host.example.org 的 CNAME,当您查询它时,您将获得 host.example.org.example.com,这可能不是您想要的。
您不必使用everydns.net 的原因是他们可能编写了他们的UI,因此您不必担心这个技术细节。
在 fqdn 中,点是实际的标识符。“com”和“edu”、“hp”和“stanford”只是任意分隔符。圆点由它们的自旋唯一标识。
最初的设计者希望能够以最少的输入在区域文件中指定主机,因此默认情况下将区域附加到每个条目,除非完全用尾随点限定。这是everydns.net 意识到的一个实现怪癖会导致新手错误和混乱;因此他们消除了它。
简短的回答.. 好吧,老实说,这里已经记录了。:) 基本上简洁地说,“它在 RFC 中是这样说的,伙计。”
看看这个链接
“不,网址域名中的那个点没有错。”