nullクライアント設定を使用してPostfixメールサーバー(SMTP)をセットアップする方法-パート9


今日利用できる多くのオンライン通信方法に関係なく、電子メールは、世界の一方の端からもう一方の端、または私たちの隣のオフィスに座っている人にメッセージを配信するための実用的な方法です。

次の画像は、送信者からメッセージが受信者の受信トレイに到達するまでの電子メール転送のプロセスを示しています。

これを可能にするために、舞台裏でいくつかのことが起こります。電子メールメッセージがクライアントアプリケーション(Thunderbird、Outlook、またはGmailやYahoo! MailなどのWebメールサービスなど)からメールサーバーに配信され、そこから宛先サーバーに、そして最終的に目的の受信者に配信されるようにするには、 SMTP(Simple Mail Transfer Protocol)サービスを各サーバーに配置する必要があります。

そのため、この記事では、RHEL 7でSMTPサーバーをセットアップする方法を説明します。このサーバーでは、ローカルユーザーから(他のローカルユーザーにも)送信された電子メールが中央のメールサーバーに転送され、アクセスしやすくなります。

試験の要件では、これはnullクライアント設定と呼ばれます。

テスト環境は、発信元のメールサーバーと中央のメールサーバーまたはリレーホストで構成されます。

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.txt)をメッセージ本文として使用してユーザーtecmintに電子メールを送信します。

# mutt -s "Part 9-RHCE series" [email protected] < mailbody.txt

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

# su – tecmint
# mail

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

# nmap -PN 192.168.0.20

概要

この記事に示すようにメールサーバーとリレーホストを設定することは、すべてのシステム管理者が持つ必要のある重要なスキルであり、複数のライブドメインをホストするメールサーバーなど、より複雑なシナリオを理解してインストールするための基盤を表します。数百または数千)の電子メールアカウント。

(この種のセットアップにはDNSサーバーが必要であり、このガイドの範囲外であることに注意してください)が、次の記事を使用してDNSサーバーをセットアップできます。

  1. Setup Cache only DNS Server in CentOS/RHEL 07

最後に、Postfixの設定ファイル(main.cf)とプログラムのマニュアルページに精通することを強くお勧めします。疑問がある場合は、以下のフォームを使用するか、フォーラムLinuxsay.comを使用して、遠慮なくご連絡ください。世界中のLinuxエキスパートからほぼ即座にサポートを受けることができます。