Gre*_*hes 3 domain-name-system bind
大家下午好!
我正在查看一些 BIND 区域文件,并且遇到了一个奇怪的问题,我没有找到一个好的答案。其中一些区域文件的 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)
)
Run Code Online (Sandbox Code Playgroud)
该文件似乎工作正常,并且通过了 DNSStuff 的在线测试。我确实打算
大师们有什么想法吗?
感谢大家的关注!
G
http://www.zytrax.com/books/dns/ch8/origin.html
$ORIGIN
定义一个基本名称,在处理区域文件时,从该名称进行“非限定”名称(那些没有终止点的名称)替换。
当设置为仅一个点时.
,意味着只会添加/替换一个点。就这样。
通常你会看到:
$ORIGIN example.com.
@ IN NS ns1.example.com
@ IN NS ns2.example.com.
@ IN MX 5 mail
Run Code Online (Sandbox Code Playgroud)
因为该@符号是区域文件中 $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.
Run Code Online (Sandbox Code Playgroud)
第一行显示了一个典型的错误记录,当 $ORIGIN 被附加到缺少尾随..
将 $ORIGIN 设置为点会使 @ 速记的使用不切实际,但可以防止出现诸如顶部的不幸事件。
$ORIGIN .
example.com IN NS ns1.example.com.
example.com. IN NS ns2.example.com
Run Code Online (Sandbox Code Playgroud)
将自动完成/更正为
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
Run Code Online (Sandbox Code Playgroud)
而且不进
example.com.example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.example.com.
Run Code Online (Sandbox Code Playgroud)
如果 $ORIGIN 仍然是example.com.
域,就会发生这种情况。
归档时间: |
|
查看次数: |
6354 次 |
最近记录: |