第 20 章 使用 RHEL 系统角色配置 Postfix MTA
您可以使用 postfix
RHEL 系统角色,以自动的方式一致地管理 Postfix 邮件传输代理(MTA)的配置。当您需要时,部署这样的配置很有用,例如:
- 稳定的邮件服务器:使系统管理员能够配置快速且可扩展的服务器,以发送和接收电子邮件。
- 保护通信:支持 TLS 加密、身份验证、域黑名单等功能,以确保安全的电子邮件传输。
- 改进了电子邮件管理和路由:实施过滤器和规则,以便您控制电子邮件流量。
postfix_conf
字典保存支持的 Postfix 配置参数的键值对。Postfix 无法识别为支持的密钥将被忽略。postfix
RHEL 系统角色直接将您提供的键值对传递给 postfix_conf
字典,而不验证其语法或限制它们。因此,角色对于熟悉 Postfix 的以及知道如何配置它的人特别有用。
20.1. 将 Postfix 配置为空客户端,以便仅发送传出电子邮件 复制链接链接已复制到粘贴板!
空客户端是一种特殊配置,其中设置 Postfix 服务器只为发送传出电子邮件,但不接收任何传入电子邮件。在您需要发送通知、警报或日志,但不需要接收或管理电子邮件的情况,这种设置被广泛使用。通过使用 Ansible 和 postfix
RHEL 系统角色,您可以自动化这个过程,并远程将 Postfix 服务器配置为空客户端,以便仅发送传出电子邮件。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 playbook 中指定的设置包括如下:
myhostname: <server.example.com>
- 此邮件系统的互联网主机名。默认为完全限定域名(FQDN)。
myorigin: $mydomain
-
本地发布的邮件似乎来自的域名,并且本地发布的邮件被递送到的域名。默认为
$myhostname
。 relayhost: <smtp.example.com>
- 非本地邮件的下一跳目的地,覆盖收件人地址中的非本地域。默认为空字段。
inet_interfaces: loopback-only
- 对于传入电子邮件连接,定义 Postfix 服务器侦听哪个网络接口。它控制 Postfix 服务器是否以及如何接收来自网络的电子邮件。
mydestination
- 定义哪些域和主机名被视为本地。
relay_domains: "{{ postfix_default_database_type }}:/etc/postfix/relay_domains"
-
在充当中继服务器(SMTP 转发)时,指定 Postfix 可将电子邮件转发到的域。在这种情况下,域将由
postfix_files
变量生成。postfix_default_database_type 变量包含在 "default_database_type" Postfix 参数中设置的数据库类型。在 RHEL 10 上,您必须使用relay_domains: "{{ postfix_default_database_type }}:/etc/postfix/relay_domains"
。 postfix_files
-
定义将放在
/etc/postfix/
目录中的文件的列表。如果需要,这些文件可以被转换为 Postfix 查找表。在这种情况下,postfix_files
为 SMTP 转发生成域名。
有关 playbook 中使用的角色变量和 Postfix 配置参数的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.postfix/README.md
文件和postconf(5)
手册页。验证 playbook 语法:
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow