DNS $ORIGIN 点

DNS $ORIGIN 点

大家下午好!

我正在检查一些 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)
                )

该文件似乎运行正常,并通过了 DNSStuff 的在线测试。我确实计划

各位大师有什么想法吗?

感谢大家观看!

G

答案1

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

因为该@符号是区域文件中 $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. 

第一行显示的是典型的错误记录,当 $ORIGIN 附加到缺少尾随 的 FQDN 时,就会产生这种替换结果.

将 $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.域,就会发生这种情况。

相关内容