Citrix ADCアプライアンスのネットワークとVLANのベストプラクティス
Citrix ADCアプライアンスは、VLANを使用して、どのインターフェイスをどのトラフィックに使用する必要があるかを決定します。また、Citrix ADCアプライアンスはスパニングツリーに参加しません。適切なVLAN構成がなければ、Citrix ADCアプライアンスは使用するインターフェイスを判断できず、スイッチやルーターよりもHUBのように機能します。つまり、Citrix ADCアプライアンスは、各カンバセーションのすべてのインターフェイスを使用できます。
VLAN設定ミスの症状
VLAN構成ミスの問題は、パフォーマンスの問題、接続を確立できない、ランダムに切断されたセッション、重大な状況では、Citrix ADCアプライアンス自体とは無関係に見えるネットワークの中断など、さまざまな形で現れます。Citrix ADCアプライアンスは、ネットワークとの相互作用の正確な性質に応じて、MAC移動、ミュートされたインターフェイス、管理インターフェイスの送受信バッファオーバーフローを報告することもあります。
MAC移動(counter nic_tot_bdg_mac_moved):この問題は、Citrix ADCアプライアンスが複数のインターフェイスを使用して同じデバイス(MACアドレス)と通信していることを示しています。これは、使用するインターフェイスを正しく判断できなかったためです。
ミュートされたインターフェイス(counter nic_err_bdg_muted): この問題は、Citrix ADCアプライアンスがVLAN構成の問題によりルーティングループを作成していることを検出し、ネットワークを防止するために1つ以上の障害のあるインターフェイスをシャットダウンしたことを示します。停止します。
インターフェイスバッファオーバフロー。通常は管理インターフェイス(counter nic_err_tx_overflow)を参照します。この問題は、管理インターフェイス経由で送信されるトラフィックが多すぎる場合に発生する可能性があります。Citrix ADCアプライアンスの管理インターフェイスは、大量のトラフィックを処理するように設計されていません。これは、ネットワークおよびVLANの構成ミスが原因で、Citrix ADCアプライアンスが本番データトラフィックに管理インターフェイスを使用するようにトリガーされる可能性があります。これは、Citrix ADCアプライアンスが、NSIP(NSVLAN)のVLAN /サブネット上のトラフィックを通常の本番トラフィックと区別する方法がないために発生します。NSIPは、ワークステーションやサーバなどの本番デバイスとは別のVLANおよびサブネット上に置くことを強く推奨します。
孤立したACK(counter tcp_err_orphan_ack):この問題は、Citrix ADCアプライアンスが受信したACKパケットを、通常はACKの送信元とは異なるインターフェイスで受信したことを示します。この状況は、Citrix ADCアプライアンスがCitrix ADC アプライアンスとの通信に通常使用するターゲットデバイスとは異なるインターフェイスで送信するVLAN設定の誤りによって発生することがあります(多くの場合、MACの移動と連動して見られます)。
高いレートの再送信または再送信のあきらめアップ(counter:tcp_err_retransmit_giveups、tcp_err_7th_retransmit、その他のさまざまな再送信カウンタ):Citrix ADCアプライアンスは、TCPパケットを合計7回再送信しようとします。この状況はネットワークの状態によって発生することがありますが、VLAN およびインターフェイスの設定ミスによって発生することがよくあります。
高可用性スプリットブレイン:スプリットブレインは、両方の高可用性ノードがプライマリであると認識し、IPアドレスが重複し、Citrix ADCアプライアンスの機能が失われる状態です。これは、2 つの高可用性ノードが、NSIP を使用して UDP ポート 3003 で高可用性ハートビートを使用して相互に通信できない場合に発生します。これは、通常、Citrix ADCアプライアンスのインターフェイス上のネイティブVLANがCitrix ADCアプライアンス間で接続されていないVLANの構成ミスが原因です。
VLAN およびネットワーク構成のベストプラクティス
各サブネットは、VLAN に関連付ける必要があります。
複数のサブネットを同じ VLAN に関連付けることができます(ネットワーク設計によって異なります)。
各 VLAN は、1 つのインターフェイスだけに関連付ける必要があります(この説明では、LA チャネルは 1 つのインターフェイスとしてカウントされます)。
1 つのインターフェイスに複数のサブネットを関連付ける必要がある場合は、サブネットにタグを付ける必要があります。
一般的な考え方とは対照的に、Citrix ADCアプライアンスのMacベースフォワーディング(MBF)機能は、この種の問題を軽減するように設計されていません。MBFは、主にCitrix ADCアプライアンスのDSR(ダイレクト・サーバー・リターン)モード用に設計されています。これは、ほとんどの環境ではほとんど使用されません(バックエンドサーバーからのリターン・パスでトラフィックが意図的にCitrix ADCアプライアンスをバイパスできるように設計されています)。MBF は VLAN の問題を隠す場合がありますが、この種の問題を解決するために信頼すべきではありません。
Citrix ADCアプライアンスのすべてのインターフェイスにはネイティブVLANが必要です(ネイティブVLANがオプションであるCiscoとは異なり)。ただし、インターフェイス上のTagAll設定を使用すると、タグなしのトラフィックが問題のインターフェイスから送信されないようにすることができます。
ネイティブ VLAN は、ネットワーク設計に必要な場合にタグ付けできます(インターフェイスの [TagAll] オプション)。
Citrix ADCアプライアンスのNSIPのサブネットのVLANは特殊なケースです。これを NSVLAN と呼びます。概念は同じですが、構成するコマンドは異なります。NSVLANの変更を有効にするには、Citrix ADCアプライアンスを再起動する必要があります。NSIPと同じサブネットを共有するSNIPにVLANをバインドしようとすると、「操作は許可されていません」というメッセージが表示されます。これは、代わりに NSVLAN コマンドを使用する必要があるためです。また、一部のファームウェアバージョンでは、
add VLAN
コマンドを使用して VLAN 番号が存在する場合、NSVLAN を設定できません。VLAN を削除してから、NSVLAN を再度設定します。高可用性ハートビートは、常にそれぞれのインターフェイスのネイティブ VLAN を使用します(インターフェイスで TagAll オプションが設定されている場合、オプションでタグ付けされます)。
高可用性ペアの 2 つのノード上の少なくとも 1 つのネイティブ VLAN セット間には、通信が必要です(直接またはルータ経由のどちらでもかまいません)。ネイティブ VLAN は、高可用性ハートビートに使用されます。Citrix ADCアプライアンスがインターフェイス上のネイティブVLAN間で通信できない場合、高可用性のフェイルオーバーが発生し、両方のCitrix ADCアプライアンスがプライマリであると判断するスプリットブレイン状況が発生する可能性があります(IPアドレスの重複を招くなど)。
Citrix ADCアプライアンスはスパニングツリーに参加しません。そのため、Citrix ADCアプライアンスを使用する場合、スパニングツリーを使用してインターフェイスの冗長性を確保することはできません。代わりに、リンクアグリゲーション(LACP または手動 LAG)の形式を使用します。
注:複数の物理スイッチ間でリンク集約を行う場合は、Ciscoの Switch Stack などの機能を使用して、スイッチを仮想スイッチとして設定する必要があります。
デフォルトでは、高可用性同期とコマンドプロパゲーションでは、NSIP/NSVLAN が使用されます。これらを別の VLAN に分離するには、
set HA node
コマンドの SyncVLAN オプションを使用します。Citrix ADCアプライアンスのデフォルト構成には、管理インターフェイス(0/1または0/2)が管理トラフィックのみに制限されていることを示すものはありません。この制限は、エンドユーザが VLAN 設定を通じて実施する必要があります。管理インターフェイスはデータトラフィックを処理するように設計されていないため、ネットワーク設計ではこの点を考慮する必要があります。Citrix ADCアプライアンスのマザーボードに含まれる管理インターフェイスには、CRCオフロード、より大きなパケットバッファ、その他の最適化などのさまざまなオフロード機能がないため、大量のトラフィックを処理する際の効率が大幅に低下します。本番データと管理トラフィックを分離するには、NSIP をデータトラフィックと同じサブネット/VLAN 上に配置しないでください。
管理インターフェイスを使用して管理トラフィックを伝送する場合は、デフォルトルートを NSIP(NSVLAN)のサブネット以外のサブネットに配置することをお勧めします。
多くの設定では、デフォルトのルートはワークステーション通信に依存しています(インターネットの場合)。デフォルトルートが NSIP と同じサブネット上にある場合、ADC アプライアンスは管理インターフェイスを使用してデータトラフィックを送受信できます。このデータトラフィックの使用により、管理インターフェイスが過負荷になる可能性があります。
また、SDX-SVM、XenServer、およびすべてのCitrix ADCインスタンスのNSIPは、同じVLANおよびサブネット上に存在する必要があります。SDX アプライアンスには、SVM/Xen/インスタンス間の通信を可能にするバックプレーンはありません。同じVLAN/サブネット/インターフェイス上にない場合、それらの間のトラフィックは物理ハードウェアから送信され、ネットワーク上でルーティングされ、戻ってくる必要があります。
この設定により、インスタンスと SVM 間の接続の問題が明らかになる可能性があるため、推奨されません。この現象の一般的な症状は、問題のVPXインスタンスのSVMの黄色のインスタンス状態インジケータと、SVMを使用してVPXインスタンスを再構成できないことです。
一部の VLAN がサブネットにバインドされ、一部の VLAN がサブネットにバインドされていない場合、高可用性フェールオーバー中に、VLAN にバインドされていないサブネットの IP アドレスに対して GARP パケットが送信されません。この設定により、高可用性のフェールオーバー中に接続が切断され、接続の問題が発生する可能性があります。この問題は、Citrix ADC アプライアンスがネットワークの MAC 所有権の IP アドレスを VMAC 構成以外の Citrix ADC アプライアンスで通知できないために発生します。
この現象は、高可用性フェイルオーバー中/後に、以前のプライマリCitrix ADCアプライアンスで ip_tot_floating_ip_err カウンタが数秒以上増加します。これは、ネットワークがGARPパケットを受信または処理せず、ネットワークが新しいセカンダリCitrix ADCアプライアンスに移行します。