情報ありがとうございます。谷川です。 From: Takeda Fumiya <t...@greentag.to> Subject: [FreeBSD-users-jp 93124] Re: sendmail 'host name lookup failure' Date: Sat, 07 Aug 2010 19:07:11 +0900 > > mail.rohm.co.jp. 10 IN A 125.206.241.124 > > mail.rohm.co.jp. 10 IN A 202.33.138.44 > > mail.rohm.co.jp. 10 IN A 124.37.35.124 > > 上記のアドレスで、125.206.241.124の逆引きが SERVFAIL に > なるからではないでしょうか。
sendmailは受信時には IPアドレスからの逆引によって host名(PTRレコー ド)を取得し Receivedヘッダやログの記録に利用したり、更に求めた host名から IPアドレスを正引きし forged であるか等の判断に利用し たりもしており、その際には /etc/hosts --> DNS の順に(あるいは /etc/nsswitch.confでの定義順に?)参照してくれるようです。 もしかして送信時にも /etc/hosts を参照してくれるのではないかと真っ 先に追加してみたのですが効果はありませんでした。 それで自力での解決は難しいと判断したわけです。 > 数年前に当方でもある特定のメールが送信エラーになるという問題が > ありました。 > 調査したところ、メールエクスチェンジャのアドレスの正引きで、 > Aレコードは正常に引けるのですが、AAAAレコードで SERVFAIL > が返されていました。正常なAAAAレコードの正引きでは、NOERRORか、 > NXDOMAINが返ります。 > そこで/etc/hostsにそのメールエクスチェンジャのアドレスを登録して、 > とりあえずしのぎました。 さすがに DNSの正引きができなく、他に IPアドレスを求める方法が無 ければ(/etc/hosts に登録が無ければ)どうすることもできないのです が、上記のとおり Aレコードが引けるのなら何も AAAAレコードが引け なくとも IPv4 で接続してくれたらいいのにと思います。どうして IPv6 優先なのでしょうか。 また、なぜ /etc/hosts に IPv4アドレスを書いただけで今度は IPv6 にこだわらなくなるのかも腑に落ちないところです。(AAAAレコードが 引けなければ IPv6アドレスは不明なので /etc/hosts には書けないと 勝手に判断しています。) この辺も sendmailの堅くて頑固なところだと思います。:-) 確かに sendmailもあるバージョンまでは送信時にも /etc/hosts を優 先的に参照してくれていたような記憶が私にもあるのですが、少なくと も 8.14.4 は DNS優先なようです。(FreeBSD標準の sendmail.cf によ るのかも知れません。) もっとも MXレコード自体 DNSでしか引けないので、MXが引けたのなら IPアドレスも Aレコードや AAAAレコード等の DNS上の情報から求めよ うとするのは(/etc/hosts に頼ろうとしないのは)すごく納得のいく仕 様だと思っています。 リトライの度にログには必ず、 Deferred: Name server: mail.rohm.co.jp.: host name lookup failure と記録が残ります。 % dig mx rohm.co.jp ;; ANSWER SECTION: rohm.co.jp. 600 IN MX 5 sfgw.rohm.co.jp. rohm.co.jp. 600 IN MX 10 mail.rohm.co.jp. まず、優先順位の高い方の sfgw.rohm.co.jp が評価され次に mail.rohm.co.jp が評価されるはずなので、sendmailからは 2台とも同 じ理由で「使えない奴」と判断されていそうです。:-) # 他にも FreeBSD + sendmail を運用しているサイトはありそうなのに # @rohm.co.jp ドメイン宛のメールが同じように障害になっている所は # 無いのだろうか、、、 -- 谷川 達也 TANIKAWA Tatsuya mailto: tatsuy...@sannet.ne.jp PGP Key fingerprint = 1D 8D CB 10 8A 8B 67 B0 9A B9 9C 14 37 50 BC F5