null クライアント構成を使用して Postfix メール サーバー (SMTP) をセットアップする方法 - パート 9
今日利用できるオンライン通信方法は数多くありますが、電子メールは、世界の端から端へ、または隣のオフィスに座っている人にメッセージを届ける実用的な方法であり続けています。
次の図は、送信者から始まり、メッセージが受信者の受信箱に届くまでの電子メール転送プロセスを示しています。

これを可能にするために、舞台裏でいくつかのことが起こります。電子メール メッセージをクライアント アプリケーション (Thunderbird、Outlook、またはGmail や Yahoo! メールなどの Web メール サービス) からメール サーバーに配信するには、そこから宛先サーバー、そして最終的に目的の受信者に到達するには、SMTP (簡易メール転送プロトコル) サービスが各サーバーに設置されている必要があります。
この記事では、RHEL 7 でローカル ユーザー (他のローカル ユーザーにも) が送信した電子メールが転送される SMTP サーバーを設定する方法を説明するのはそのためです。アクセスを容易にするために中央メールサーバーに接続します。
試験の要件では、これはヌル クライアントセットアップと呼ばれます。
私たちのテスト環境は、発信元メール サーバーと中央メール サーバーまたはリレーホストで構成されます。
Original Mail Server: (hostname: box1.mydomain.com / IP: 192.168.0.18) Central Mail Server: (hostname: mail.mydomain.com / IP: 192.168.0.20)
名前解決には、両方のボックスでよく知られている /etc/hosts ファイルを使用します。
192.168.0.18 box1.mydomain.com box1 192.168.0.20 mail.mydomain.com mail
Postfix とファイアウォール/SELinux のインストールに関する考慮事項
まず、(両方のサーバーで) 以下を行う必要があります。
1. Postfix をインストールします。
# yum update && yum install postfix
2. サービスを開始し、今後の再起動時に実行できるようにします。
# systemctl start postfix # systemctl enable postfix
3. ファイアウォールを通過するメール トラフィックを許可します。
# firewall-cmd --permanent --add-service=smtp # firewall-cmd --add-service=smtp

4. box1.mydomain.com で Postfix を構成します。
Postfix のメイン設定ファイルは /etc/postfix/main.cf にあります。このファイル自体は、プログラムの設定の目的を説明するコメントが含まれているため、優れたドキュメント ソースになります。
簡潔にするために、編集する必要がある行のみを表示しましょう (はい、元のサーバーでは mydestination を空白のままにする必要があります。そうしないと、電子メールは中央のメール サーバーではなくローカルに保存されます)それが私たちが実際に望んでいることです):
myhostname = box1.mydomain.com mydomain = mydomain.com myorigin = $mydomain inet_interfaces = loopback-only mydestination = relayhost = 192.168.0.20
5. mail.mydomain.com で Postfix を設定します。
myhostname = mail.mydomain.com mydomain = mydomain.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.0.0/24, 127.0.0.0/8
まだ行っていない場合は、関連する SELinux ブール値を永続的に true に設定します。
# setsebool -P allow_postfix_local_write_mail_spool on

上記のSELinux ブール値により、Postfix が中央サーバーのメール スプールに書き込むことができるようになります。
5. 変更を有効にするために、両方のサーバーでサービスを再起動します。
# systemctl restart postfix
Postfix が正しく起動しない場合は、次のコマンドを使用してトラブルシューティングを行うことができます。
# systemctl –l status postfix # journalctl –xn # postconf –n
Postfix メールサーバーのテスト
メール サーバーをテストするには、mail や mutt などの任意のメール ユーザー エージェント (最も一般的には略してMUA として知られています) を使用できます。
mutt は個人的なお気に入りなので、box1 でそれを使用し、既存のファイル (mailbody) を使用してユーザー tecmint に電子メールを送信します。 .txt) をメッセージ本文として使用します。
# mutt -s "Part 9-RHCE series" < mailbody.txt

次に、中央メール サーバー (mail.mydomain.com) に移動し、ユーザー tecmint としてログオンし、電子メールが受信されたかどうかを確認します。
# su – tecmint # mail

電子メールが受信されなかった場合は、root のメール スプールに警告またはエラー通知がないか確認してください。 nmap コマンドを使用して、SMTP サービスが両方のサーバーで実行されていること、および中央メール サーバーでポート 25 が開いていることを確認することもできます。
# nmap -PN 192.168.0.20

まとめ
この記事で説明するメール サーバーとリレー ホストのセットアップは、すべてのシステム管理者が持つ必要のある必須スキルであり、より複雑なサーバーを理解してインストールするための基礎となります。いくつかの (数百または数千の) 電子メール アカウントのライブ ドメインをホストするメール サーバーなどのシナリオです。
(この種のセットアップには DNS サーバーが必要であることに注意してください。これについてはこのガイドの範囲外です)。ただし、次の記事を使用してDNS サーバーをセットアップできます。
- CentOS/RHEL 07 でキャッシュのみの DNS サーバーをセットアップする
最後に、Postfix の設定ファイル (main.cf) とプログラムのマニュアル ページについてよく理解しておくことを強くお勧めします。疑問がある場合は、以下のフォームを使用するか、フォーラム Linuxsay.com を使用して、遠慮なくお問い合わせください。世界中の Linux 専門家からほぼ即時にサポートが得られます。