おま環かも知れませんが…一晩費やして解消できたのでメモメモ
開発サーバのリプレース!
先日、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を見に行かない設定になったんでしょうかね?
とりあえず急場はしのげたのでいまは調べる元気がないのですが(おま環かもしれませんし)どなたかが同じ状況でハマることがあれば役に立てば幸いです(>_<)
同じ悩みを抱えて、4時間彷徨いました。
おかげさまで解決しました!
ありがとうございました。
コメントありがとうございます。
場末のブログのこのような殴り書きの記事で、お役に立てたことを光栄に思います(^_^;
また遊びに来て下さい(^_^)/
助かりました。
危うくサーバー叩き壊すところでした。
🙇🏻♂️👍🏻✨✨