ISP の Outbound Port 25 Blocking (OP25B) でメールが送れない、そんなとき

先日、log4perl で logfatal を出すときに、ついでにメールを送る、そんな記事を書きました。

喜々としてサーバ2台に入れたのですが、そのうち1台からメールが送られてきません。

なぜ?

そんなとき。

原因を究明するために、コマンドラインからメールを送ろうとすると、メールサーバのログファイルに no route to host と出てきます。

調べてみると、そのサーバにはISP(bbexcite)によりOP25B が適用されているようでした(安価なDHCPプランのため。固定IPプランなら適用されない)。

さてどうしてものか。

社内にはもう1台サーバがあり、そのサーバの回線にはOP25B が適用されておらず、メールが送信できます。

もう少し整理すると、社内にはLANがあり、LANには2台(以上)のサーバがぶらさがっています。2台ともISPと契約してインターネットにつながっています。

また、これらサーバにはPostfixが入れてあり、片方の サーバからは送信ができます。もう一方のサーバからは送信ができません。

ということで、送れないサーバのPostfixから送れるサーバのPostfixにメールをリレーすることにします。ただし、グローバルIP経由でリレーすると、OP25Bが適用されてしまい本末転倒です。

メールサーバにはpostfixを使っていますので、次のように設定しました。 送れるメールサーバのプライベートIPを仮に 192.168.0.1 とします。

/etc/postfix/main.cf

myhostname = hogehoge.unicus.jp
mydomain = unicus.jp
myorigin = $myhostname
mydestination = $myhostname
allow_mail_to_commands = alias, forward, include
inet_interfaces = all
relayhost = [192.168.0.1]

これだけです。

送れる方のメールサーバは、

mynetworks = 192.168.0.0/24, 127.0.0.0/8

としておけば大丈夫です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>