LinuxでsMailサーバーへの接続が頻繁に失敗する

LinuxでsMailサーバーへの接続が頻繁に失敗する

ここに画像の説明を入力してください。iredmailCentos6.5システムにメールサーバーAが構築されています。メールサーバーにはパブリックIP aaaがあります。

ローカルネットワークには、Windowsオペレーティングシステムを使用するメールクライアントが約40〜50個あり、すべてパブリックネットワークip cccにNATされます(ルータCはLinuxシステムに構築されています)。一方、同じローカルネットワークでLinuxシステムを使用するシステムはほとんどありません。それらの一部は定期的にメールサーバーに接続できません。

たとえば、Fedora 19がインストールされているデスクトップを使用してメールサーバー443ポートを使用し、コマンドを使用してtelnetメールサーバーからキャプチャします。tcpdump

15:16:55.144222 IP xxx.xxx.xxx.xxx.46989 > xxx.xxx.xxx.xxx.https: Flags [S], seq 939563650, win 29200, options [mss 1460,sackOK,TS val 23633360 ecr 0,nop,wscale 7], length 0
15:17:03.160282 IP xxx.xxx.xxx.xxx.46989 > xxx.xxx.xxx.xxx.https: Flags [S], seq 939563650, win 29200, options [mss 1460,sackOK,TS val 23641376 ecr 0,nop,wscale 7], length 0

ただし、Feodra 19と同じハブにあるWindows 7では、メールサーバー443ポートをTelnetに接続します。

15:20:54.484991 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [S], seq 31344922, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
15:20:54.485034 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [S.], seq 1361958840, ack 31344923, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:20:54.485558 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 1, win 4380, length 0
15:20:55.685554 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [S.], seq 1361958840, ack 31344923, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:20:55.686359 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 1, win 4380, options [nop,nop,sack 1 {0:1}], length 0
15:21:05.122927 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [F.], seq 1, ack 1, win 4380, length 0
15:21:05.123193 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [F.], seq 1, ack 2, win 115, length 0
15:21:05.123813 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 2, win 4380, length 0

Windows 7とFeodar 19はどちらも同じネットワーク環境にありますが、Windows 7は常に成功しますが、Feodar 19は時々失敗します。ただし、パブリックIP bbbを持つLinuxサーバーBをメールサーバーに使用すると、成功し、telnet決して失敗しません。 Linuxが同じソースIPに接続するのに問題があるのではないかと思います。

Windowsローカルネットワークメールクライアントは通常、メールを確認するために3分間隔でメールサーバーに接続します。トラブルシューティングに役立つかもしれません。

答え1

ついにその理由を自分で見つけました。
この理由はすべて次のとおりです。

net.ipv4.tcp_tw_recycle=1

Windows用のSYNパケットには常にタイムスタンプオプションがなく、
Linux用のSYNパケットには常にタイムスタンプオプションがあるため、メールサーバーは無効なタイムスタンプを持つ新しいTCP / IP接続要求を生成しません。

関連情報