Postfixが外部に送信しない。CNAMEの設定には気を付けよう。
サーバーをCentOSからFreeBSDに移行しているときにPostfixが外部にメール送信しなくて調査しているときの覚書。
環境: FreeBSD 14.1, Postfix 3.9.0
Postfixのバージョンを確認。
# postconf mail_version
mail_version = 3.9
メールログの確認。
# less /var/log/maillog
Jun 30 08:20:41 conoha01 postfix/qmgr[893]: 55F0932063: from=<root@hoge.jp>, size=361, nrcpt=1 (queue active)Jun 30 08:20:41 conoha01 postfix/qmgr[893]: 1C31231C3F: from=<root@hoge.jp>, size=367, nrcpt=1 (queue active)Jun 30 08:20:41 conoha01 postfix/smtp[54106]: connect to hoge.jp[2400:8500:2002:3189:163:44:102:135]:25: Connection refusedJun 30 08:20:41 conoha01 postfix/smtp[54106]: connect to hoge.jp[1.2.3.4]:25: Connection refusedJun 30 08:20:41 conoha01 postfix/smtp[54107]: connect to hoge.jp[2400:8500:2002:3189:1:2:3:4]:25: Connection refusedJun 30 08:20:41 conoha01 postfix/smtp[54107]: connect to hoge.jp[1.2.3.4]:25: Connection refusedJun 30 08:20:41 conoha01 postfix/smtp[54106]: 55F0932063: to=<info@hoge.jp>, relay=none, delay=434, delays=434/0.01/0/0, dsn=4.4.1, status=deferred (connect to hoge.jp[1.2.3.4]:25: Connection refused)Jun 30 08:20:41 conoha01 postfix/smtp[54107]: 1C31231C3F: to=<suganuma@hoge.jp>, relay=none, delay=373, delays=373/0.01/0/0, dsn=4.4.1, status=deferred (connect to hoge.jp[1.2.3.4]:25: Connection refused)
取り急ぎ、メールキューを確認して全削除して確認する。
# postqueue -p
# postsuper -d ALL
# postqueue -p
DNSを確認。
# drill hoge.jp
# drill hoge.jp MX
原因が分かった。
DNSの設定でCNAMEをサブドメインなしに指定したから。
value-domainの設定例でちゃんと書いてあった。
@(ホスト名なし)をcnameで解決させるのは弊害(メールが使えない等)があるため推奨しません。aliasをお使いください。
サーバーからメールを送信してみて確認。
# mail info@hoge.co.jp
# less /var/log/maillog
勉強になった。
DNSのキャッシュを回避
サーバーにはホスティング会社のName Serverが登録されている。
基本は距離が一番近いので変えない方がいい。
# less /etc/resolv.conf
だけど、キャッシュするのでDNS変更直後に早く参照してほしい場合は手動でGoogle Public DNSとかに変更する。
参考: スタートガイド | Public DNS | Google for Developers
# less /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860:0:0:0:0:8888
nameserver 2001:4860:4860:0:0:0:0:8844