我需要为新的公司域编写一个区域文件。假设公司拥有 company.com,我需要为两个域 play1.playground.company.com 和 play2.playground.company.com 编写一个区域文件。定义区域文件 Origin 行时,是否需要放入整个 FQDN play1.playground.company.com。或者只是 play1.playground 就足够了?以下区域文件会起作用吗?
$ORIGIN play1.playground.company.com.
$TTL 3600
@ IN SOA ns hostmaster ( 1614244859 7200 3600 1209600 3600 )
@ IN NS ns
@ IN A 1.1.1.1
@ IN MX 10 mail
ns IN A 10.0.0.2
mail IN A 10.0.0.1
www IN CNAME play1.playground.company.com.
wwwtest IN CNAME www
$ORIGIN
定义区域文件中的非限定名称应如何完成。您可以使用任何东西,甚至重新定义
$ORIGIN
来更改同一区域文件中后续记录的替换行为。但这可能会导致一团糟。
$ORIGIN
应完全合格并以 . 点。按照惯例
$ORIGIN
,应该设置为区域文件所属的区域名称,这就是 Bind 在未明确定义时将执行的操作。另请参阅https://www.zytrax.com/books/dns/ch8/origin.html
事后诸葛亮:我还看到 zonefiles
$ORIGIN
设置为仅点.
。其结果是实际上没有发生替代。这会迫使区域管理员始终在任何地方使用 FQDN,这意味着您不能使用
@
速记,但也可以防止出现以下情况,即在作为 FQDN 之后缺少句号导致 CNAME 记录指向play1.playground.company.com.play1.playground.company.com.
我不知道这样做是否更有意义,但它确实使带有和不带有终止的记录的
.
行为相同,并且正如一个草率的区域管理员所期望的: