NetScaler CPXにおける動的ルーティングのサポート

最終公開日 : Oct 02, 2026
NetScaler CPXはBGP動的ルーティングプロトコルをサポートしています。動的ルーティングプロトコルの主な目的は、仮想サーバーにバインドされたサービスの健全性に基づいて、仮想サーバーのIPアドレスをアドバタイズすることです。これにより、アップストリームルーターは、地理的に分散された仮想サーバーへの複数のルートの中から最適なルートを選択できます。
NetScaler CPXの非デフォルトパスワードについては、NetScaler CPXの構成ドキュメントのSupport for using a non-default password in NetScaler CPXセクションを参照してください。
単一ホストネットワークでは、クライアント、サーバー、およびNetScaler CPXインスタンスは、同じDockerホスト上にコンテナとして展開されます。すべてのコンテナはdocker0ブリッジを介して接続されます。この環境では、NetScaler CPXインスタンスは、同じDockerホスト上にコンテナとしてプロビジョニングされたアプリケーションのプロキシとして機能します。NetScaler CPXホストネットワークモードの展開については、ホストネットワークモードを参照してください。
次の図は、単一ホストトポロジを示しています。
単一ホストトポロジ
このトポロジでは、仮想サーバーが構成され、BGPを使用して(サービスの健全性に基づいて)アップストリームネットワークまたはルーターにアドバタイズされます。
ブリッジネットワークモードの単一DockerホストでNetScaler CPXにBGPを構成するには、次の手順を実行します。

NetScaler CPXでREST APIを使用してBGPベースのルートヘルスインジェクションを構成する

  1. 次のコマンドを使用して、NetScaler CPXイメージからコンテナを作成します。
    docker run -dt --privileged=true -p 22 -p 80 -p 161 -e EULA=yes --ulimit core=-1 cpx: <tag>
    例:
    docker run -dt --privileged=true -p 22 -p 80 -p 161 -e EULA=yes --ulimit core=-1 cpx:12.1-50.16
  2. 次のコマンドを使用してコンテナにログインします。
    docker exec -it <container id> bash
  3. 次のコマンドを使用してBGP機能を有効にします。
    cli_script.sh "enable ns feature bgp"
  4. show ns ipコマンドを使用してNSIPを取得します。
    cli_script.sh "show ns ip"
  5. 次のコマンドを使用して仮想サーバーを追加します。
    cli_script.sh "add lb  vserver <vserver_name> http <VIP> <PORT>"
  6. サービスを追加し、仮想サーバーにサービスをバインドします。
  7. 次のコマンドを使用して、VIP の hostroute を有効にします。
    cli_script.sh "set ns ip <VIP> -hostroute enabled”
    コンテナからログアウトし、ホストからポート 9080 の NSIP に BGP NITRO コマンドを送信します。
  8. BGP ルーターを構成します。
    たとえば、次のように構成する場合:
    router bgp 100
    Neighbour 172.17.0.2 remote-as 101
    Redistribute kernel
    コマンドを次のように指定します。
    curl -u username:password http://<NSIP>:9080/nitro/v1/config/ -X POST --data 'object={"routerDynamicRouting": {"bgpRouter" : {"localAS":100, "neighbor": [{ "address": "172.17.0.2", "remoteAS": 101}], "afParams":{"addressFamily": "ipv4", "redistribute": {"protocol": "kernel"}}}}}'
  9. 次の NITRO コマンドを使用して、学習した BGP ルートを PE にインストールします。
    curl -u username:password http://<NSIP>:9080/nitro/v1/config/ --data 'object={"params":{"action":"apply"},"routerDynamicRouting": {"commandstring" : "ns route-install bgp"}}'
  10. 次の NITRO コマンドを使用して、BGP 隣接状態を確認します。
    curl -u username:password http://<NSIP>:9080/nitro/v1/config/routerDynamicRouting/bgpRouter
    出力例:
    root@ubuntu:~# curl -u username:password http://172.17.0.3:9080/nitro/v1/config/routerDynamicRouting/bgpRouter
    { "errorcode": 0, "message": "Done", "severity": "NONE", "routerDynamicRouting":{"bgpRouter":[{ "localAS": 100, "routerId": "172.17.0.3", "afParams": [ { "addressFamily": "ipv4" }, { "addressFamily": "ipv6" } ], "neighbor": [ { "address": "172.17.0.2", "remoteAS": 101, "ASOriginationInterval": 15, "advertisementInterval": 30, "holdTimer": 90, "keepaliveTimer": 30, "state": "Connect", "singlehopBfd": false, "multihopBfd": false, "afParams": [ { "addressFamily": "ipv4", "activate": true }, { "addressFamily": "ipv6", "activate": false } ]
  11. 次のコマンドを使用して、BGP を介して学習されたルートがパケットエンジンにインストールされていることを確認します。
    cli_script.sh “show route”
  12. 次のコマンドを使用して構成を保存します。
    cli_script.sh “save config”
動的ルーティング構成は、/nsconfig/ZebOS.conf ファイルに保存されます。