1 domain-name-system bind a-record
找不到答案,真的。所以我有一台服务器运行,分配了一个 IP 地址。服务器托管 www、dns 和邮件。
这是我尝试配置它的方式(摘录):
IN NS ns1.domain.com
IN MX mail.domain.com
mail IN A ip.ip.ip.ip
ns1 IN A ip.ip.ip.ip
www IN CNAME mail
Run Code Online (Sandbox Code Playgroud)
我认为这是不允许的,因为每个 ip 只能有一个 A 记录。
我试图用这个配置解决这个问题:
IN NS ns1.domain.com
IN MX mail.domain.com
mail IN A ip.ip.ip.ip
ns1 IN CNAME mail
www IN CNAME mail
Run Code Online (Sandbox Code Playgroud)
但是后来我收到错误消息,名称服务器的 CNAME 是非法的。
我怎样才能解决这个问题?我只有一个IP!
您可以让多个 RR 指向同一个 IP 地址。使用 CNAME 记录在许多情况下都很有用,但 NS 和 MX 记录不是其中之一。确保您的 NS 和 MX RR 指向 A 记录。
RFC2181 第 10.3 节说
10.3. MX 和 NS 记录
用作 NS 资源记录值的域名或 MX 资源记录值的一部分不能是别名。规范不仅在这一点上很清楚,而且在这两个位置中的任何一个中使用别名既不能像预期的那样有效,也不能很好地实现可能导致这种方法的雄心。该域名必须具有一个或多个地址记录作为其值。目前,这些将是 A 记录,但将来可能会接受其他提供寻址信息的记录类型。它也可以有其他 RR,但绝不能有 CNAME RR...