チップス

特定のドメインからメールが届かない timeout after DATA from


mail特定ドメインからメールを受信できていないので、ログを調べました。

postfix/smtpd[31964]: timeout after DATA (999 bytes) from hogehoge [999.999.999.999]

MTUサイズを再設定して解決

$ ifconfig |grep -i mtu で調べたら MTU:1500 だったので 1452 に再設定しました。
$ ifconfig the0 mtu 1452

解りやすく解説してくださっているホームページをgoogleで見つけました。

1424バイトまではpingが通ることからMTUサイズは1424+28(ICMPヘッダ+IPヘッダ)で1452バイトとなる。
どうやら、PPPoE(xDSLや光ファイバ・インターネット回線などで使われているプロトコル)などが使われていると、それらのプロトコルの分だけ、MTUサイズが制限されることになる、ということらしい。

この1424バイトというのをMTUの値としてLinuxのサーバ側に設定する

メールがTimeoutでサーバに届かない(Postfix)

MTU(Maximum Transmission Unit)

pingでMTUサイズを調査する @IT

  • ネットワークで送信可能なパケットの最大サイズをMTUという。IPパケットのサイズがMTUサイズを超えるとパケットの分割処理が行われる。これをIPフラグメンテーションという。
  • フラグメントしたIPパケットはファイアウォールでブロックされることがある。その結果、サイトによってWebページが見られなくなったり、接続不能になったりするトラブルが生じる可能性がある。
  • このような場合は、ネットワーク・インターフェイスのMTUを変更して、フラグメントが起こらないようにすればよい。
postfix/smtpd[31964]: timeout after DATA (999 bytes) from hogehoge [999.999.999.999]

の原因がフラグメンテーション(パケットの断片化)と推測されるので、MTUを 1452に再設定したらメールが届くようになりました。

関連情報URL

MTU (Maximum Transmission Unit ) @ITより

IPフラグメンテーション (IP fragmentation)@IT より


   チップス