真的找不到答案。所以我有一个正在运行的服务器,分配了一个 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
我认为这是不允许的,因为每个 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
但随后我收到错误,名称服务器的 CNAME 是非法的。
我该如何解决这个问题?我只有一个 IP!
答案1
你为什么认为每个 IP 只能有一个 A 记录?你可以拥有任意多个。第一个例子是正确的,没有问题。
您不能拥有多个 IP 来进行反向查找。我认为您可能混淆了这两者。
答案2
您可以让多个 RR 指向同一个 IP 地址。使用 CNAME 记录在许多情况下都很有用,但 NS 和 MX 记录不是其中之一。确保您的 NS 和 MX RR 指向 A 记录。
RFC2181 第 10.3 节规定
10.3. MX 和 NS 记录
用作 NS 资源记录的值或 MX 资源记录值的一部分的域名不得是别名。不仅规范在这一点上很明确,而且在这两个位置使用别名既不能像希望的那样发挥作用,也不能很好地实现可能导致这种方法的抱负。此域名必须具有一个或多个地址记录作为其值。目前这些将是 A 记录,但将来提供寻址信息的其他记录类型可能是可以接受的。它也可以有其他 RR,但永远不能是 CNAME RR...