ADC

動的ルートの構成

動的ルーティングプロトコルが有効な場合、対応するルーティングプロセスがルートの更新を監視し、ルートをアドバタイズします。ルーティングプロトコルにより、アップストリームルーターは等価コストマルチパス(ECMP)技術を使用して、2つのスタンドアロンNetScalerアプライアンスでホストされている同一の仮想サーバーにトラフィックを負荷分散できます。NetScalerアプライアンスの動的ルーティングは、3つのルーティングテーブルを使用します。高可用性設定では、セカンダリアプライアンスのルーティングテーブルがプライマリアプライアンスのルーティングテーブルとミラーリングします。

ダイナミックルーティングプロトコルに関するコマンドリファレンスガイドおよびサポートされていないコマンドについては、 ダイナミックルーティングプロトコルコマンドリファレンスガイドおよびサポートされていないコマンドを参照してください

Citrix ADCでは、次のプロトコルがサポートされています。

  • ルーティング情報プロトコル (RIP) バージョン 2
  • オープン・ショート・パス・ファースト(OSPF)バージョン 2
  • Border Gateway Protocol(BGP)
  • IPv6 用次世代ルーティング情報プロトコル (RIPNG)
  • IPv6 用オープン・ショーテスト・パス・ファースト (OSPF) バージョン 3
  • ISIS プロトコル

複数のプロトコルを同時に有効にできます。

NetScalerのルーティングテーブル

NetScalerアプライアンスでは、NetScalerカーネルルーティングテーブル、FreeBSDカーネルルーティングテーブル、およびNSM FIBルーティングテーブルはそれぞれ異なるルートセットを保持し、異なる目的を果たします。UNIX ルーティングソケットを使用して相互に通信します。ルートの更新は、あるルーティングテーブルから別のルーティングテーブルに自動的に伝播されません。ルーティングテーブルごとにルート更新の伝播を設定する必要があります。

NS カーネルルーティングテーブル

NSカーネル・ルーティング・テーブルには、NSIPおよび各SNIPおよびMIPに対応するサブネット・ルートが格納されます。通常、VIP に対応するルートは NS カーネルのルーティングテーブルには存在しません。例外は add ns ip コマンドを使用して追加され、255.255.255.255 以外のサブネットマスクで設定された VIP です。同じサブネットに属する複数のIPアドレスがある場合、それらは単一のサブネットルートとして抽象化されます。さらに、このテーブルには、ループバックネットワーク(127.0.0.0)へのルートと、CLI(CLI)を介して追加されたすべてのスタティックルートが含まれています。この表のエントリは、NetScalerがパケット転送に使用します。CLI から show route コマンドを使用してこれらを検査できます。

FreeBSD ルーティングテーブル

FreeBSD ルーティングテーブルの唯一の目的は、管理トラフィック (telnet、ssh など) の開始と終了を容易にすることです。NetScalerアプライアンスでは、これらのアプリケーションはFreeBSDと密接に結びついているため、FreeBSDがこれらのアプリケーションとの間のトラフィックを処理するために必要な情報を持っていることが不可欠です。このルーティングテーブルには、NSIP サブネットへのルートとデフォルトルートが含まれています。さらに、NetScalerがローカルネットワーク上のホストへの接続を確立すると、FreeBSDはWASCloned (W) タイプのルートを追加します。このルーティングテーブルのエントリは非常に特殊化されているため、NS カーネルと NSM FIB ルーティングテーブルからの他のすべてのルート更新は FreeBSD ルーティングテーブルをバイパスします。route コマンドで変更しないでください。FreeBSD のルーティングテーブルは、どの UNIX シェルからでも netstat コマンドを使って調べることができます。

ネットワークサービスモジュール (NSM) FIB

