Mar*_*ppi 7 domain-name-system
我已经设置了一个托管服务,作为该服务的一部分,我需要在我们的域名服务器中为所有托管的域自动创建 DNS 记录。
目前我正在使用以下模板:
;
; [USER] - [DOMAIN]
;
$TTL 604800
@ IN SOA [PRIMARY-NS]. [NS-ADMIN]. (
[SERIAL] ; Serial
10800 ; Refresh
3600 ; Retry
1209600 ; Expire
43200 ; Negative Cache TTL
)
;
@ IN NS [NS1]. ; Nameserver
@ IN NS [NS2]. ; Nameserver
@ IN A [SERVER-IP] ; Primary IP
* IN A [CATCH-ALL-IP] ; Catch-all IP
@ IN MX 0 mail
Run Code Online (Sandbox Code Playgroud)
我想知道的是,如果我将主要 A 记录语句替换为该服务器的 DNS 条目的 CNAME - 会有任何不利影响吗?这将使我的服务器上的 IP 管理更加容易,因为我只需要更新一个 DNS 记录。
@ IN CNAME [SERVER-DOMAIN-NAME]
* IN CNAME [SERVER-DOMAIN-NAME]
Run Code Online (Sandbox Code Playgroud)
这是个好主意吗?或者这只会给这些记录的 DNS 查找带来麻烦?
Aln*_*tak 14
不,你不能这样做
@ IN CNAME ...
Run Code Online (Sandbox Code Playgroud)
因为CNAME
记录类型不允许与您必须在区域顶点(或任何其他资源记录类型,就此而言,DNSSEC 相关记录除外)的(必需)SOA
和NS
记录共存。
请参阅RFC 1034 的s3.6.2 :
如果节点上存在 CNAME RR,则不应存在其他数据;这可确保规范名称及其别名的数据不能不同。此规则还确保可以使用缓存的 CNAME,而无需向权威服务器检查其他 RR 类型。