後置 は無料のオープンソースのMTA (メール転送エージェント)Linuxシステムでメールをルーティングまたは配信するために使用されます。このガイドでは、CentOS8にPostfixをインストールして設定する方法を学びます。
ラボのセットアップ:
- OS:CentOS8サーバー
- IPアドレス:192.168.1.13
- ホスト名:server1.crazytechgeek.info(ドメイン名がサーバーのIPを指していることを確認してください)
ステップ1)システムを更新します
最初のステップは、システムパッケージが最新であることを確認することです。これを行うには、次のようにシステムを更新します。
# dnf update
先に進む前に、他の MTAがないことも確認してください Sendmailなど これはPostfix設定との競合を引き起こすため、存在します。たとえば、Sendmailを削除するには、次のコマンドを実行します。
# dnf remove sendmail
ステップ2)ホスト名を設定し、/ etc/hostsファイルを更新します
以下のhostnamectlコマンドを使用して、システムにホスト名を設定します。
# hostnamectl set-hostname server1.crazytechgeek.info # exec bash
さらに、システムのホスト名とIPエントリを/ etc/hostsファイルに追加する必要があります
# vim /etc/hosts 192.168.1.13 server1.crazytechgeek.info
ファイルを保存して終了します。
また読む : CentOS 8 / RHEL8でDNSサーバー(バインド)をセットアップする方法
ステップ3)Postfixメールサーバーをインストールする
システムで他のMTAが実行されていないことを確認したら、次のコマンドを実行してPostfixをインストールします。
# dnf install postfix
ステップ4)Postfixサービスを開始して有効にする
Postfixが正常にインストールされたら、以下を実行してPostfixサービスを開始して有効にします。
# systemctl start postfix # systemctl enable postfix
Postfixのステータスを確認するには、次のsystemctlコマンドを実行します
# systemctl status postfix
すばらしいです。Postfixが稼働していることを確認しました。次に、サーバーにローカルにメールを送信するようにPostfixを設定します。
ステップ5)mailxメールクライアントをインストールする
Postfixサーバーを設定する前に、mailx機能をインストールする必要があります。mailxをインストールするには、次のコマンドを実行します。
# dnf install mailx
ステップ6)Postfixメールサーバーを設定する
Postfixの設定ファイルは/etc/postfix/main.cfにあります 。構成ファイルにいくつかの変更を加える必要があるため、お気に入りのテキストエディタを使用して開きます。
# vi /etc/postfix/main.cf
次の行に変更を加えます:
myhostname = server1.crazytechgeek.info mydomain = crazytechgeek.info myorigin = $mydomain ## Uncomment and Set inet_interfaces to all ## inet_interfaces = all ## Change to all ## inet_protocols = all ## Comment ## #mydestination = $myhostname, localhost.$mydomain, localhost ##- Uncomment ## mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ## Uncomment and add IP range ## mynetworks = 192.168.1.0/24, 127.0.0.0/8 ## Uncomment ## home_mailbox = Maildir/
完了したら、構成ファイルを保存して終了します。変更を有効にするためにpostfixサービスを再起動します
# systemctl restart postfix
ステップ7)Postfixメールサーバーのテスト
構成が機能しているかどうかをテストします。まず、テストユーザーを作成します
# useradd postfixuser # passwd postfixuser
次に、以下のコマンドを実行して、 pkumarからメールを送信します ローカルユーザーから別のユーザー「postfixuser ‘
# telnet localhost smtp or # telnet localhost 25
telnetサービスがインストールされていない場合は、次のコマンドを使用してインストールできます。
# dnf install telnet -y
前に示したようにコマンドを実行すると、次のような出力が得られるはずです
[[email protected] ~]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 server1.crazytechgeek.info ESMTP Postfix
上記で、postfixメールサーバーへの接続が正常に機能していることを確認します。次に、次のコマンドを入力します:
# ehlo localhost
出力は次のようになります
250-server1.crazytechgeek.info 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 SMTPUTF8
次に、「mail from」、「rcpt to」、dataなど、オレンジ色で強調表示されているコマンドを実行し、最後にquitと入力します。
mail from:<pkumar> 250 2.1.0 Ok rcpt to:<postfixuser> 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> Hello, Welcome to my mailserver (Postfix) . 250 2.0.0 Ok: queued as B56BF1189BEC quit 221 2.0.0 Bye Connection closed by foreign host
telnetコマンドを完了して、ローカルユーザー「 pkumar」からメールを送信します 」を別のローカルユーザー「postfixuser 」は次のようになります
すべてが計画どおりに進んだ場合は、新しいユーザーのホームディレクトリで送信されたメールを表示できるはずです。
# ls /home/postfixuser/Maildir/new 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info #
メールを読むには、次のようにcatコマンドを使用するだけです。
# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
Postfixメールサーバーログ
Postfixメールサーバーのメールログはファイル「/var / log / maillog 」に保存されます 「、以下のコマンドを使用してライブログを表示します。
# tail -f /var/log/maillog
Postfixメールサーバーの保護
クライアントとPostfixサーバー間の通信を安全にすることを常にお勧めします。これはSSL証明書を使用して実現できます。これらの証明書は、信頼できる認証局または自己署名証明書のいずれかから取得できます。このチュートリアルでは、 openssl を使用して、接尾辞用の自己署名証明書を生成します。 コマンド、
opensslがシステムにすでにインストールされていると想定しています。インストールされていない場合は、次のdnfコマンドを使用してください。
# dnf install openssl -y
opensslコマンドの下を使用して秘密鍵とCSR(証明書署名要求)を生成します
# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr
次に、次のopensslコマンドを使用して自己署名証明書を生成します
# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt Signature ok subject=C = IN, ST = New Delhi, L = New Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, emailAddress = [email protected] Getting Private key #
次に、秘密鍵と証明書ファイルを/ etc/postfixディレクトリにコピーします
# cp mail.key mail.crt /etc/postfix
Postfix設定ファイルの秘密鍵と証明書ファイルのパスを更新します
# vi /etc/postfix/main.cf ……… smtpd_use_tls = yes smtpd_tls_cert_file = /etc/postfix/mail.crt smtpd_tls_key_file = /etc/postfix/mail.key smtpd_tls_security_level = may ………
postfixサービスを再起動して、上記の変更を有効にします。
# systemctl restart postfix
mailxクライアントを使用して内部ローカルドメインと外部ドメインにメールを送信してみましょう。
pkumarユーザーからpostfixuserへのローカル内部メールの送信
# echo "test email" | mailx -s "Test email from Postfix MailServer" -r [email protected] [email protected]
以下を使用してメールを確認して読んでください
# cd /home/postfixuser/Maildir/new/ # ll total 8 -rw-------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info -rw-------. 1 postfixuser postfixuser 612 Nov 13 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info # cat 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
postfixuserから外部ドメインへのメールの送信([メール保護])
# echo "External Test email" | mailx -s "Postfix MailServer" -r [email protected] [email protected]
注: IPがどこにもブラックリストに登録されていない場合は、外部ドメインにメールが配信されます。それ以外の場合は、IPがブラックリストに登録されているためスパムハウスデータベースに送信されます。
Postfixメールキューを確認する
mailqコマンドを使用して、キューにあるメールを一覧表示します。
# mailq Mail queue is empty #
以上です! Postfix設定が機能しています!それは今のところすべてです。このチュートリアルが洞察に満ちていて、ローカルのPostfixサーバーを快適にセットアップできることを願っています。
また読む :CentOS8にSambaをインストールして設定する方法