我正在 Ubuntu 16.04 上进行我的第一个邮件服务器配置。在所有教程和操作方法中,都有mail
子域,如mail.example.com
.我想知道这是否是某种正式要求,或者只是没有标准要求的可能解决方案的示例。
我正在尝试使用这些 DNS 记录来做到这一点:
MX main.dom main.dom 1 14400
CNAME www.main.dom main.dom 43200
A main.dom XXX.XXX.XXX 3600
我不知道如何测试它。我也无法预测缺乏经验的后果。我可以看出服务器本身对端口 25 上的 telnet 做出响应,如下所示:
$ telnet main.dom 25
Trying XXX.XXX.XXX.XXX...
Connected to main.dom.
Escape character is '^]'.
220 server1.main.dom ESMTP Postfix (Ubuntu)
main.dom
不是真正的地址,只是一个结构表示。在 localhost 上调用时XXX.XXX.XXX.XXX
为127.0.0.1
,但 FQDN 保持不变(3 部分)。
这个问题的答案很难在网上找到。假设我使用mail
子域,
MX main.dom mail.main.dom 1 14400
我还需要创建相应的CNAME吗?
答案1
大多数任何有意义大小的域都有一台专门用于邮件的机器,因此mail.example.com
.
我还需要创建相应的CNAME吗?
不,您需要 的 A 记录mail.main.dom
。 MX 记录应始终指向 A。将 MX 记录指向 CNAME 是一个常见的错误。
使用绑定语法:
main.dom. IN MX 10 mail.main.dom.
mail.main.dom. IN A 1.2.3.4
或者,如果您想在同一台机器上提供所有服务:
main.dom. IN A 1.2.3.4
main.dom. IN MX 10 main.dom.
www.main.dom. IN CNAME main.dom.
旁注:
- 将 MX 优先级设置为 1 不是一个好主意。如果在任何时候您需要紧急重新路由邮件,您可以添加具有更高优先级的 MX,例如 5。
- 出于同样的原因,您不应将 MX 的 TTL 设置得太高。像 3600 这样的东西足够大,不会影响您的 DNS,但又足够小,可以让您在紧急情况下进行更改(更改应在不到一小时内传播)。
- 优先级 0 有效,但由于技术原因不使用它。
答案2
这是一个例子。邮件主机可以有任何名称(单个物理主机可以有多个名称)。在教程中,如果邮件主机的mail
名称中包含 ,可能会更容易将邮件主机与其他主机区分开来。它减少了混淆的可能性。