DNS $ ORIGIN点

大家下午好!

我正在检查一些BIND区域文件,并且遇到了一个奇怪的问题,我还没有find一个好的答案。 其中几个区域文件的ORIGIN指令只是一个点(。)。 看起来很奇怪,我知道。 这是消毒的指令:

$ORIGIN . $TTL 600 ; 10 minutes example.com IN SOA ns1.example.com. support.example.com. ( 2016010101 ; serial 28800 ; refresh (8 hours) 120 ; retry (2 minutes) 1209600 ; expire (2 weeks) 86400 ; minimum (1 day) ) 

该文件似乎工作正常,它通过从DNSStuff在线testing。 我计划

任何想法从大师?

感谢所有的期待!

G

http://www.zytrax.com/books/dns/ch8/origin.html

$ORIGIN定义了一个基本名称,在处理区域文件时,将从其中创build“不合格”名称(那些没有终止点的)名称。

当设置为只有一个点. 这意味着只有一个点将被添加/replace。 就这样。

通常你会看到:

 $ORIGIN example.com. @ IN NS ns1.example.com @ IN NS ns2.example.com. @ IN MX 5 mail 

这是因为@符号是区域文件中$ ORIGIN的缩写,它将被完成:

 example.com. IN NS ns1.example.com.example.com. example.com. IN NS ns2.example.com. example.com. IN MX 5 mail.example.com. 

如果第一行显示了一个典型的错误logging,当$ ORIGIN被附加到想要成为一个没有结尾的FQDN时,这样的replace将会导致这种replace

将$ ORIGIN设置为一个点使得使用@速记是不切实际的,但是可以防止诸如顶部之类的事故。

 $ORIGIN . example.com IN NS ns1.example.com. example.com. IN NS ns2.example.com 

将自动完成/纠正到

 example.com. IN NS ns1.example.com. example.com. IN NS ns2.example.com. 

而不是进入

 example.com.example.com. IN NS ns1.example.com. example.com. IN NS ns2.example.com.example.com. 

如果$ ORIGIN仍然是example.com. ,会发生什么情况example.com. 域。