Citrix ADC

BGP の設定

Citrix ADCアプライアンスはBGP(RFC 4271)をサポートしています。Citrix ADCでのBGPの機能は次のとおりです。

  • Citrix ADCはBGPピアにルートをアドバタイズします。
  • Citrix ADCは、基盤となる仮想サーバーの正常性によって決定される仮想IPアドレス(VIP)にホストルートを挿入します。
  • Citrix ADCは、HA構成でのフェイルオーバー後、セカンダリノードでBGPを実行するための構成ファイルを生成します。
  • このプロトコルは IPv6 ルート交換をサポートします。
  • ボーダーゲートウェイプロトコルの As-Override サポート

BGP を有効にしたら、BGP ルートのアドバタイズメントを設定する必要があります。トラブルシューティングのために、BGP 伝播を制限できます。BGP 設定を表示して、設定を確認できます。

IPv6 BGP の前提条件

IPv6 BGP の設定を開始する前に、次の操作を行います。

  • IPv6 BGP プロトコルを理解していることを確認します。
  • IPv6 機能を有効にします。

BGP の有効化と無効化

BGP を有効または無効にするには、CLI または GUI を使用する必要があります。BGPが有効になると、Citrix ADCアプライアンスはBGPプロセスを開始します。BGP が無効になっている場合、アプライアンスは BGP プロセスを停止します。

CLI を使用して BGP ルーティングを有効または無効にするには、次の手順を実行します。

コマンドプロンプトで、次のコマンドのいずれかを入力します。

  • ns 機能 BGP を有効にする

  • ns 機能 BGP を無効にする

GUI を使用して BGP ルーティングを有効または無効にするには

  1. [システム] > [設定] に移動し、[モードと機能] グループで [詳細機能の変更] をクリックします。
  2. [BGP ルーティング] オプションをオンまたはオフにします。

IPv4 ルートの宣伝

Citrix ADCアプライアンスは、ホストルートをVIPにアドバタイズし、ルートをダウンストリームネットワークにアドバタイズするように構成できます。

VTYSH コマンドラインを使用して IPv4 ルートをアドバタイズするように BGP を設定するには、次の手順を実行します。

コマンドプロンプトで、次のコマンドを次の順序で入力します。

コマンド Specifies
VTYSH VTYSH コマンドプロンプトを表示します。
端末の設定 グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。< ASnumber>は必須パラメータです。指定可能な値:1 から 4,294,967,295 です。
< IPv4 address>ネイバーリモート AS < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーのリンクローカル IPv4 アドレスで更新します。
アドレスファミリ ipv4 アドレスファミリ構成モードを開始します。
< IPv4 address>近隣アクティブ化 リンクローカルアドレスを使用して、ピアとローカルノード間で IPv4 ルータファミリのプレフィクスを交換します。
カーネルの再配布 カーネルルートを再配布する。
静的な再配布 スタティックルートを再配布します。

例:


>VTYSH
NS# configure terminal
NS(config)# router BGP 5
NS(config-router)# Neighbor 10.102.29.170 remote-as 100
NS(config-router)# Address-family ipv4
NS(config-router-af)# Neighbor 10.102.29.170 activate
NS(config-router)# redistribute kernel
NS(config-router)# redistribute static
<!--NeedCopy-->

IPv6 BGP の前提条件

IPv6 BGP の設定を開始する前に、次の操作を行います。

  • IPv6 BGP プロトコルを理解していることを確認します。
  • IPv6 機能を有効にします。

IPv6 BGP ルートの宣伝

Border Gateway Protocol (BGP)を使用すると、アップストリームルーターは、2つのスタンドアロンのCitrix ADCアプライアンスでホストされている2つの同一の仮想サーバー間でトラフィックの負荷を分散できます。ルートアドバタイズにより、アップストリームルーターはCitrix ADC 背後に位置するネットワークエンティティを追跡できます。

