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 ルーティングを有効または無効にするには、次の手順を実行します。
- [システム] > [設定] に移動し、[モードと機能] で [高度な機能の変更] をクリックします。
- [BGP ルーティング] オプションを選択または選択解除します。
IPv4 ルートのアドバタイズ
Citrix ADCアプライアンスは、ホストルートをVIPにアドバタイズし、ルートをダウンストリームネットワークにアドバタイズするように構成できます。
VTYSH コマンドラインを使用して IPv4 ルートをアドバタイズするように BGP を設定するには、次の手順を実行します。
コマンドプロンプトで、次のコマンドを次の順序で入力します。
コマンド | 指定内容 |
---|---|
VTYSH | VTYSH コマンドプロンプトを表示します。 |
configure terminal | グローバル構成モードを開始します。 |
router BGP < ASnumber> | BGP 自律システム。 < ASnumber>は必須パラメータです。使用できる値は、1 ~ 4,294,967,295 です。 |
ネイバー < as-number> < IPv4 address> リモート | 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 を有効にします。 |
アドレスファミリ 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 に時間がかかる場合があります。
- FreeBSD からの最後の ACK には md5 ダイジェストが含まれていません:
IPv4 BGP 用の MD5 認証の設定
VTYSH コマンドラインを使用して IPv4 BGP の MD5 認証を設定するには、コマンドプロンプトで次のコマンドを次の順序で入力します。
コマンド | 指定内容 |
---|---|
vtysh | VTYSH コマンドプロンプトを表示します。 |
configure terminal | グローバル構成モードを開始します。 |
router bgp <AS-number> | 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