【CentOS8】DNSは引けてるのにPostfixだけHost or domain name not found./Host or domain name not found. Name service error になってメールが外部に送れない【Postfix】

おま環かも知れませんが…一晩費やして解消できたのでメモメモ

開発サーバのリプレース!

先日、Willedge事務所に設置している開発用/ファイルサーバ/オンプレサービス提供用(つまり、ごった煮)サーバをグレードアップさせるべく、サーバをリプレースすることにしました。

CelelonG530→ Xeon E3-1220 V2 メモリ 4G→12G !の爆速快適仕様に…ッ!
…8年落ちの中古サーバです(^_^;しかもいまどき物理サーバって…そこはソッとしといてもらって…

CentOSを7→8にアップグレード

どうせクリーンインストールするのでせっかくなのでCentOSを最新の8にしてみることに。そこまで劇的な変化もなくApacheやsamba、mariaDB等は素直にインストール・設定し、最低限の開発環境は移行出来た(というか設定を旧サーバからほぼ引き継いだ)のですが…。

PostfixだけDNS引けなくて外部のサーバに送れない…という症状にハマってしまいました。

サーバコンソールや、dnf(yum)等もちゃんと使えた状態だったので、外部へpingを打ってもちゃんと解決出来ている状態だったのですが、

main.cfを見る限り、特に大きく変わったところもなさそうだったので、ほぼそのまま移行させたのですが、メールが外部へ送信出来ません。

maillog確認!


Apr  4 12:12:52 devserver postfix/smtp[4920]: warning: no MX host for ***.com has a valid address record
Apr  4 12:12:52 devserver postfix/smtp[4920]: *****: to=<kyobu@*****.com>, relay=none, delay=2.1, delays=2.1/0/0/0, dsn=5.4.3, status=bounced (Host or domain name not found. Name service error for name=*****.com type=A: Non-recoverable error)

???DNSが引けてないとな?なんで?

/etc/resolv.conf や NetworkManager の設定などを見ても、特に怪しいところはありません(BINDは入れず、ルータをDNSサーバにしています)。ほぼ同じ設定で、旧サーバからは送れてたのですが、、、もとより、上にも書いたとおりpingやwget、yum/dnf からはちゃんとdns解決出来ている状態です。なんでPostfixだけが…?

ググれカス

「postfixだけ dns 引けない」
「postfix Host or domain name not found.」
:
とか、間抜けなワードでググりまくったのですが、postfixだけDNSが引けないという症状について触れられているページは見つけることが出来ませんでした。
「/etc/hostsを見る場合の設定方法」という項目でいくつか解説記事があったのですが、hostsは使ってないし、関係ねえなあorz と思って、そこで紹介されてた方法をスルーしておりました。
……スルーすんじゃねえ10時間前の俺orz

というわけで…前置きは長くなったが解決方法です

Postfixで「/etc/hostsを読ませたい場合の設定方法」などでよく紹介されている方法で解決しました。

/etc/postfix/main.cf に 以下の文を追加する…

smtp_host_lookup = native

設定完了後、postfixをrestartさせて…コンソールから送信してみました。

maillogチェック!

Apr  4 13:53:32 devserver postfix/qmgr[5441]: 7B35043C3A6D: from=<kyosuke@***.net>, size=294, nrcpt=1 (queue active)
Apr  4 13:53:32 devserver postfix/smtp[5507]: 7B35043C3A6D: to=<kyobu@***.com>, relay=***.com[***.***.***.**]:25, delay=12, delays=12/0.02/0.1/0.03, dsn=2.0.0, status=sent (250 2.0.0 ****** Message accepted for delivery)

いけましたorz、、、いけましたーーーーーorz

原因:Postfixのバージョンが違ったから(?)
※新サーバ Postfix3.3.1/旧サーバPostfix2.10.1

新サーバCentOS8のPostfixは mail_version = 3.3.1
旧サーバCentOS7のPostfix は mail_version = 2.10.1
になってました。

2→3にメジャーアップしちゃってるんで、標準でdnsを見に行かない設定になったんでしょうかね?

とりあえず急場はしのげたのでいまは調べる元気がないのですが(おま環かもしれませんし)どなたかが同じ状況でハマることがあれば役に立てば幸いです(>_<)

2 thoughts on “【CentOS8】DNSは引けてるのにPostfixだけHost or domain name not found./Host or domain name not found. Name service error になってメールが外部に送れない【Postfix】”

  1. 同じ悩みを抱えて、4時間彷徨いました。
    おかげさまで解決しました!
    ありがとうございました。

  2. コメントありがとうございます。
    場末のブログのこのような殴り書きの記事で、お役に立てたことを光栄に思います(^_^;
    また遊びに来て下さい(^_^)/

コメントを残す

メールアドレスが公開されることはありません。