GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にPostfixメールサーバーをインストールして設定する方法

後置 は無料のオープンソースの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をインストールして設定する方法


Cent OS
  1. Postfixをインストールして設定する方法

  2. CentOS8にGitlabをインストールして構成する方法

  3. Ubuntu20.04にPostfixをインストールして設定する方法

  1. CentOS7にNginxをインストールして構成する方法

  2. RHEL 8 /CentOS8にpostfixメールサーバーをインストールする方法

  3. Centos8にPostgres13をインストールして設定する方法

  1. CentOS7にVNCをインストールして設定する方法

  2. CentOS8にNFSサーバーをインストールして構成する方法

  3. CentOS8にVNCをインストールして設定する方法