Citrix ADC

IPSec プロトコルのアプリケーション層ゲートウェイ

2 つのネットワークデバイス(クライアントとサーバなど)間の通信で IPSec プロトコルが使用されている場合、IKE トラフィック(UDP 経由の)ではポートフィールドが使用されますが、カプセル化セキュリティペイロード(ESP)トラフィックでは使用されません。パス上の NAT デバイスが、同じ宛先の 2 つ以上のクライアントに同じ NAT IP アドレス(ただし、異なるポート)を割り当てた場合、NAT デバイスはポート情報を含まないリターン ESP トラフィックを区別できず、適切にルーティングできません。したがって、NAT デバイスで IPSec ESP トラフィックが失敗します。

NAT-トラバーサル(NAT-T)対応の IPSec エンドポイントは、IKE フェーズ 1 中に中間 NAT デバイスの存在を検出し、後続のすべての IKE および ESP トラフィック(UDP で ESP をカプセル化)に対して UDP ポート 4500 に切り替えます。 ピア IPSec エンドポイントで NAT-T がサポートされていない場合、IPSec で保護された ESP トラフィックは UDP カプセル化なしで送信されます。したがって、NAT デバイスで IPSec ESP トラフィックが失敗します。

Citrix ADCアプライアンスは、大規模なNAT構成用のIPSecアプリケーション層Gateway(ALG)機能をサポートしています。IPSec ALG は IPSec ESP トラフィックを処理し、セッション情報を維持して、IPSec エンドポイントが NAT-T(ESP トラフィックの UDP カプセル化)をサポートしていない場合にトラフィックに障害が発生しないようにします。

IPSec ALG のしくみ

IPSec ALG は、クライアントとサーバ間の IKE トラフィックを監視し、クライアントとサーバ間の IKE フェーズ 2 メッセージ交換を 1 つだけ許可します。

特定のフローに対して双方向の ESP パケットが受信されると、IPSec ALG はこの特定のフローに対して NAT セッションを作成し、後続の ESP トラフィックがスムーズに流れるようにします。ESP トラフィックは、セキュリティパラメータインデックス(SPI)によって識別されます。SPI は、フローおよび方向ごとに一意です。 IPSec ALG は、大規模な NAT を実行するために、送信元ポートと宛先ポートの代わりに ESP SPI を使用します。

ゲートがトラフィックを受信しない場合、ゲートはタイムアウトします。両方のゲートがタイムアウトすると、別の IKE フェーズ 2 交換が許可されます。

IPSec ALG タイムアウト

Citrix ADCアプライアンス上のIPsec ALGには、次の3つのタイムアウト・パラメータがあります。

  • ESP ゲートタイムアウト。クライアントとサーバー間で双方向ESPトラフィックが交換されない場合、Citrix ADCアプライアンスが、特定のサーバーの特定のNAT IPアドレス上の特定のクライアントのIPSec ALGゲートをブロックする最大時間。
  • IKE セッションタイムアウト。Citrix ADCアプライアンスがIKEセッション情報を保持する最大時間。そのセッションにIKEトラフィックがない場合、IKEセッション情報を削除します。
  • ESP セッションタイムアウト。そのセッションにESPトラフィックがない場合、Citrix ADCアプライアンスがESPセッション情報を削除する前に保持する最大時間。

IPSec ALG を設定する前に考慮すべきポイント

IPSec ALG の設定を開始する前に、次の点を考慮してください。

  • IPSec プロトコルのさまざまなコンポーネントを理解する必要があります。
  • IPSec ALG は、DS-Lite および大規模な NAT64 構成ではサポートされません。
  • IPSec ALG は、ヘアピン LSN フローではサポートされません。
  • IPSec ALG は、RNAT 設定では機能しません。
  • IPsec ALGは、Citrix ADCクラスタではサポートされていません。

構成の手順

Citrix ADC アプライアンスで大規模な NAT44 用の IPSec ALG を構成するには、次の作業を行います。

  • LSN アプリケーションプロファイルを作成し、LSN 構成にバインドします。アプリケーションプロファイルの設定時に、次のパラメータを設定します。
    • Protocol=UDP
    • IP プーリング = PAIRED
    • Port=500