VTYSH コマンドラインを使用して IPv6 ルートをアドバタイズするように BGP を設定するには、次の手順を実行します。

コマンドプロンプトで、次のコマンドを次の順序で入力します。

コマンド Specifies
VTYSH VTYSH コマンドプロンプトを表示します。
端末の設定 グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。< ASnumber>は必須パラメータです。指定可能な値:1 から 4,294,967,295 です。
< IPv6 address>ネイバーリモート AS < as-number> IPv6 BGP ネイバーテーブルを、指定した自律システム内のネイバーのリンクローカル IPv6 アドレスで更新します。
アドレスファミリ ipv6 アドレスファミリ構成モードを開始します。
< IPv6 address>近隣アクティブ化 リンクローカルアドレスを使用して、ピアとローカルノード間で IPv6 ルーターファミリのプレフィクスを交換します。
カーネルの再配布 カーネルルートを再配布する。
静的な再配布 スタティックルートを再配布します。

例:


>VTYSH
NS# configure terminal
NS(config)# router BGP 5
NS(config-router)# Neighbor a1bc::102 remote-as 100
NS(config-router)# Address-family ipv6
NS(config-router-af)# Neighbor a1bc::102 activate
NS(config-router)# redistribute kernel
NS(config-router)# redistribute static
<!--NeedCopy-->

BGP 設定の確認

VTYSH を使用して BGP 設定を表示できます。

VTYSH コマンドラインを使用して BGP 設定を表示するには

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

VTYSH
You are now in the VTYSH command prompt. An output similar to the following appears:
NS170#
At the VTYSH command prompt, type:
NS170# sh ip BGP
NS170# sh BGP
NS170# sh ip BGP neighbors
NS170# sh ip BGP summary
NS170# sh ip BGP route-map <map-tag>
<!--NeedCopy-->

ボーダーゲートウェイプロトコルの As-Override サポート

BGP ループ防止機能の一部として、自律システム(AS)パスでルータの自律システム番号(ASN)を含む BGP パケットをルータが受信すると、ルータはそのパケットをドロップします。パケットはルータから発信され、発信元の場所に到達したと想定されます。

企業に同じ ASN を持つサイトが複数ある場合、BGP ループ防止により、同じ ASN を持つサイトは別の ASN によってリンクされません。ルーティングアップデート(BGP パケット)は、別のサイトが受信するとドロップされます。

この問題を解決するために、Citrix ADC ZeboS BGPルーティングモジュールにBGP AS-Override機能が追加されました。

ピアデバイスでAS-Overrideが有効になっている場合、Citrix ADCアプライアンスがピアに転送するBGPパケットを受信し、パケットのASNがピアのASNと一致すると、アプライアンスはBGPパケットのASNを独自のASN番号に置き換えてからパケットを転送します。

VTYSH コマンドラインを使用して、特定のネイバーまたはネイバーのグループ(ピアグループ)に対して AS オーバーライドを有効にできます。

VTYSH コマンドラインを使用して IPv4 ネイバーの BGP AS オーバーライドを設定するには、次の手順を実行します。

コマンド Specifies
端末の設定 グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。< ASnumber>は必須パラメータです。
ネイバーリモート < IPv4 address> AS < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
ネイバーとしてオーバーライド <IPv4 address> 指定したネイバーの BGP as-override を有効にします。
    > VTYSH NS# configure terminal
    NS(config)# router BGP 200
    NS(config-router)# Neighbor 192.0.2.100 remote-as 100
    NS(config-router)# Neighbor 10.102.29.100 as-override
<!--NeedCopy-->

VTYSH コマンドラインを使用して IPv4 BGP ピアグループの BGP AS オーバーライドを設定するには、次の手順を実行します。

