ESTABLISHED 接続で TCP パケットが無視される
Issue
- ESTABLISHED 接続で TCP SYN パケットが無視されます。
- 外部システムが再起動し、既存ポートまたはタプルを再利用して TCP 接続を再度確立しようとすると、SYN パケットが破棄されます。このとき、警告は発生しません。RFC 5961 セクション 4.2 によると、RHEL は Challenge ACK で応答する必要があります。
- RHEL 6.6 で TCP SYN 処理が変更しました。
- 確立済みソケットにおける SYN の受信処理について。現在、SYN は破棄されますが、以前は ACK (クライアントからの古い TCP 接続の現在のシーケンス番号) が送られていました。これにより、このシーケンス番号が期待されないため、クライアントから RST を発生します。
- RHEL 6.6 へのアップストリームのカーネルコミット
c3ae62af8e755
のバックポート (tcp: は、ACK フラグを設定せずに受信フレームを強制終了する必要があります) は、RFC5961-compliant behavior for SYN packets に準拠しておらず、これにより、CLOSE_WAIT ソケットで問題が発生する必要があります。 - tcp: Restore RFC5961-compliant behavior for SYN packets
- tcp 接続が適切に閉じず、LAST_ACK 状態のままになります。
- クライアントの電源が突然切れたあと、Solaris NFS クライアントは RHEL NFS サーバーからマウントすることができません。NFS サーバーを再起動すると、クライアントが再度マウントされます。
Environment
- Red Hat Enterprise Linux 6.6 の
kernel-2.6.32-504.el6
から2.6.32-504.27.el6
- Red Hat Enterprise Linux 7.0 または 7.1 の
kernel-3.10.0-123.el7
またはkernel-3.10.0-229.el7
シリーズ - 既存の TCP セッションで再利用される TCP ポート番号
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.