自宅サーバーの不調

最近どうも自宅サーバーの調子が悪い時があります。 今週の日曜日にもLinuxがカーネルパニックを起こして月曜の朝までメールサーバーが落ちていたようです。

すぐに立ち上げ直したのですが、何となくおかしい。 いろいろと調べてみると次のように複雑な問題が絡んでいることがわかりました。 今後の自分の記録および他の同じことで悩んでいる方のために対処方法を書いておきます。

まず月曜にサーバーを立ち上げ直してみたのですがWebサーバーとしては動作しているのですが、SOTAや新潟のクラブのために立ち上げているメーリングリストで、メールの転送が自分には来ているのですが、他の人に行っていないことが判明しました。 試しに自分の外部で持っているメールアカウントにメールを送りますが届きません。 自分のサーバー内のメール配信はできるが、外部への転送ができていないことがわかりました。

mailqコマンドで調べてみるとメールサーバーのQueueの中に今回試験のために送ったメール以外に大量にメールがたまっていることがわかりました。 このQueueをpostqueue -f コマンドでFlushしてみますがNG。 大量のメールが溜まったままです。

困りました。 何がおかしいのか?

maillogを調べてみると、こんなログがありました。(一部伏字)

> Nov  1 XX:XX:XX xxx postfix/smtp[8214]: B
> BD6E68BB0002:
> to=<xxx@gmail.com>, relay=auth.gate-on.net[2
> [XX.XX.XX.XX]:587, delay=0.22,
> delays=0.06/0.01/0.04/0.12, dsn=5.7.1, status=bounced (
> (host
> auth.gate-on.net[XX.XX.XX.XX] said: 554 5.7.1
> <xxx.xxx.mesh.ad.jp[xxx.xxx.xxx.xxx]>: C
> Client host rejected: Access
> denied (in reply to RCPT TO command))
この内容は、xxx@gmail.comにメールを送ろうとしているが、メール転送サーバーのauth.gate-on.net から拒否されているというものです。

このauth.gate-on.net を転送サーバーとして使っている理由はここをご参照ください。

最近、社会問題になっているスパムメール対策の「アウトバウンドポート25ブロッキング(OP25B)」のため、浮動IPアドレスを使う自宅サーバーからの外部へのメール配信のためには、メール転送サーバーが別途必要となるためです。

上記のLogはこの転送サーバーから転送を拒否されているというものです。

理由がわかりました。

私は自宅メールサーバーで、すべてのメールアカウントを統合しています。 例えばBiglobeのメールアカウントに届いたメールを自動で自宅サーバーに転送するシステムをfetchmailで組んであります。 Biglobeのメールアカウントでは有償のスパムフィルター、ウィルスフィルターを自宅サーバーで一元的に、しかも無料で管理できるためです。

さらに、自宅のメールサーバーにメールが届いたときに、procmailで携帯に通知するシステムを作っていたのですが、メールサーバーが落ち、この結果fetchmailでBiglobeなどからfetchしてくるプロセスで出た大量のエラーがすべて携帯に配信されていたのです。

この様子はまさにスパム送信をしているとしか取れず、この挙動のためにメール転送サーバーで一時的にすべてのメール受け取りを拒否されていたのでした。

さて、対策ですが、自宅サーバーのIPアドレスを変更してみましたがNG。 こんな単純には騙されないぞ、メールを拒否というわけです。

このためMydnsの管理者の方にメールで事情を説明し、拒否を解除していただきました。 ある程度の時間が経てば自動で解除してくれるようですが、我が家のサーバーもMLを運用するミッションクリティカル。 早急に対応が必要でお願いして対応していただきました。

恒久的にはprocmailで携帯に通知するメールからfetchmailのエラーメールは除外することにします。

MLのユーザーさんにはご迷惑をおかけしました。 また、特にMydnsの管理者様には大変なご迷惑をおかけしましたが、快く対応いただき誠にありがとうございました。