VXLAN インターフェイスの概要
VXLAN は、VLAN の場合と同じイーサネットレイヤ 2 ネットワークサービスを提供しますが、より優れた拡張性と柔軟性を備えています。VLAN と比較して、VXLAN には次の利点があります。
-
データセンター全体でのマルチテナントセグメントの柔軟な配置。
-
より多くのレイヤ 2 セグメント(最大 1600 万の VXLAN セグメント)に対応するための高度なスケーラビリティ。
ここでは、VXLAN の動作について説明します。VXLAN の詳細については、RFC 7348 を参照してください。Geneve の詳細については、RFC 8926 を参照してください。
カプセル化
ASA は、次の 2 種類の VXLAN カプセル化をサポートしています。
-
VXLAN(すべてのモデル):VXLAN は、MAC Address-in-User Datagram Protocol(MAC-in-UDP)のカプセル化を使用します。元のレイヤ 2 フレームに VXLAN ヘッダーが追加され、UDP-IP パケットに置かれます。
-
Geneve(ASA 仮想 のみ):Geneve には、MAC アドレスに限定されない柔軟な内部ヘッダーがあります。Geneve カプセル化は、Amazon Web Services(AWS)ゲートウェイロードバランサとアプライアンス間のパケットの透過的なルーティング、および追加情報の送信に必要です。
VXLAN トンネル エンドポイント
VXLAN トンネル エンドポイント(VTEP)デバイスは、VXLAN のカプセル化およびカプセル化解除を実行します。各 VTEP には 2 つのインターフェイス タイプ(セキュリティ ポリシーを適用する VXLAN Network Identifier(VNI)インターフェイスと呼ばれる 1 つ以上の仮想インターフェイスと、 VTEP 間に VNI をトンネリングする VTEP 送信元インターフェイスと呼ばれる通常のインターフェイス)があります。VTEP 送信元インターフェイスは、VTEP 間通信のトランスポート IP ネットワークに接続されます。
次の図に、レイヤ 3 ネットワークで VTEP として機能し、サイト間の VNI 1、2、3 を拡張する 2 つの ASA と仮想サーバ 2 を示します。ASA は、VXLAN と VXLAN 以外のネットワークの間のブリッジまたはゲートウェイとして機能します。
VTEP 間の基盤となる IP ネットワークは、VXLAN オーバーレイに依存しません。カプセル化されたパケットは、発信元 IP アドレスとして開始 VTEP を持ち、宛先 IP アドレスとして終端 VTEP を持っており、外部 IP アドレス ヘッダーに基づいてルーティングされます。VXLAN カプセル化の場合:宛先 IP アドレスは、リモート VTEP が不明な場合、マルチキャストグループにすることができます。Geneve では、ASA はスタティックピアのみをサポートします。デフォルトでは、 VXLAN の宛先ポートは UDP ポート 4789 です(ユーザ設定可能)。Geneve の宛先ポートは 6081 です。
VTEP 送信元インターフェイス
VTEP 送信元インターフェイスは、すべての VNI インターフェイスに関連付けられる予定の標準の ASA インターフェイス(物理、EtherChannel、または VLAN)です。ASA/セキュリティ コンテキストごとに 1 つの VTEP 送信元インターフェイスを設定できます。設定できる VTEP 送信元インターフェイスは 1 つだけであるため、VXLAN インターフェイスと Geneve インターフェイスの両方を同じデバイスに設定することはできません。AWS または Azure での ASA 仮想クラスタリングには例外があり、2 つの VTEP ソースインターフェイスを使用することができます。VXLAN インターフェイスはクラスタ制御リンクに使用され、Geneve(AWS)または VXLAN(Azure)インターフェイスはゲートウェイロードバランサに使用できます。
VTEP 送信元インターフェイスは、VXLAN トラフィック専用にすることができますが、その使用に制限されません。必要に応じて、インターフェイスを通常のトラフィックに使用し、そのトラフィックのインターフェイスにセキュリティ ポリシーを適用できます。ただし、VXLAN トラフィックの場合は、すべてのセキュリティ ポリシーを VNI インターフェイスに適用する必要があります。VTEP インターフェイスは、物理ポートとしてのみ機能します。
トランスペアレント ファイアウォール モードでは、VTEP 送信元インターフェイスは、BVI の一部ではないため、その IP アドレスを設定しません。このインターフェイスは、管理インターフェイスが処理される方法に似ています。
VNI インターフェイス
VNI インターフェイスは VLAN インターフェイスに似ています。VNI インターフェイスは、タギングを使用して特定の物理インターフェイスでのネットワーク トラフィックの分割を維持する仮想インターフェイスです。各VNI インターフェイスにセキュリティ ポリシーを直接適用します。
追加できる VTEP インターフェイスは 1 つだけで、すべての VNI インターフェイスは、同じ VTEP インターフェイスに関連付けられます。AWS または Azure での ASA Virtual クラスタリングには例外があります。AWS クラスタリングの場合、2 つの VTEP ソースインターフェイスを使用することができます。VXLAN インターフェイスはクラスタ制御リンクに使用され、Geneve インターフェイスは AWS ゲートウェイロードバランサに使用できます。Azure クラスタリングの場合、2 つの VTEP ソースインターフェイスを使用することができます。VXLAN インターフェイスはクラスタ制御リンクに使用され、2 つ目の VXLAN インターフェイスは Azure ゲートウェイロードバランサに使用できます。
VXLAN パケット処理
VXLAN
VTEP 送信元インターフェイスを出入りするトラフィックは、VXLAN 処理、特にカプセル化または非カプセル化の対象となります。
カプセル化処理には、次のタスクが含まれます。
-
VTEP 送信元インターフェイスにより、VXLAN ヘッダーが含まれている内部 MAC フレームがカプセル化されます。
-
UDP チェックサム フィールドがゼロに設定されます。
-
外部フレームの送信元 IP がVTEP インターフェイスの IP に設定されます。
-
外部フレームの宛先 IP がリモート VTEP IP ルックアップによって決定されます。
カプセル化解除については、次の場合に ASA によって VXLAN パケットのみがカプセル化解除されます。
-
これが、宛先ポートが 4789 に設定された UDP パケットである場合(この値はユーザー設定可能です)。
-
入力インターフェイスが VTEP 送信元インターフェイスである場合。
-
入力インターフェイスの IP アドレスが宛先 IP アドレスと同じになります。
-
VXLAN パケット形式が標準に準拠します。
Geneve
VTEP 送信元インターフェイスを出入りするトラフィックは、Geneve 処理、特にカプセル化または非カプセル化の対象となります。
カプセル化処理には、次のタスクが含まれます。
-
VTEP 送信元インターフェイスにより、Geneve ヘッダーが含まれている内部 MAC フレームがカプセル化されます。
-
UDP チェックサム フィールドがゼロに設定されます。
-
外部フレームの送信元 IP がVTEP インターフェイスの IP に設定されます。
-
外部フレームの宛先 IP には、設定したピア IP アドレスが設定されます。
カプセル化解除については、次の場合に ASA によって Geneve パケットのみがカプセル化解除されます。
-
これが、宛先ポートが 6081 に設定された UDP パケットである場合(この値はユーザー設定可能です)。
-
入力インターフェイスが VTEP 送信元インターフェイスである場合。
-
入力インターフェイスの IP アドレスが宛先 IP アドレスと同じになります。
-
Geneve パケット形式が標準に準拠します。
ピア VTEP
ASA がピア VTEP の背後にあるデバイスにパケットを送信する場合、ASA には次の 2 つの重要な情報が必要です。
-
リモート デバイスの宛先 MAC アドレス
-
ピア VTEP の宛先 IP アドレス
ASA は VNI インターフェイスのリモート VTEP IP アドレスに対する宛先 MAC アドレスのマッピングを維持します。
VXLAN ピア
ASA がこの情報を検出するには 2 つの方法あります。
-
単一のピア VTEP IP アドレスを ASA に静的に設定できます。
手動で複数のピアを定義することはできません。
IPv4 の場合:ASA が VXLAN カプセル化 ARP ブロードキャストを VTEP に送信し、エンドノードの MAC アドレスを取得します。
IPv6 の場合:ASA は IPv6 ネイバー要請メッセージを IPv6 要請ノード マルチキャスト アドレスに送信します。ピア VTEP は、そのリンクローカルアドレスを使用して IPv6 ネイバー アドバタイズメント メッセージで応答します。
-
マルチキャスト グループは、VNI インターフェイスごとに(または VTEP 全体に)設定できます。
(注)
このオプションは、Geneve ではサポートされていません。
IPv4 の場合:ASA は、IP マルチキャストパケット内の VXLAN カプセル化 ARP ブロードキャストパケットを VTEP 送信元インターフェイスを経由して送信します。この ARP 要求への応答により、ASA はリモート VTEP の IP アドレスと、リモート エンド ノードの宛先 MAC アドレスの両方を取得することができます。
IPv6 の場合:ASA は、VTEP 送信元インターフェイスを経由してマルチキャストリスナー検出(MLD)レポートメッセージを送信し、ASA が VTEP インターフェイスでマルチキャスト アドレス トラフィックをリッスンしていることを示します。
Geneve ピア
ASA 仮想 は、静的に定義されたピアのみをサポートします。AWS ゲートウェイロードバランサで ASA 仮想 ピアの IP アドレスを定義できます。ASA 仮想 はゲートウェイロードバランサへのトラフィックを開始しないため、ASA 仮想 でゲートウェイロードバランサの IP アドレスを指定する必要はありません。Geneve トラフィックを受信すると、ピア IP アドレスを学習します。マルチキャストグループは、Geneve ではサポートされていません。
VXLAN 使用例
ここでは、ASA 上への VXLAN の実装事例について説明します。
VXLAN ブリッジまたはゲートウェイの概要
各 ASA の VTEP は、VM、サーバ、PC、VXLANのオーバーレイ ネットワークなどのエンド ノード間のブリッジまたはゲートウェイとして機能します。VTEP 送信元インターフェイスを介して VXLAN カプセル化で受信した受信フレームの場合、ASA は VXLAN ヘッダーを除去して、内部イーサネット フレームの宛先 MAC アドレスに基づいて非 VXLAN ネットワークに接続されている物理インターフェイスに転送します。
ASA は、常に VXLAN パケットを処理します。つまり、他の 2 つの VTEP 間で VXLAN パケットをそのまま転送する訳ではありません。
VXLAN ブリッジ
ブリッジグループ(トランスペアレント ファイアウォール モードまたは任意ルーテッドモード)を使用する場合、ASA は、同じネットワークに存在する(リモート)VXLAN セグメントとローカルセグメント間の VXLAN ブリッジとして機能できます。この場合、ブリッジグループのメンバーは通常インターフェイス 1 つのメンバーが通常のインターフェイスで、もう 1 つのメンバーが VNI インターフェイスです。
VXLAN ゲートウェイ(ルーテッド モード)
ASA は、VXLAN ドメインと非 VXLAN ドメイン間のルータとして機能し、異なるネットワーク上のデバイスを接続します。
VXLAN ドメイン間のルータ
VXLAN 拡張 レイヤ 2 ドメインを使用すると、VM は、ASA が同じラックにないとき、あるいは ASA がレイヤ 3 ネットワーク上の離れた場所にあるときにsのゲートウェイとして ASA を指し示すことができます。
このシナリオに関する次の注意事項を参照してください。
-
VM3 から VM1 へのパケットでは、ASA がデフォルトゲートウェイであるため、宛先 MAC アドレスは ASA の MAC アドレスです。
-
仮想サーバー 2 の VTEP 送信元インターフェイスは、VM3 からパケットを受信してから、VNI 3 の VXLAN タグでパケットをカプセル化して ASA に送信します。
-
ASA は、パケットを受信すると、そのパケットをカプセル化解除して内部フレームを取得します。
-
ASA は、ルート ルックアップに内部フレームを使用して、宛先が VNI 2 上であることを認識します。VM1 のマッピングがまだない場合、ASA は、VNI 2 カプセル化された ARP ブロードキャストを VNI 2 のマルチキャスト グループ IP で送信します。
(注)
このシナリオでは複数の VTEP ピアがあるため、ASA は、複数のダイナミック VTEP ピア ディスカバリを使用する必要があります。
-
ASA は、VNI 2 の VXLAN タグでパケットを再度カプセル化し、仮想サーバ 1 に送信します。カプセル化の前に、ASA は、内部フレームの宛先 MAC アドレスを変更して VM1 の MAC にします(ASA で VM1 の MAC アドレスを取得するためにマルチキャスト カプセル化 ARP が必要な場合があります)。
-
仮想サーバー 1 は、VXLAN パケットを受信すると、パケットをカプセル化解除して内部フレームを VM1 に配信します。
AWS ゲートウェイロードバランサおよび Geneve シングルアームプロキシ
(注) |
この使用例は、現在サポートされている Geneve インターフェイスの唯一の使用例です。 |
AWS ゲートウェイロードバランサは、透過的なネットワークゲートウェイと、トラフィックを分散し、仮想アプライアンスをオンデマンドで拡張するロードバランサを組み合わせます。ASA Virtual は、分散データプレーン(ゲートウェイ ロード バランサ エンドポイント)を備えたゲートウェイロードバランサ集中型コントロールプレーンをサポートします。次の図は、ゲートウェイロードバランサのエンドポイントからゲートウェイロードバランサに転送されるトラフィックを示しています。ゲートウェイロードバランサは、複数の ASA Virtual の間でトラフィックのバランスをとり、トラフィックをドロップするか、ゲートウェイロードバランサに送り返す(U ターントラフィック)前に検査します。ゲートウェイロードバランサは、トラフィックをゲートウェイロードバランサのエンドポイントと宛先に送り返します。
Azure ゲートウェイロードバランサおよびペアプロキシ
Azure サービスチェーンでは、ASA Virtual がインターネットと顧客サービス間のパケットをインターセプトできる透過的なゲートウェイとして機能します。ASA Virtual は、ペアリングされたプロキシの VXLAN セグメントを利用して、単一の NIC に外部インターフェイスと内部インターフェイスを定義します。
次の図は、外部 VXLAN セグメント上のパブリックゲートウェイロードバランサから Azure ゲートウェイロードバランサに転送されるトラフィックを示しています。ゲートウェイロードバランサは、複数の ASA Virtual の間でトラフィックのバランスをとり、トラフィックをドロップするか、外部 VXLAN セグメント上のゲートウェイロードバランサに送り返す前に検査します。Azure ゲートウェイロードバランサは、トラフィックをパブリックゲートウェイロードバランサと宛先に送り返します。