アプリケーションプロファイルを LSN 設定の LSN グループにバインドします。LSN 構成の作成手順については、「LSN の設定手順」を参照してください。

  • IPSec ALG プロファイルを作成します。IPSec プロファイルには、IKE セッションタイムアウト、ESP セッションタイムアウト、ESP ゲートタイムアウトなど、さまざまな IPSec タイムアウトが含まれます。IPSec ALG プロファイルを LSN グループにバインドするとします。IPSec ALG プロファイルには、次のデフォルト設定があります。
    • IKE セッションタイムアウト = 60 分
    • ESP セッションタイムアウト = 60 分
    • ESP ゲートタイムアウト = 30 秒
  • IPSec ALG プロファイルを LSN 設定にバインドします。IPSec ALG プロファイルを LSN 設定にバインドすると、LSN 設定に対して IPSec ALG が有効になります。IPSec ALG プロファイルパラメータを LSN グループに作成したプロファイルの名前に設定して、IPSec ALG プロファイルを LSN 構成にバインドします。 IPSec ALG プロファイルは、複数の LSN グループにバインドできますが、1 つの LSN グループに設定できる IPSec ALG プロファイルは 1 つだけです。

コマンドラインインターフェイスを使用して LSN アプリケーションプロファイルを作成するには

コマンドプロンプトで入力します。

add lsn appsprofile <appsprofilename> UDP -ippooling PAIRED

show lsn appsprofile
<!--NeedCopy-->

コマンドラインインターフェイスを使用して宛先ポートを LSN アプリケーションプロファイルにバインドするには

コマンドプロンプトで入力します。

bind lsn appsprofile <appsprofilename> <lsnport>

show lsn appsprofile
<!--NeedCopy-->

コマンドラインインターフェイスを使用して LSN アプリケーションプロファイルを LSN グループにバインドするには

コマンドプロンプトで入力します。

bind lsn group <groupname> -appsprofilename <string>

show lsn group
<!--NeedCopy-->

CLI を使用して IPSec ALG プロファイルを作成するには

コマンドプロンプトで入力します。

add ipsecalg profile <name> [-ikeSessionTimeout <positive_integer>] [-espSessionTimeout <positive_integer>] [-espGateTimeout <positive_integer>] [-connfailover ( ENABLED | DISABLED)

show ipsecalg profile <name>
<!--NeedCopy-->

CLI を使用して IPSec ALG プロファイルを LSN 設定にバインドするには

コマンドプロンプトで入力します。

bind lsn group <groupname> -poolname <string> - ipsecAlgProfile <string>

show lsn group <name>
<!--NeedCopy-->

GUI を使用して LSN アプリケーションプロファイルを作成し、LSN 構成にバインドするには

[システム] > [大規模NAT] > [プロファイル] に移動し、[アプリケーション] タブをクリックし、LSN アプリケーションプロファイルを追加して LSN グループにバインドします。

GUI**を使用して IPSec ALG プロファイルを作成するには

[システム] > [大規模NAT] > [プロファイル] に移動し、[IPSEC ALG] タブをクリックして、IPSec ALG プロファイルを追加します。

GUI**を使用して IPSec ALG プロファイルを LSN 構成にバインドするには

  1. システムに移動 > 大規模NAT > LSNグループLSNグループを開きます。
  2. [詳細設定] で、[+ IPSEC ALG プロファイル] をクリックして、作成された IPSec ALG プロファイルを LSN グループにバインドします。

構成例

次の大規模な NAT44 設定例では、192.0.2.0/24 ネットワーク内のサブスクライバに対して IPSec ALG が有効になっています。さまざまな IPSec タイムアウト設定を持つ IPSec ALG プロファイル IPSECALGPROFILE-1 が作成され、LSN グループ LSN グループ-1 にバインドされます。

設定例:

add lsn client LSN-CLIENT-1

Done

bind lsn client LSN-CLIENT-1 -network 192.0.2.0 -netmask 255.255.255.0

Done

add lsn pool LSN-POOL-1

Done

bind lsn pool LSN-POOL-1 203.0.113.3-203.0.113.9

Done

add lsn appsprofile LSN-APPSPROFILE-1 UDP -ippooling PAIRED

Done

bind lsn appsprofile LSN-APPSPROFILE-1 500

Done

add ipsecalg profile  IPSECALGPROFILE-1 -ikeSessionTimeout 45 –espSessionTimeout 40 –espGateTimeout 20 -connfailover ENABLED

Done

bind lsn group LSN-GROUP-1 -appsprofilename LSN-APPSPROFILE-1

Done

bind lsn group LSN-GROUP-1 -poolname LSN-POOL-1

Done

bind lsn group LSN-GROUP-1 - ipsecAlgProfile IPSECALGPROFILE-1

Done
<!--NeedCopy-->
IPSec プロトコルのアプリケーション層ゲートウェイ