SMTP の応答が非常に遅い問題に遭遇

TROUBLE REPORT


SMTP のレスポンスが極端に悪い…

さて、なぜかあるときふと気づいた問題・・・。

それは、メールの送信には欠かせない SMTP サーバの応答が非常に悪いというものでした。Apple Macintosh 用のメールクライアント、Microsoft Entaurage の場合、けっこうじっくりと SMTP の応答を待ってくれるため、「あれぇ〜、なんか遅いなぁ・・・」 程度にしか思っていなかったのですけど、ある日、Microsoft Outlook Express で、1分待ちのタイムアウトが立て続けに起こることから、深刻な状況であることが発覚しました。

使用している SMTP サーバは、Linux Slackware 7.0 上に構築された qmail です。

 

まずは Linux の再インストール

今回の対処は、わけありでいきなり Linux の再インストールです。

というのも、数ヶ月前に BIND が乗っ取られてしまい、/etc/passwd にはなにやら知らないアカウントがあるわ、/etc/rc.d/rc.local にはなにやら得たいの知れない記述があるわで、とりあえずは駆除したものの、その影響もあるのでは?、なんて思ったからです。

のっとられたという影響もあるので、必要最小限の設定ファイルのみをバックアップして、Linux Slackware 7.1 をインストールしました。怖いので BIND はいれてません^^。

そして、qmail を新たにダウンロードしてインストールしなおしてみました。

 

さて、結果は?

というと・・・、なんとも変わりませんでした。やっぱり2分以上はまたされます。

まぁ、なんにせよ、のっとられた Linux を一掃する機会になっただけありがたかったのですが、直しているのがメールサーバだけに、かなりつらかったです。

 

ネームサーバが問題

途方にくれつつ、インターネットを彷徨っていました。

そしたら Postfix の FAQ ページで、SMTP がやたら遅いという内容が取り扱われていました。Postfix じゃないんだよ・・・、なんて思いつつもその回答を見てみると、「ネームサーバの設定が悪いんです。」、ってそれだけ??、もうちょっと書いてあげてもいいのに・・・。

 

まぁ、おかげで原因がわかりました。

なんでも Postfix は SMTP にクライアントが接続した際に、身元を確認するためにネームサーバに問い合わせを行うのだそうです。身元を証明する・・・、SMTP で接続するとなると、相手の情報は IP アドレス。すると身元を確認する場合は・・・、逆引き・・・。

ということは、DNS の逆引き設定が間違っているために、Postfix の応答が悪かった、ということでしょう。

 

・・・、となると、qmail でも同じ・・・?

よくよく考えると、以前に DNS をのっとられたのに気づいた時点で、DNS の移転作業を行っていたんですよね。その影響で qmail の応答が悪くなってしまった可能性が大きいです。

調べてみると、外部向けの DNS サーバはとくに問題ありませんでした。が、内部用の DNS には逆引き情報がまったく登録されていませんでした。これは うちのドメインコントローラのトラブル のときに、いざこざに巻き込まれてしまったのが原因のようです。

おそらく、クライアントから SMTP 接続が行われたとき、接続された IP アドレスを逆引きしようとして、逆引き DNS を探して彷徨ってしまうため、「見つからなかった」 ということを得るまでに、相当な時間がかかっているのでしょう。

実際、外部用のサーバから TELNET で SMTP サーバへ接続してみると、ちゃんと逆引き DNS が存在しているためか、すぐに応答がありました。内部コンピュータからの TELNET では、やっぱりかなり待たされました。

 

・・・、しかし、内部コンピュータの逆引きって、いつ何が増えるかわからないから設定が大変なのでは?、とも思いましたが、よくよく考えると、「見つからない」 ということができるだけ早くわかる、つまりは DNS サーバを彷徨い歩かないようにすれば、ことはまるく収まりそうです。

なので、内部の DNS サーバに、PTR レコードは登録しない逆引きのゾーンだけを作成してみました。

そして TELNET で SMTP サーバへ接続してみると・・・。

みごと即座に応答がありました。実際にメールクライアントソフトからもメールを送ってみましたけど、めっさ快適です。なるほど、DNS サーバっていろんなところで影響してくるものですね^^。