Postfixは自身のホスト名を認識しません

Postfixは自身のホスト名を認識しません

私の postfix ログには、levinus の DNS レコードがないため、postfix が root@levinus [私のホスト名] に電子メールを送信できなかったことがよく表示されます。しかし、私の /etc/hosts には levinus (--> 127.0.0.1 および私の静的 IP) のエントリがあります。ping で levinus に到達できるので、自分自身に ping します。しかし、なぜ postfix は /etc/hosts エントリを受け入れないのでしょうか?

postfix ログの一部:

BC59A2FE000B: to=<root@levinus>, relay=none, delay=0.03,    
delays=0.01/0/0.02/0, dsn=5.4.4, status=bounced (Host or domain name not   
found. Name service error for name=levinus type=AAAA: Host not found)
Oct 11 14:47:29 levinus postfix/qmgr[29217]: BC59A2FE000B: removed

/etc/hosts の一部:

[STATIC IP] levinus
127.0.0.1 localhost.localdomain localhost levinus

システムはUbuntu 14.04 LTSです。

//編集 main.cfg の inet_protocols = ipv4 で postfix から同じです。エラー メッセージだけが異なります (タイプ = A)。/etc/hosts の IPv6 エントリ ::1 に levinus を追加すると、同じになります (タイプ = AAAA)

//Edit2 postfix はホスト名でもログに記録しますlevinus:

Oct 12 14:40:33 levinus postfix/smtpd[10103]: connect from levinus[127.0.0.1]
Oct 12 14:40:33 levinus postfix/smtpd[10103]: disconnect from levinus[127.0.0.1]

しかし、root@levinus 宛のメールもすべてバウンスされてしまいます。

/etc/nsswitch.conf を編集してhosts: filespostfix のみに設定しても、ホスト名がわかりません。以前は に設定されていましたhosts: files dns

答え1

問題は IPv4 アドレスではなく、AAAAレコードが存在しない IPv6 にあります。

sudo postconf -e 'inet_protocols = ipv4'これは、postfix を IPv4 のみを使用するように切り替えて、 postfix をリロードすることで解決できます。

関連情報