qmail と ident
研究室の新メールサーバ。
教授のノートPCを、新しいメールサーバを使うように設定しなおそうとしたんだけど、「つながらないぞ」とのこと。あれ? 大学からでも自宅からでも、問題なくつながってるんだけどなぁ。
調べてみると、場所によって、素直につながる場合と、しばらくタイムアウトを待ってからつながる場合とがあることが判明。で、教授のPCは smtp がつながる前にタイムアウトでエラーが出ていたらしい。別のサーバで動いている pop3 とか http とかには、素直につながるんだけどなぁ。
……しばらく悩んだのち、メールサーバで netstat を実行して接続中のソケットを見てみたら、なぜか smtp 以外に ident がいるじゃないですか。
どうやら qmail に smtp 接続するときに、リモートホスト名を調べたり ident を行なったりしていて、そのせいで、接続相手側のの DNS の設定や Firewall の設定によっては、タイムアウト待ちになっていることが判明。
普段いじっているのは Solaris と FreeBSD で sendmail だから、こういう落とし穴があるとは気づかなかったよ。っていうか、いまどき ident でチェックしにいく設定がデフォルトになっているとは思っていなかった(普通、Firewall でふさがれちゃってるよね?)
結局、qmail の起動スクリプト(/etc/rc.d/init.d/qmail)で、tcpserver に -HR オプションを追加して再起動したら解決したみたい。