Contents
概要
Postfixを使用して外部向けのメールサーバーを構築します。このメールサーバーはインターネット上のメールサーバーと内部メールサーバーを中継します。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
標準ポート番号
TCP:25 (SMTP)
構成
本稿で想定しているメールシステムの全体像は下記の通りです。
設定
インストール
Postfixをインストールします。
[root@centos ~]# dnf install postfix
/etc/postfix/main.cf
main.cfのデフォルト値
コメント行等を削除し、最小化したmain.cfは下記の通りです。
compatibility_level = 2 queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = localhost inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix/samples readme_directory = /usr/share/doc/postfix/README_FILES smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem smtpd_tls_key_file = /etc/pki/tls/private/postfix.key smtpd_tls_security_level = may smtp_tls_CApath = /etc/pki/tls/certs smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt smtp_tls_security_level = may meta_directory = /etc/postfix shlib_directory = /usr/lib64/postfix
main.cfの設定
main.cfを編集します。
[root@centos ~]# vim /etc/postfix/main.cf compatibility_level = 2 queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix myhostname = mail.si1230.com inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 mynetworks = 127.0.0.0/8, 192.168.1.100/32 relay_domains = $mydomain alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix/samples readme_directory = /usr/share/doc/postfix/README_FILES smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem smtpd_tls_key_file = /etc/pki/tls/private/postfix.key smtpd_tls_security_level = may smtp_tls_CApath = /etc/pki/tls/certs smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt smtp_tls_security_level = may meta_directory = /etc/postfix shlib_directory = /usr/lib64/postfix
追加した設定項目
main.cfに追加した設定は下記の通りです。
項目名 | 説明 |
---|---|
myhostname | 外部から自身を識別するFQDNを指定します。 |
mynetworks | 詳細は内部メールサーバーの投稿を参照して下さい。外部メールサーバーでは内部メールサーバー(192.168.1.100/32)から中継を許可しています。 |
relay_domains | 指定したドメイン宛のメール中継を許可します。本稿では自ドメインを設定しており、自ドメイン宛のメールはMXを参照して内部メールサーバーに配送します。 |
変更した設定値
デフォルトのmain.cfから変更した設定は下記の通りです。
項目名 | 説明 |
---|---|
inet_interfaces | PostfixがListenするインターフェイスのIPアドレスを指定します。allは全てのインターフェイスです。 |
サービス起動設定
Postfixを起動します。
[root@centos ~]# systemctl enable --now postfix.service [root@centos ~]# systemctl status postfix.service
CentOS 8 Postfix 外部メールサーバー構築