sendmail の名前解決の動作




Solaris 7 で稼動している sendmail v8.13.7 が次のようなログを出力した。

ただし、このときメールの送信は問題なく行えている。

Nov 1 20:21:32 testsv nscd[168]: gethostbyaddr: mail.example.com. !=2.2.2.2
Nov 1 20:24:14 testsv sendmail[28333]: lA9BLbkv028333: from=<example@example.com>, size=10, class=0, nrcpts=1, msgid=<200711011123.lA9BLbkv028333@testsv.test.com>, proto=SMTP, daemon=MTA, relay=[2.2.2.2]
Nov 1 20:24:14 testsv sendmail[28334]: lA9BLbkv028333: to=<test@test.com>, delay=00:00:43, xdelay=00:00:00, mailer=local, pri=30362, dsn=2.0.0, stat=Sent

「mail.example.com. !=2.2.2.2」から見ると、
mail.example.com の IP アドレスと実際の接続元の IP アドレス (2.2.2.2) が
異なっているという意味のようだ。


公開している DNS の内容は次の通り。

mail.example.com. の正引きで得られる IP アドレス : 3.3.3.3
3.3.3.3 の逆引きで得られる IP アドレス : mail.example.com.
2.2.2.2 の逆引きで得られる IP アドレス : mail.example.com.

確かに mail.example.com. の正引きで得られる IP アドレスと
実際の接続元の IP アドレス (2.2.2.2) が異なっている。


そして、DNS サーバにて以下のように設定変更したところログは出力されなくなった。

mail.example.com. の正引き (A レコード) を 2.2.2.2 に変更。


これらのことから、今回対象の sendmail は、
接続元の IP アドレスを逆引きして、
さらに得られた名前を正引きしていることが分かった。

しかし、IP アドレスと名前がずれているからといって、
転送を拒否したりするような動きはしておらず、
ログを出力するだけ。