コマンド Specifies
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。< ASnumber>は必須パラメータです。
**ネイバーピアグループ**<peer group name> BGP ピアグループを作成します。
**ネイバー・ピア・グループ** <IPv4 address><peer group name> ネイバーを指定されたピアグループに関連付けます。
ネイバーリモート <peer group name>AS < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
ネイバーとしてオーバーライド <peer group name> 指定したピアグループに関連付けられているすべてのネイバーに対して、BGP as-override を有効にします。
    > VTYSH NS# configure terminal
    NS(config)# router BGP 200
    NS(config-router)# neighbor external-peers-1 peer-group
    NS(config-router)# neighbor 192.0.2.101 peer-group external-peers-1
    NS(config-router)# neighbor 192.0.2.102 peer-group external-peers-1
    NS(config-router)# neighbor 192.0.2.103 peer-group external-peers-1
    NS(config-router)# Neighbor external-peers-1 remote-as 100
    NS(config-router)# Neighbor external-peers-1 as-override
<!--NeedCopy-->

VTYSH コマンドラインを使用して IPv6 ネイバーの BGP AS オーバーライドを設定するには、次の手順を実行します。

コマンド Specifies
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。< ASnumber>は必須パラメータです。
ネイバーリモート < IPv6 address> AS < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
ネイバーとしてオーバーライド <IPv6 address> 指定したネイバーの BGP as-override を有効にします。
アドレスファミリ ipv6 アドレスファミリ構成モードを開始します。
近隣アクティブ化 < IPv6 address> リンクローカルアドレスを使用して、指定されたネイバーとCitrix ADCとの間で、IPv6ルーターファミリのプレフィックスを交換します。
ネイバーとしてオーバーライド <IPv6 address> 指定したネイバーの BGP as-override を有効にします。
    > VTYSH NS# configure terminal
    NS(config)# router BGP 200
    NS(config-router)# Neighbor a1bc::102 remote-as 100
    NS(config-router)# Neighbor a1bc::102 as-override
    NS(config-router)# Address-family ipv6
    NS(config-router-af)# Neighbor a1bc::102 activate
    NS(config-router)# Neighbor a1bc::102 as-override
<!--NeedCopy-->

VTYSH コマンドラインを使用して IPv6 ピアグループの BGP AS オーバーライドを設定するには、次の手順を実行します。

コマンド Specifies
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。< ASnumber>は必須パラメータです。
**ネイバーピアグループ**<peer group name> BGP ピアグループを作成します。
**ネイバーピアグループ** <IPv6 address><peer group name> ネイバーを指定されたピアグループに関連付けます。
ネイバーリモート <peer group name>AS < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
ネイバーとしてオーバーライド <peer group name> 指定したピアグループに関連付けられているすべてのネイバーに対して、BGP as-override を有効にします。
アドレスファミリ ipv6 アドレスファミリ構成モードを開始します。
近隣アクティブ化 <peer group name> リンクローカルアドレスを使用して、指定されたピアグループのネイバーとCitrix ADC 間でIPv6ルーターファミリのプレフィックスを交換します。
ネイバーとしてオーバーライド <peer group name> 指定したピアグループに関連付けられているすべてのネイバーに対して、BGP as-override を有効にします。
    > VTYSH NS# configure terminal
    NS(config)# router BGP 200
    NS(config-router)# neighbor external-peers-2 peer-group
    NS(config-router)# neighbor 2001::1 peer-group external-peers-2
    NS(config-router)# neighbor 2001::2 peer-group external-peers-2
    NS(config-router)# Neighbor external-peers-2 remote-as 100
    NS(config-router)# Neighbor external-peers-2 as-override
    NS(config-router)# Address-family ipv6
    NS(config-router-af)# Neighbor external-peers-2 activate
    NS(config-router)# Neighbor external-peers-2 as-override
<!--NeedCopy-->

グレースフルリスタート

ルーティングプロトコルが設定されている INC 以外の High Availability(HA; 高可用性)設定では、フェールオーバー後にルーティングプロトコルがコンバージされ、新しいプライマリノードと隣接ネイバールータ間のルートが学習されます。ルート学習が完了するまでに時間がかかります。この間、パケットの転送が遅れ、ネットワークパフォーマンスが低下し、パケットがドロップされる可能性があります。

