web-dev-qa-db-ja.com

CiscoASAを介したルーティングが変更されていますTCPシーケンス/ ACK番号

私たちのネットワークには、オフィスネットワーク内に配置された専用のVPNアプライアンスがあります。 VPNサブネットをVPNアプライアンスにルーティングするスタティックルートを備えたCiscoASAがあります。したがって、クライアントからリモートサイトへの一般的な要求(192.168.161.28 -> 192.168.101.28)行く:

クライアントASAローカルVPNリモートVPNリモートサーバー
 192.168.161.28-> 192.168.161.17-> 192.168.161.10-> 192.168.101.1-> 192.168.101.28 

このルートでは、192.168.101.1のリモートVPNエンドポイントのファイアウォールが3ウェイTCPハンドシェイク:

Status: A TCP packet was rejected because it has an invalid sequence number or an invalid acknowledgement number

ただし、ASAをバイパスする場合(クライアントマシンに静的ルートを直接使用する場合):

クライアントローカルVPNリモートVPNリモートサーバー
 192.168.161.28-> 192.168.161.10-> 192.168.101.1-> 192.168.101.28 

TCPストリームは正しくハンドシェイクされ、すべてがスムーズに航行します。

どうなり得るか?これを破る可能性のあるASAの検査ルールはありますか?トラフィックの戻りルートが送信ルートと異なるためだと思います(つまり、パケットは同じLAN上にあるためASAを経由するのではなく、VPNエンドポイントからクライアントに直接送信されます)。

7
Mark Henderson

ASAでACKランダム化を無効にする この問題を解決します (このシナリオはに一致します例B-複数のインターネットパス):

access-list tcp_bypass extended permit tcp 192.168.161.0 255.255.255.0 any
class-map tcp_bypass
match access-list tcp_bypass
policy-map tcp_bypass_policy
class tcp_bypass
set connection advanced-options tcp-state-bypass
set connection timeout idle 0:10:00
service-policy tcp_bypass_policy interface inside

この解決策はやっかいです-それを行う前に、その意味を必ず読んでください。

5
Mark Henderson

ファイアウォール(192.168.101.1)は、別のルートに戻ってルーティングされ、ステートフルファイアウォールであるため拒否されるため、SYN​​-ACKを見逃している可能性があります。

  1. Aは、Cによる検査中に、SYNをZを介してBに送信します。
  2. BはSYN-ACKをAに直接送信します(Bは同じサブネット上にあり、Aへのデフォルトルートがあるため)
  3. Aは、Cによって検査されている間にZを介してBにACKを送信し、SYN-ACKを見たことがないためにドロップされます。

これは一般に非対称ルーティングと呼ばれます。

4
artifex