安装 Postfix 邮件服务器后,我需要将 mail.example.com 添加到 hosts 文件中吗?

安装 Postfix 邮件服务器后,我需要将 mail.example.com 添加到 hosts 文件中吗?

环境:CentOS、Postfix、Dovecot、Digital Ocean Droplet

我的/etc/hosts文件包含这些行。

# The following lines are desirable for IPv4 capable hosts
127.0.0.1 example.com example
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4

# The following lines are desirable for IPv6 capable hosts
::1 example.com example
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

问题:安装 Postfix 邮件服务器后,是否需要mail.example.com在 IPv4 和 IPv6 部分的第一行添加内容?如果这样做,主机的列出顺序是否重要?

例如,

127.0.0.1 example.com example mail.example.com

附录:这些注释位于文件顶部hosts。不确定它们在这种情况下是否有任何意义,因为当我编辑此文件时,更改似乎仍然存在。

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.redhat.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data

答案1

目前尚不清楚您要避免或修复什么具体问题,因此提供一些一般提示:

服务器需要知道其主机名。我通常在以下位置设置main.cf

myhostname = mailserver.mycompany.net
myorigin = @myhostname

当域具有严格的 DMARC 且不允许使用子域时,我会执行以下操作:

masquerade_domains = $mydomain
masquerade_classes = envelope_sender, header_sender

这将导致起源mycompany.net。了解原因超出了本答案的范围;互联网上有很多来源。

然后,以下内容需要正确:

  • 邮件服务器将使用 SMTP 连接到其他服务器HELO mailserver.mycompany.net
  • 然后,许多“其他服务器”将解析该 IP,并查找该 IP 的 PTR 记录(反向 DNS),并且必须匹配。PTR 记录通常在您的托管服务提供商处配置。

这适用于 IPv4 和 IPv6。

至于编辑/etc/hosts:cloud-init 可能不会在每次启动时覆盖文件,但将来很可能会这样做。如果需要编辑 hosts 文件,您可能需要配置 cloud-init 以保留它。

顺序无关紧要,但您可以测试一下。用 IP 地址创建一些名称,然后执行host这些操作。

是否需要设置?取决于 DNS 环境。我经常会/etc/hosts像这样设置服务器的 fqdn 条目:

22.33.44.55 mailserver.mycompany.net mailserver

这种方式hostname --fqdn不管 DNS 配置如何都能正常工作。hostname --fqdn建议使用这种方式,但使用上述 Postfix 配置,则没有必要,因为已指定。(但其他服务可能会出现意外行为)。

相关内容