グレースフルリスタートにより、フェールオーバー中の HA セットアップによって、古いプライマリノードの学習済みルートがルーティングデータベースから削除されないように隣接ルータに指示できます。新しいプライマリノードと隣接ルータは、古いプライマリノードのルーティング情報を使用して、ネットワークパフォーマンスを低下させることなく、直ちにパケットの転送を開始します。

注:

INC モードの高可用性セットアップでは、グレースフルリスタートはサポートされていません。

BGP のグレースフルリスタートの設定

VTYSH コマンドラインを使用して BGP のグレースフルリスタートを設定するには、コマンドプロンプトで次のコマンドを次の順序で入力します。

コマンド コマンドの説明
VTYSH VTYSH VTYSH コマンドプロンプトに入ります。
configure terminal NS# ターミナルを設定 グローバル構成モードを開始します。
router-id <ID> NS (構成) # ルータ ID 1.1.1.1 Citrix ADCアプライアンスのルーター識別子。この ID は、すべてのダイナミックルーティングプロトコルに対して設定されます。グレースフルリスタートを正しく機能させるには、高可用性セットアップの他のノードに同じ ID を指定する必要があります。
router bgp <AS-number> NS(config)# router bgp 5 BGP 構成モードを開始します。
bgp graceful-restart NS(config)# bgp graceful-restart BGP ルーティングプロセスでグレースフルリスタートを有効にします。
bgp graceful-restart restart-time <1-1800> NS(config-router)# bgp graceful-restart restart-time 170 フェールオーバー後、ヘルパールータが新しいプライマリノードからの TCP 接続を待機する猶予期間を秒単位で指定します。この時間の間、ヘルパールーターはルートを保持します。
bgp graceful-restart stalepath-time <1-1800> NS(config-router)# bgp graceful-restart stalepath-time 180 ヘルパーモードのCitrix ADCアプライアンスがネイバールーターを再起動するための古いルートを保持する時間を秒単位で指定します。デフォルト値は 360 秒です。
neighbor <IPv4 address of the peer router> remote-as <AS-number> NS(config-router)# neighbor 192.0.2.30 remote-as 2 指定されたネイバールータデバイスとの BGP ピアリングを確立します。
neighbor <IPv4 address of the peer router> capability graceful-restart NS(config-router)# neighbor 192.0.2.30 capability graceful-restart 指定したネイバーとのグレースフルリスタートを有効にします。
カーネルの再配布 NS (config-router) # カーネルの再配布 カーネルルートを再配布します。

IPv6 BGP のグレースフルリスタートの設定

VTYSH コマンドラインを使用して IPv6 BGP のグレースフルリスタートを設定するには、コマンドプロンプトで次のコマンドを次の順序で入力します。

