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 Support in Border Gateway Protocol

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

IPv6 BGP の前提条件

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

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

BGP の有効化および無効化

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

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

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

  • enable ns feature BGP

  • disable ns feature BGP

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

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

IPv4 ルートのアドバタイズ

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

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

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

コマンド 指定します
VTYSH VTYSH コマンドプロンプトを表示します。
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。 < ASnumber>は必須パラメータです。使用できる値は、1 ~ 4,294,967,295 です。
Neighbor < IPv4 address> remote-as < as-number> IPv4 BGP ネイバーテーブルを、指定された自律システム内のネイバーのリンクローカル IPv4 アドレスで更新します。
アドレスファミリ ipv4 アドレスファミリ構成モードを開始します。
Neighbor < IPv4 address> activate リンクローカルアドレスを使用して、ピアとローカルノード間の IPv4 ルータファミリのプレフィクスを交換します。
redistribute kernel カーネルルートを再配布します。
redistribute static スタティックルートを再配布します。

例:


>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

IPv6 BGP の前提条件

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

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

IPv6 BGP ルートのアドバタイズ

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

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

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

コマンド 指定します
VTYSH VTYSH コマンドプロンプトを表示します。
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。 < ASnumber>は必須パラメータです。使用できる値は、1 ~ 4,294,967,295 です。
Neighbor < IPv6 address> remote-as < as-number> 指定した自律システム内のネイバーのリンクローカル IPv6 アドレスで IPv6 BGP ネイバーテーブルを更新します。
Address-family ipv6 アドレスファミリ構成モードを開始します。
Neighbor < IPv6 address> activate リンクローカルアドレスを使用して、ピアとローカルノード間の IPv6 ルータファミリのプレフィクスを交換します。
redistribute kernel カーネルルートを再配布します。
redistribute static スタティックルートを再配布します。

例:


>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

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>

As-Override Support in Border Gateway Protocol

BGP ループ防止機能の一部として、ルータが Autonomous Systems(AS; 自律システム)パスにルータの Autonomous System Number(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-Override を有効にできます。

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

コマンド 指定します
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。 < ASnumber>は必須パラメータです。
Neighbor < IPv4 address> remote-as < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
Neighbor <IPv4 address> as-override 指定されたネイバーに対して 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

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

コマンド 指定します
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。 < ASnumber>は必須パラメータです。
Neighbor <peer group name> peer-group BGP ピアグループを作成します。
Neighbot <IPv4 address> peer-group <peer group name> ネイバーを指定したピアグループに関連付けます。
Neighbor <peer group name> remote-as < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
Neighbor <peer group name> as-override 指定されたピアグループに関連付けられているすべてのネイバーの 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

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

コマンド 指定します
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。 < ASnumber>は必須パラメータです。
Neighbor < IPv6 address> remote-as < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
Neighbor <IPv6 address> as-override 指定されたネイバーに対して BGP as override を有効にします。
Address-family ipv6 アドレスファミリ構成モードを開始します。
Neighbor < IPv6 address> activate リンクローカルアドレスを使用して、指定されたネイバーと Citrix ADC 間の IPv6 ルーターファミリーのプレフィックスを交換します。
Neighbor <IPv6 address> as-override 指定されたネイバーに対して 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

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

コマンド 指定します
configure terminal グローバル構成モードを開始します。
router BGP < ASnumber> BGP 自律システム。 < ASnumber>は必須パラメータです。
Neighbor <peer group name> peer-group BGP ピアグループを作成します。
Neighbor <IPv6 address> peer-group <peer group name> ネイバーを指定したピアグループに関連付けます。
Neighbor <peer group name> remote-as < as-number> IPv4 BGP ネイバーテーブルを、指定した自律システム内のネイバーの IPv4 アドレスで更新します。
Neighbor <peer group name> as-override 指定されたピアグループに関連付けられているすべてのネイバーの BGP as-override を有効にします。
Address-family ipv6 アドレスファミリ構成モードを開始します。
Neighbor <peer group name> activate リンクローカルアドレスを使用して、指定されたピアグループのネイバーと Citrix ADC 間で IPv6 ルーターファミリーのプレフィックスを交換します。
Neighbor <peer group name> as-override 指定されたピアグループに関連付けられているすべてのネイバーの 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

正常な再起動

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

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

BGP の正常な再起動の設定

VTYSH コマンドラインを使用して BGP の正常な再起動を設定するには、コマンドプロンプトで次のコマンドを次の順序で入力します。

コマンド コマンドの説明
VTYSH VTYSH VTYSH コマンドプロンプトを入力します。
configure terminal NS# configure terminal グローバル構成モードを開始します。
router-id <ID> NS(config)# router-id 1.1.1.1 Citrix ADCアプライアンスのルーター識別子。この識別子は、すべてのダイナミックルーティングプロトコルに対して設定されます。正常な再起動が正常に動作するには、高可用性セットアップのもう一方のノードで同じ識別子を指定する必要があります。
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 指定されたネイバーとの正常な再起動を有効にします。
redistribute kernel NS(config-router)# redistribute kernel カーネルルートを再配布します。

IPv6 BGP の正常な再起動の設定

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

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

VTYSH コマンドラインを使用して IPv6 BGP の正常な再起動を設定するには、コマンドプロンプトで次のコマンドを次の順序で入力します。

コマンド コマンドの説明
VTYSH VTYSH VTYSH コマンドプロンプトを入力します。
configure terminal NS# configure terminal グローバル構成モードを開始します。
router-id <id> NS(config)# router-id 1.1.1.1 Citrix ADCアプライアンスのルーター識別子を設定します。この識別子は、すべてのダイナミックルーティングプロトコルに対して設定されます。正常な再起動が正常に動作するには、高可用性セットアップのもう一方のノードで同じ 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 指定されたネイバールータデバイスとの正常な再起動を有効にします。
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では以下の問題があるため、キープライブとホールドタイムの値を低く設定し(5と15など)、レイヤー2の高可用性構成でBGPセッションの正常な再起動を構成することをお勧めします。そうしないと、MD5 認証を有効にすると、フェールオーバー後のネイバーとの接続を再確立するために BGP に時間がかかる場合があります。

IPv4 BGP 用の MD5 認証の設定

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

コマンド 指定します
vtysh VTYSH コマンドプロンプトを表示します。
configure terminal グローバル構成モードを開始します。
ルーターBGP < AS番号> BGP プロトコルの構成モードを開始します。 <AS-number>は BGP 自律システム番号で、必須パラメータです。
neighbor <neighbour IPv4 address> remote-as < AS-number > 指定した自律システム内のネイバーの IPv4 アドレスで IPv4 BGP テーブルを更新します。
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