NSM FIB ルーティングテーブルには、ダイナミックルーティングプロトコルによってネットワーク内のピアに配信されるアドバタイズ可能なルートが含まれています。以下が含まれる場合があります。

  • 接続ルート。NetScalerから直接アクセスできるIPサブネット。通常、NSIP サブネットとルーティングプロトコルが有効なサブネットに対応するルートは、接続されたルートとして NSM FIB に存在します。
  • カーネルルート。-HostRoute オプションが有効なすべての VIP アドレスは、必要な RHI レベルを満たしていれば、カーネルルートとして NSM FIB に存在します。さらに、NSM FIB には、CLI で設定された-advertise オプションが有効になっているすべてのスタティックルートが含まれます。または、NetScalerが静的ルートアドバタイズメント(SRADV)モードで動作している場合、CLIで構成されたすべての静的ルートがNSM FIBに存在します。これらのスタティックルートは、実際には NS カーネルルーティングテーブルに属しているため、NSM FIB ではカーネルルートとしてマークされます。
  • スタティックルート。通常、VTYSH で設定されたスタティックルートはすべて NSM FIB に存在します。プロトコルのアドミニストレーティブディスタンスが変更されても、常にそうなるとは限りません。注意すべき重要な点は、これらのルートは NS カーネルのルーティングテーブルには絶対に入らないということです。
  • 学習したルート。NetScalerがルートを動的に学習するように構成されている場合、NSM FIBにはさまざまな動的ルーティングプロトコルによって学習されたルートが含まれます。ただし、OSPF が学習したルートには特別な処理が必要です。OSPF プロセスで fib-install オプションが有効になっている場合にのみ、FIB にダウンロードされます。これは VTYSH のルータ設定ビューから実行できます。

高可用性セットアップでの動的ルーティング

高可用性セットアップでは、プライマリノードがルーティングプロセスを実行し、ルーティングテーブルの更新をセカンダリノードに伝播します。2 次ノードのルーティングテーブルは、1 次ノードのルーティングテーブルをミラーリングします。

ノンストップフォワーディング

フェイルオーバー後、セカンダリノードはプロトコルの起動、ルートの学習、ルーティングテーブルの更新にしばらく時間がかかります。ただし、これはルーティングには影響しません。セカンダリノードのルーティングテーブルは、プライマリノードのルーティングテーブルと同一だからです。この操作モードはノンストップフォワーディングと呼ばれます。

ブラックホール回避メカニズム

フェールオーバー後、新しいプライマリノードはすべての VIP ルートを上流ルータに注入します。ただし、そのルーターは古いプライマリノードのルートを 180 秒間保持します。ルータはフェールオーバーを認識しないため、2 つのノード間のトラフィックの負荷分散を試みます。古いルートが期限切れになる前の 180 秒間、ルータはトラフィックの半分を古い非アクティブなプライマリノードに送信します。これは事実上、ブラックホールです。

これを防ぐために、新しいプライマリノードは、ルートを挿入するときに、古いプライマリノードで指定されたメトリックよりもわずかに低いメトリックを割り当てます。

ダイナミックルーティングを設定するためのインターフェイス

動的ルーティングを設定するには、GUI またはコマンドラインインターフェイスを使用できます。NetScalerは、CLIと仮想テレタイプシェル(VTYSH)という2つの独立したコマンドラインインターフェイスをサポートしています。CLI はアプライアンスのネイティブシェルです。VTYSHはZeboSによって公開されています。NetScalerのルーティングスイートは、GNU Zebraの商用バージョンであるZeboSをベースにしています。

注:

Citrixでは、CLIでのみ設定できるコマンドを除くすべてのコマンドにVTYSHを使用することをお勧めします。通常、CLIの使用は、ルーティングプロトコルの有効化、ホストルートアドバタイズの設定、およびパケット転送用のスタティックルートの追加を行うコマンドに限定する必要があります。

ダイナミックルーティングプロトコルコマンドリファレンスガイドおよびサポートされていないコマンド

次の表に、Citrix ADCアプライアンスでのさまざまな動的ルーティングプロトコル、およびサポートされていないコマンドに関するコマンドリファレンスガイドのリンクを示します: 動的ルーティングプロトコルリファレンスガイドおよびサポートされていないコマンド

動的ルートの構成