コマンド コマンドの説明
VTYSH VTYSH VTYSH コマンドプロンプトに入ります。
configure terminal NS# configure terminal グローバル構成モードを開始します。
ルータ ID <id> NS(config)# router-id 1.1.1.1 Citrix ADCアプライアンスのルーター識別子を設定します。この ID は、すべてのダイナミックルーティングプロトコルに対して設定されます。グレースフルリスタートを正しく機能させるには、高可用性セットアップの他のノードに同じ ID を指定する必要があります。
router bgp <AS-number> NS(config)# router bgp 5 BGP プロトコルの構成モードを開始します。
bgp graceful-restart NS(config)# bgp graceful-restart BGP ルーティングプロセスでグレースフルリスタートを有効にします。
bgp graceful-restart restart-time <1-1800> NS(config-router)# bgp graceful-restart restart-time 170 フェールオーバー後、ヘルパールータが新しいプライマリノードからの TCP 接続を待機する猶予期間を秒単位で指定します。この時間の間、ヘルパールーターはルートを保持します。デフォルト値は 360 秒です。
bgp graceful-restart stalepath-time <1-1800> NS(config-router)# bgp graceful-restart stalepath-time 180 ヘルパーモードのCitrix ADCアプライアンスがネイバールーターを再起動するための古いルートを保持する時間を秒単位で指定します。デフォルト値は 360 秒です。
neighbor <IPv6 address> remote-as <AS-number> NS(config-router)# neighbor 2001:db8::10 remote-as 2 指定されたネイバールータデバイスとの BGP ピアリングを確立します。
address-family ipv6 NS(config-router)#address-family ipv6 アドレスファミリ構成モードを開始します。
neighbor <IPv6 address of the neighbor> activate NS(config-router-af)#neighbor 2001:db8::10 activate 指定したネイバールータデバイスとのアドレスファミリルートの交換を有効にします。
neighbor <IPv6 address of the neighbor> capability graceful-restart NS(config-router-af)#neighbor 2001:db8::10 capability graceful-restart Enables graceful restart with the specified neighbor router device.
redistribute kernel NS(config-router-af)#redistribute kernel カーネルルートを再配布します。
exit-address-family NS(config-router-af)#exit-address-family アドレスファミリ構成モードを終了します。

IPv4 BGP 用の MD5 認証の設定

Citrix ADCアプライアンスは、Border Gateway Protocol (BGP)のMD5認証をサポートしています。認証を有効にすると、Citrix ADCアプライアンスとそのピアデバイス間で交換されるBGPに属するTCPセグメントは、認証が成功した場合にのみ検証され、受け入れられます。認証を成功させるには、両方のピアに同じ MD5 パスワードを設定する必要があります。認証に失敗すると、BGP ネイバー関係は確立されません。Citrix ADCアプライアンスでのBGPに対するMD5認証のサポートは、RFC 2385に準拠しています。

はじめに

BGP MD5 認証の設定を開始する前に、次の点を考慮してください。

  • RFC 2385 で説明されている BGP MD5 認証のさまざまなコンポーネントを理解していることを確認します。
  • BGP MD5 認証は、Citrix ADC 管理パーティションではサポートされていません。
  • BGP MD5 認証は IPv6 BGP 構成ではサポートされていません。
  • BGP MD5 認証は、Citrix ADC クラスター構成と高可用性構成でサポートされています。
  • FreeBSD には次のような問題があるため、レイヤ 2 の高可用性構成では、キープライブとホールドタイムの値を低く設定し(5 と 15 など)、BGP セッションのグレースフルリスタートを構成することをお勧めします。そうしないと、MD5 認証を有効にすると、フェールオーバー後に BGP がネイバーとの接続を再確立するのに時間がかかることがあります。

IPv4 BGP 用の MD5 認証の設定

VTYSH コマンドラインを使用して IPv4 BGP の MD5 認証を設定するには、コマンドプロンプトで次のコマンドを次の順序で入力します。

コマンド Specifies
vtysh VTYSH コマンドプロンプトを表示します。
configure terminal グローバル構成モードを開始します。
router bgp <AS-number> BGP プロトコルの構成モードを開始します。<AS-number>は BGP 自律システム番号で、は必須パラメータです。
neighbor <neighbour IPv4 address> remote-as < AS-number > IPv4 BGP テーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
neighbor < neighbour IPv4 address > password < password in double quotes> 指定された MD5 パスワードを使用して、指定されたネイバーの MD5 認証を設定します。MD5認証を正常に実行するには、Citrix ADCアプライアンスとネイバーアプライアンスで同じMD5パスワードを構成する必要があります。
> vtysh

ns# configure terminal

ns(config)#router bgp 5

ns(config-router)#neighbor 20.20.20.138 remote-as 1

ns(config-router)#neighbor 20.20.20.138 password “secret”

ns(config-router)#redistribute kernel

ns(config-router)#exit

<!--NeedCopy-->