问题和处理
一直是知道$ORIGIN XXX.COM 这种写法是可以让后面RR记录的域名部分给省略,提高文件可读性也降低手工修改域名的错误,直到我遇到下面这种ZONE文件写法
$ORIGIN xxx.com.
www A 10.10.10.10
test.xxx.com. A 10.10.10.11
最初我还疑惑test.xxx.com.会不会被bind认为是test.xxx.com.xxx.com.这种记录,后来测试发现的确可以解析test.xxx.com. 仔细翻阅了下bind官网的手册才发现$ORIGIN配置的域部分只会附加到非FQDN的域名记录上,而对于test.xxx.com.这种FQDN格式的域名是不会附加的。不过为了便于维护,还是建议在ZONE文件要么使用FQDN,要么使用$ORIGIN来简化配置。混合写也没问题,就是看起来别扭。
参考文档:
这个里面还说了,ZONE文件被读取的时候,还有个隐式$ORIGIN xxx.com.声明,有时间测试一下呢,不过说实话,为了配置文件清晰明了,别这么玩。