拡張 BGP の概要
BGP は、組織または自律システム間のループフリー ルーティングを実現する、ドメイン間ルーティング プロトコルです。Cisco NX-OS は BGP バージョン 4 をサポートします。BGP v4 に組み込まれているマルチプロトコル拡張機能を使用すると、IP マルチキャスト ルートおよび複数のレイヤ 3 プロトコル アドレス ファミリに関するルーティング情報を BGP に伝送させることができます。BGP では、他の BGP 対応デバイス(BGP ピア)との間で TCP セッションを確立するために、信頼できるトランスポート プロトコルとして TCP を使用します。外部組織に接続するときには、ルータが外部 BGP(eBGP)ピアリング セッションを作成します。同じ組織内の BGP ピアは、内部 BGP(iBGP)ピアリング セッションを通じて、ルーティング情報を交換します。
この項では、次のトピックについて取り上げます。
• 「ピア テンプレート」
• 「認証」
• 「ルート ポリシーおよび BGP セッションのリセット」
• 「eBGP」
• 「iBGP」
• 「機能ネゴシエーション」
• 「ルート ダンプニング」
• 「ロード シェアリングおよびマルチパス」
• 「BGP の追加パス」
• 「ルート集約」
• 「BGP 条件付きアドバタイズメント」
• 「BGP ネクストホップ アドレス トラッキング」
• 「ルートの再配布」
• 「BFD」
• 「BGP の調整」
• 「マルチプロトコル BGP」
• 「グレースフル リスタートおよびハイ アベイラビリティ」
• 「ISSU」
• 「仮想化のサポート」
ピア テンプレート
BGP ピア テンプレートを使用すると、共通のコンフィギュレーション ブロックを作成し、類似している BGP ピア間で再利用できます。各ブロックでは、ピアに継承させる一連の属性を定義できます。継承した属性の一部を上書きすることもできるので、非常に柔軟性のある方法で、繰り返しの多い BGP の設定を簡素化できます。
Cisco NX-OS は、3 種類のピア テンプレートを実装します。
• peer-session テンプレートでは、トランスポートの詳細、ピアのリモート自律システム番号、セッション タイマーといった BGP セッション属性を定義します。peer-session テンプレートは、別の peer-session テンプレートから属性を継承することもできます(ローカル定義の属性によって、継承した peer-session 属性は上書きされます)。
• peer-policy テンプレートでは、着信ポリシー、発信ポリシー、フィルタ リスト、プレフィックス リストを含め、アドレス ファミリに依存する、ピアのポリシー要素を定義します。peer-policy テンプレートは、一連の peer-policy テンプレートからの継承が可能です。Cisco NX-OS は、継承設定のプリファレンス値で指定された順序で、これらの peer-policy テンプレートを評価します。最小値が大きい値よりも優先されます。
• peer テンプレートは、peer-session および peer-policy テンプレートからの継承が可能であり、ピアの定義を簡素化できます。peer テンプレートの使用は必須ではありませんが、peer テンプレートによって再利用可能なコンフィギュレーション ブロックが得られるので、BGP の設定を簡素化できます。
認証
BGP ネイバー セッションに認証を設定できます。この認証方式によって、ネイバーに送られる各 TCP セグメントに MD5 認証ダイジェストが追加され、不正なメッセージや TCP セキュリティ アタックから BGP が保護されます。
(注) BGP ピア間で MD5 パスワードを一致させる必要があります。
ルート ポリシーおよび BGP セッションのリセット
BGP ピアにルート ポリシーを関連付けることができます。ルート ポリシーではルート マップを使用して、BGP が認識するルートを制御または変更します。着信または発信ルート アップデートに関するルート ポリシーを設定できます。ルート ポリシーはプレフィックス、AS_path 属性など、さまざまな条件で一致が必要であり、ルートを選択して受け付けるかまたは拒否します。ルート ポリシーでパス属性を変更することもできます。ルート ポリシーの詳細については、「ポリシーベース ルーティングの設定」を参照してください。
BGP ピアに適用するルート ポリシーを変更する場合は、そのピアの BGP セッションをリセットする必要があります。Cisco NX-OS は、BGP ピアリング セッションのリセット方法として、次の 3 種類をサポートします。
• ハード リセット:ハード リセットでは、指定されたピアリング セッションが TCP 接続を含めて切断され、指定のピアからのルートが削除されます。このオプションを使用すると、BGP ネットワーク上のパケット フローが中断します。ハード リセットは、デフォルトでディセーブルです。
• ソフト再構成着信:ソフト再構成着信によって、セッションをリセットすることなく、指定されたピアのルーティング アップデートが開始されます。このオプションを使用できるのは、着信ルート ポリシーを変更する場合です。ソフト再構成着信の場合、ピアから受け取ったすべてのルートのコピーを保存した後で、着信ルート ポリシーを介してルートが処理されます。着信ルート ポリシーをする場合、Cisco NX-OS は変更された着信ルート ポリシーを介して保存ルートを渡し、既存のピアリング セッションを切断することなく、ルート テーブルをアップデートします。ソフト再構成着信の場合、まだフィルタリングされていない BGP ルートの保存に、大量のメモリ リソースを使用する可能性があります。ソフト再構成着信は、デフォルトでディセーブルです。
• ルート リフレッシュ:ルート リフレッシュでは、着信ルート ポリシーの変更時に、サポートするピアにルート リフレッシュ要求を送信することによって、着信ルーティング テーブルがダイナミックにアップデートされます。リモート BGP ピアは新しいルート コピーで応答し、ローカル BGP スピーカが変更されたルート ポリシーでそれを処理します。Cisco NX-OS はピアに、プレフィックスの発信ルート リフレッシュを自動的に送信します。
• BGP ピアは、BGP ピア セッションの確立時に、BGP 機能ネゴシエーションの一部として、ルート リフレッシュ機能をアドバタイズします。ルート リフレッシュは優先オプションであり、デフォルトでイネーブルです。
(注) BGP はさらに、ルート再配布、ルート集約、ルート ダンプニングなどの機能にルート マップを使用します。ルート マップの詳細については、「Route Policy Manager の設定」を参照してください。
eBGP
eBGP を使用すると、異なる自律システムからの BGP ピアを接続し、ルーティング アップデートを交換できます。外部ネットワークへの接続によって、自分のネットワークから他のネットワークへ、またインターネットを介して、トラフィックを転送できます。
eBGP ピアリング セッションの確立には、ループバック インターフェイスを使用します。ループバック インターフェイスは、インターフェイス フラップが発生する可能性が小さいからです。インターフェイス フラップが発生するのは、障害またはメンテナンスが原因で、インターフェイスが管理上アップまたはダウンになったときです。マルチホップ、高速外部フォールオーバー、AS_path 属性のサイズ制限については、「eBGP の設定」を参照してください。
iBGP
iBGP を使用すると、同じ自律システム内の BGP ピアを接続できます。iBGP はマルチホーム BGP ネットワーク(同じ外部自律システムに対して複数の接続があるネットワーク)に使用できます。
図 11-1 に、規模の大きい BGP ネットワークの中の iBGP ネットワークを示します。
図 11-1 iBGP ネットワーク
iBGP ネットワークはフルメッシュです。各 iBGP ピアは、ネットワーク ループを防止するために、他のすべての iBGP ピアに対して直接接続されています。
ネイバー コンフィギュレーション モードで update-source が設定された単一ホップ iBGP ピアでは、ピアは高速外部フェールオーバーをサポートします。
(注) iBGP ネットワークでは別個のインテリア ゲートウェイ プロトコルを設定する必要があります。
この項では、次のトピックについて取り上げます。
• 「AS 連合」
• 「ルート リフレクタ」
AS 連合
フルメッシュの iBGP ネットワークは、iBGP ピア数が増えるにしたがって複雑になります。自律システムを複数のサブ自律システムに分割し、それを 1 つの連合としてまとめることによって、iBGP メッシュを緩和できます。連合は、同じ自律システム番号を使用して外部ネットワークと通信する、iBGP ピアからなるグループです。各サブ AS はその中ではフルメッシュであり、同じ連合内の他のサブ AS に対する少数の接続があります。
図 11-2 に、図 11-1 の BGP ネットワークを 2 つのサブ AS に分割し、1 つの連合にしたものを示します。
図 11-2 AS 連合
この例では、AS10 が 2 つの AS(AS1 および AS2)に分割されています。各サブ AS はフルメッシュですが、サブ AS 間のリンクは 1 つだけです。AS 連合を使用することによって、図 11-1 のフルメッシュ自律システムに比べて、リンク数を少なくできます。
ルート リフレクタ
すべての iBGP ピアが完全に一致する必要がないように、ルート リフレクタが学習したルートをネイバーに渡すルート リフレクタ構成を使用することによって、iBGP メッシュを削減できます。
図 11-1 に、メッシュの iBGP スピーカを 4 つ(ルータ A、B、C、D)使用する、単純な iBGP 構成を示します。ルート リフレクタを使用しなかった場合、外部ネイバーからルートを受け取ったルータ A は、3 つの iBGP ネイバーのすべてにルートをアドバタイズします。
ある iBGP ピアをルート リフレクタとして設定すると、そのピアが iBGP で学習したルートを一連の iBGP ネイバーに渡す役割を担います。
図 11-3 では、ルータ B がルート リフレクタです。ルータ A からアドバタイズされたルートを受信したルート リフレクタは、そのルートをルータ C および D にアドバタイズ(リフレクション)します。ルータ A からルータ C および D の両方にアドバタイズする必要がなくなります。
図 11-3 ルート リフレクタ
ルート リフレクタおよびそのクライアント ピアは、クラスタを形成します。ルート リフレクタのクライアント ピアとして動作するように、すべての iBGP ピアを設定する必要はありません。ただし、完全な BGP アップデートがすべてのピアに届くように、非クライアント ピアはフルメッシュとして設定する必要があります。
機能ネゴシエーション
BGP スピーカは機能ネゴシエーション機能を使用することによって、ピアがサポートする BGP 拡張機能について学習できます。機能ネゴシエーションによって、リンクの両側の BGP ピアがサポートする機能セットだけを BGP に使用させることができます。
BGP ピアが機能ネゴシエーションをサポートしない場合で、なおかつアドレス ファミリが IPv4 として設定されている場合、Cisco NX-OS は機能ネゴシエーションを行わずに、ピアとの新規セッションを試みます。他のマルチプロトコル設定(IPv6 など)の場合は、機能ネゴシエーションが不可欠です。
ルート ダンプニング
ルート ダンプニングは、インターネットワーク上でのフラッピング ルートの伝搬を最小限に抑える BGP 機能です。ルート フラップが発生するのは、使用可能ステートと使用不能ステートが短時間で次々切り替わる場合です。
AS1、AS2、および AS3 という 3 つの BGP 自律システムからなるネットワークの場合について考えてみます。AS1 のルートがフラップした(使用不能になった)とします。ルート ダンプニングを使用しない場合、AS1 は AS2 に回収メッセージを送信します。AS2 は AS3 にその回収メッセージを伝達します。フラッピング ルートが再び発生すると、AS1 から AS2 にアドバタイズメント メッセージを送信し、AS2 は AS3 にそのアドバタイズメントを送信します。ルートの使用不能と使用可能が繰り返されると、AS1 は多数の回収メッセージおよびアドバタイズメント メッセージを送信することになり、それが他の自律システムに伝播します。
ルート ダンプニングによって、フラッピングを最小限に抑えることができます。ルート フラップが発生したとします。(ルート ダンプニングがイネーブルの)AS2 がルートにペナルティとして 1000 を割り当てます。AS2 は引き続き、ネイバーにルートの状態をアドバタイズします。ルート フラップが発生するたびに、AS2 がペナルティ値を追加します。ルート フラップが頻繁に発生して、ペナルティが設定可能な抑制限度を超えると、AS2 はフラップ回数に関係なく、ルートのアドバタイズを中止します。その結果、ルートが減衰(ダンプニング)します。
ルートに与えられたペナルティは、再使用限度に達するまで減衰します。その時点で、AS2 は再びルートをアドバタイズします。再使用限度が 50% になると、AS2 はそのルートのダンプニング情報を削除します。
(注) ルート ダンプニングがイネーブルの場合は、ピアのリセットによってルートが回収されても、リセット中の BGP にはペナルティは適用されません。
ロード シェアリングおよびマルチパス
BGP はルーティング テーブルに、同じ宛先プレフィックスに到達する複数の等コスト eBGP または iBGP パスを組み込むことができます。その場合、宛先プレフィックスへのトラフィックは、組み込まれたすべてのパス間で共有されます。
BGP ベストパス アルゴリズムでは、次の属性が同じ場合に、等コスト パスと見なされます。
• 重量
• ローカル プリファレンス
• AS_path
• オリジン コード
• Multi-Exit Discriminator(MED)
• BGP ネクスト ホップまでの IGP コスト
6.1 より前の Cisco NX-OS リリースでは、BGP はこれらのマルチパスのうち 1 つだけを最適パスとして選択し、そのパスを BGP ピアにアドバタイズします。Cisco NX-OS Release 6.1 以降では、BGP はプレフィクスごとの複数パスの送受信と、このパスのアドバタイジングをサポートします。詳細については、「BGP の追加パス」を参照してください。
(注) 異なる AS 連合から受け取ったパスは、外部 AS_path 値およびその他の属性が同じ場合に、等コスト パスと見なされます。
(注) iBGP マルチパスに関してルート リフレクタを設定すると、ルート リフレクタが、選択されたベスト パスをピアにアドバタイズします。そのパスのネクスト ホップは変更されません。
BGP の追加パス
6.1 より前の Cisco NX-OS リリースでは、1 つの BGP 最適パスだけがアドバタイズされ、BGP スピーカは特定ピアからの特定プレフィックスの 1 パスだけを受け入れます。BGP スピーカが同じセッション内で同じプレフィックスの複数のパスを受信した場合、最新のアドバタイズメントを使用します。
Cisco NX-OS Release 6.1 以降では、BGP は以前のパスに代わる新しいパスなしで、BGP スピーカが同じプレフィックスに対して複数のパスを伝播し受け入れることを可能にする追加のパス機能をサポートします。この機能は、BGP スピーカのピアが、プレフィックスごとの複数パスのアドバタイズおよび受信をサポートし、また、そのパスのアドバタイズをサポートするかどうかネゴシエートすることを可能にします。特別な 4 バイトのパス ID は、ピア セッションを介して送信される同じプレフィックスに対して複数のパスを区別するため、ネットワーク層到達可能性情報(NLRI)に追加されます。図 11-4 は、BGP パスの追加機能について説明します。
図 11-4 追加パスの機能を持つ BGP ルート アドバタイズメント
BGP 追加パス設定の詳細については、「BGP 追加パスの設定」を参照してください。
ルート集約
集約アドレスを設定できます。ルート集約を使用すると、固有性の強い一連のアドレスをすべての固有アドレスを代表する 1 つのアドレスに置き換えることによって、ルート テーブルを簡素化できます。たとえば、10.1.1.0/24、10.1.2.0/24、および 10.1.3.0/24 という固有性の強い 3 つのアドレスを 1 つの集約アドレス 10.1.0.0/16 に置き換えることができます。
アドバタイズされるルートが少なくなるように、BGP ルート テーブル内には集約プレフィックスが存在します。
(注) Cisco NX-OS は、自動ルート集約をサポートしません。
ルート集約はフォワーディング ループにつながる可能性があります。この問題を回避するために、集約アドレスのアドバタイズメントを生成するときに、BGP はローカル ルーティング テーブルに、その集約アドレスに対応するサマリー廃棄ルートを自動的に組み込みます。BGP はサマリー廃棄のアドミニストレーティブ ディスタンスを 220 に設定し、ルート タイプを廃棄に設定します。BGP はネクストホップ解決に廃棄ルートを使用しません。
BGP 条件付きアドバタイズメント
BGP 条件付きアドバタイズメントを使用すると、プレフィックスが BGP テーブルに存在するかどうかに基づいてルートをアドバタイズまたは撤回するように BGP を設定できます。この機能は、たとえば、BGP でいずれかのプロバイダーにプレフィックスをアドバタイズするようなマルチホーム ネットワーク(他のプロバイダーからの情報が存在しない場合のみ)で便利です。
AS1、AS2、および AS3 という 3 つの BGP 自律システムからなるネットワークの例について考えてみます。この例で、AS1 と AS3 はインターネットと AS2 に接続しています。条件付きアドバタイズメントを使用しない場合、AS2 はすべてのルートを AS1 と AS3 の両方にプロパゲートします。条件付きアドバタイズメントを使用すれば、AS1 からのルートが存在しない場合のみ(たとえば AS1 へのリンクがダウンした場合)、特定のルートを AS3 にアドバタイズするように AS2 を設定できます。
BGP 条件付きアドバタイズメントでは、設定されたルート マップに一致する各ルートに、存在テストまたは非存在テストが追加されます。詳細については、「BGP 条件付きアドバタイズメントの設定」を参照してください。
BGP ネクストホップ アドレス トラッキング
BGP は、インストールされているルートのネクストホップ アドレスをモニタして、ネクストホップの到達可能性の確認、および BGP ベスト パスの選択、インストール、検証を行います。BGP ネクストホップ アドレスのトラッキングを行うと、ネクストホップの到達可能性に影響を及ぼす可能性のあるルート変更がルーティング情報ベース(RIB)で行われたときに確認プロセスをトリガーすることで、このようなネクストホップ到達可能性テストの速度が向上します。
ネクストホップ情報が変更されると、BGP は RIB から通知を受信します(イベント駆動型の通知)。BGP は、次のいずれかのイベントが発生したときに通知を受けます。
• ネクスト ホップが到達不能になった。
• ネクスト ホップが到達可能になった。
• ネクスト ホップへの完全再帰のインテリア ゲートウェイ プロトコル(IGP)メトリックが変更された。
• ファースト ホップの IP アドレスまたはファースト ホップのインターフェイスが変更された。
• ネクスト ホップが接続された。
• ネクスト ホップが接続解除された。
• ネクストホップがローカル アドレスになった。
• ネクスト ホップが非ローカル アドレスになった。
(注) 到達可能性および再帰メトリック イベントは、最適パスの再計算をトリガーします。
RIB からのイベント通知は、クリティカルおよび非クリティカルとして分類されます。クリティカルおよび非クリティカル イベントの通知は、別々のバッチで送信されます。ただし、非クリティカル イベントが保留中であり、クリティカル イベントを読み込む要求がある場合は、非クリティカル イベントがクリティカル イベントとともに送信されます。
• クリティカルなイベントとは、異なるパスに対してスイッチオーバーの原因となるネクスト ホップの消失など、ネクスト ホップの到達可能性に関連しています。異なるパスに対してスイッチオーバーの原因となるネクスト ホップの IGP メトリックの変更は、クリティカルなイベントと見なすことができます。
• 非クリティカルなイベントとは、最適パスに影響を与えたり、単一のネクスト ホップに IGP メトリックを変更したりせずに追加されるネクスト ホップに関連しています。
詳細については、「BGP ネクストホップ アドレス トラッキングの設定」を参照してください。
(注) クリティカルおよび非クリティカルなイベントは、アドレス ファミリごとに個別に設定できます。アドレス ファミリの詳細については、『Cisco Nexus 7000 Series NX-OS MPLS Configuration Guide』の「MPLS レイヤ 3 VPN の設定」の章を参照してください。
ルートの再配布
スタティック ルートまたは他のプロトコルからのルートを再配布するように、BGP を設定できます。再配布を指定したルート マップを設定して、どのルートが BGP に渡されるかを制御する必要があります。ルート マップを使用すると、宛先、送信元プロトコル、ルート タイプ、ルート タグなどの属性に基づいて、ルートをフィルタリングできます。詳細については、「Route Policy Manager の設定」を参照してください。
NX-OS Release 5.2(1) より前では、BGP を IGP に再配布すると iBGP も再配布されます。この動作を無効にするには、ルート マップに追加 deny 文を挿入します。Cisco NX-OS Release 5.2(1) 以降では、再配布が次のように変わります。
• 非 MPLS VPN シナリオでは、iBGP はデフォルトでは IGP に再配布されません。
• MPLS VPN シナリオ(VRF 下に設定されたルート識別子)では、iBGP はデフォルトで IGP に再配布されます。
ルート マップを使用して両シナリオのデフォルト動作を無効にできますが、ルート マップの正しくない使用によってネットワーク ループが発生することがあるため、そうする場合は注意が必要です。次に、デフォルトの動作の変更にルート マップを使用する例を示します。
ルート マップの変更によって、シナリオ 1 のデフォルトの動作を次のように変更できます。
match route-type internal
redistribute bgp 100 route-map foo
同様に、ルート マップの変更によって、シナリオ 2 のデフォルトの動作を次のように変更できます。
match route-type internal
redistribute bgp 100 route-map foo
BFD
この機能は、IPv4 および IPv6 アドレス ファミリの双方向フォワーディング検出(BFD)をサポートします。BFD は、転送パスの障害を高速で検出することを目的にした検出プロトコルです。BFD は 2 台の隣接デバイス間のサブセカンド障害を検出し、BFD の負荷の一部を、サポートされるモジュール上のデータ プレーンに分散できるため、プロトコル hello メッセージよりも CPU を使いません。
BGP の BFD は eBGP ピアおよび iBGP シングルホップ ピアでサポートされます。BFD を使用している iBGP シングル ホップ ピアのネイバー コンフィギュレーション モードでアップデート送信元オプションを設定します。
(注) BFD は他の iBGP ピアまたはマルチ ホップ eBGP ピアではサポートされていません。
詳細については、『 Cisco Nexus 7000 Series NX-OS Interfaces Configuration Guide 』を参照してください。
BGP タイマー
BGP では、ネイバー セッションおよびグローバル プロトコル イベントにさまざまなタイプのタイマーを使用します。確立されたセッションごとに、最低限 2 つのタイマーがあります。定期的にキープアライブ メッセージを送信するためのタイマー、さらに想定時間内にピアのキープアライブが届かなかった場合に、セッションをタイムアウトさせるためのタイマーです。また、個々の機能を処理するための、その他のタイマーがあります。これらのタイマーは通常、秒単位で設定します。タイマーには、異なる BGP ピアで同じタイマーが異なるタイミングでスタートするように、ランダム アジャストメントが組み込まれています。
ベストパス アルゴリズムの調整
オプションの設定パラメータによって、ベストパス アルゴリズムのデフォルト動作を変更できます。たとえば、アルゴリズムでの Multi-Exit Discriminator(MED)属性およびルータ ID の扱い方を変更できます。
マルチプロトコル BGP
Cisco NX-OS の BGP は、複数のアドレス ファミリをサポートします。マルチプロトコル BGP(MP-BGP)は、アドレス ファミリに応じて異なるルート セットを伝送します。BGP ではたとえば、IPv4 ユニキャスト ルーティング用のルート セットを 1 つ、IPv4 マルチキャスト ルーティング用のルート セットを 1 つ、さらに IPv6 マルチキャスト ルーティング用のルート セットを 1 つ伝送できます。IP マルチキャスト ネットワークではリバース パス フォワーディング(RPF)のチェックに MP-BGP を使用できます。
(注) マルチキャスト BGP ではマルチキャスト状態情報をプロパゲートしないため、プロトコル独立マルチキャスト(PIM)などのマルチキャスト プロトコルが必要です。
マルチプロトコル BGP 設定をサポートするには、ルータ アドレスファミリおよびネイバー アドレス ファミリの各コンフィギュレーション モードを使用します。MP-BGP では、設定されたアドレス ファミリごとに別々の RIB が維持されます(ユニキャスト RIB と、BGP のマルチキャスト RIB など)。
マルチプロトコル BGP ネットワークは下位互換性がありますが、マルチプロトコル拡張機能をサポートしない BGP ピアは、アドレス ファミリ ID 情報など、マルチプロトコル拡張機能が伝送するルーティング情報を転送できません。
(注) Cisco NX-OS Release 6.2(8) 以降では、BGP は IPv4 プレフィクスを IPv6 ネクスト ホップで伝送できる RFC 5549 をサポートしています。BGP がすべてのホップで動作し、すべてのルータが IPv4 および IPv6 トラフィックを転送できるため、ルータ間の IPv6 トンネルをサポートする必要はありません。BGP は、IPv6 ルートを介した IPv4 を Unicast Route Information Base(URIB)にインストールします。
グレースフル リスタートおよびハイ アベイラビリティ
Cisco NX-OS は、BGP の無停止フォワーディングおよびグレースフル リスタートをサポートします。
BGP ルーティング プロトコル情報がフェールオーバー後に復元されている間に、転送情報ベース(FIB)内の既知のルートでデータ パケットを転送するように、BGP の無停止フォワーディング(NSF)を使用できます。NSF では、BGP ピアはルーティング フラップと無縁です。フェールオーバー時に、データ トラフィックはインテリジェント モジュール経由で転送され、スタンバイ スーパーバイザがアクティブになります。
Cisco NX-OS ルータでコールド リブートが発生した場合、ネットワークはルータにトラフィックを転送しないで、ネットワーク トポロジからルータを削除します。この状況では、BGP は非グレースフル リスタートになり、すべてのルートが削除されます。Cisco NX-OS はスタートアップ コンフィギュレーションを適用し、BGP はピアリング セッションを再び確立して、ルートを再学習します。
Cisco NX-OS デュアル スーパーバイザ構成のルータでは、ステートフル スーパーバイザ スイッチオーバーが実行されます。スイッチオーバーの間、BGP は無停止フォワーディングを使用し、FIB の情報に基づいてトラフィックを転送します。システムがネットワーク トポロジから取り除かれることはありません。ネイバーが再起動しているルータは、「ヘルパー」と呼ばれます。スイッチオーバーの後でグレースフル リスタート処理が開始します。この処理が進行中の際、2 つのルータはネイバー関係を再確立し、これらの BGP ルートを交換します。それらネイバー関係が再起動したとしても、ヘルパーは再起動中のピアを指すプレフィックスを転送し続け、再起動中のルータはピアへトラフィックを転送し続けます。 再起動中のルータがグレースフル リスタート可能なすべての BGP ピアを持つ場合、グレースフル リスタートが完了し、BGP は再び動作可能なネイバーを通知します。
グレースフル リスタート動作中であることがルータで検出されると、両方のルータがそれぞれのトポロジ テーブルを交換します。すべての BGP ピアからルート アップデートを受信したルータは、古いルートをすべて削除し、アップデートされたルートでベストパス アルゴリズムを実行します。
スイッチオーバーが完了すると、Cisco NX-OS は実行コンフィギュレーションを適用し、BGP は自身が再度使用可能になったことをネイバーに通知します。
ネイバー コンフィギュレーション モードで update-source が設定された単一ホップ iBGP ピアでは、ピアは高速外部フェールオーバーをサポートします。
Cisco NX-OS Release 6.1 以降では、追加 BGP パス機能により、特定のプレフィックスにアドバタイズされるパス数が再起動の前後で同じ場合、パス ID の選択は古いパスの最終状態および削除を保証します。いくつかのパスが指定されたプレフィックスにアドバタイズされる場合、古いパスがグレースフル リスタート ヘルパー ピアに発生する可能性があります。
メモリ不足の処理
BGP は、次の条件でメモリ不足に対処します。
• マイナー アラート:BGP は新しい eBGP ピアを確立しません。BGP は新しい iBGP ピアおよび連合ピアの確立は続行します。確立されたピアは存続しますが、リセット ピアは再確立されません。
• 重大アラート:BGP は、メモリ アラートがマイナーになるまで、選択した確立済み eBGP ピアを 2 分おきにシャット ダウンします。eBGP ピアごとに、受信したパスの合計数とベスト パスとして選択されたパスの数の比率が計算されます。比率が最高のピアが、メモリ使用状況を削減するためのシャット ダウン対象として選択されます。オシレーションを回避するために、シャットダウンされた eBGP ピアを復帰する前にその eBGP ピアをクリアする必要があります。
(注) 重要な eBGP ピアをこの選択プロセスから除外できます。
• クリティカル アラート:BGP は確立されたすべてのピアを正常にシャット ダウンします。シャットダウンされた eBGP ピアを復帰する前にその eBGP ピアをクリアする必要があります。
メモリ不足状態によるシャットダウンから BGP ピアを除外する詳細については、「BGP の調整」を参照してください。
ISSU
Cisco NX-OS では、インサービス ソフトウェア アップグレード(ISSU)をサポートします。ISSU を使用すると、転送に影響を与えることなく、ソフトウェアをアップグレードできます。
次の条件が ISSU をサポートするために必要です。
• グレースフル リスタートをイネーブルにする(デフォルト)
• キープアライブおよびホールド タイマーがデフォルト値以上
これらの条件のいずれかが満たされていないと、Cisco NX-OS は警告を発行します。アップグレードまたはダウングレードに進むことができるが、サービスが中断する可能性があります。
(注) Cisco NX-OS は、BGP ピア間のネゴシエートされたホールド タイムがシステムのスイッチオーバー タイムよりも短い場合、デフォルト以外のタイマー値の ISSU を保証できません。
仮想化のサポート
Cisco NX-OS は、同一システム上で動作する複数の BGP インスタンスをサポートします。BGP は、仮想デバイス コンテキスト(VDC)内に存在する仮想ルーティングおよび転送(VRF)インスタンスをサポートしています。VDC で設定できる BGP インスタンスは 1 つですが、システム上では複数の VDC を使用できます。
デフォルトでは、特に別の VDC および VRF を設定しない限り、Cisco NX-OS によりデフォルト VDC およびデフォルト VRF が使用されます。詳細については、『 Cisco NX-OS Virtual Device Context Configuration Guide 』および「レイヤ 3 仮想化の設定」 を参照してください。
拡張 BGP の設定
この項では、次のトピックについて取り上げます。
• 「BGP セッション テンプレートの設定」
• 「BGP peer-policy テンプレートの設定」
• 「BGP peer テンプレートの設定」
• 「プレフィックス ピアリングの設定」
• 「BGP 認証の設定」
• 「BGP セッションのリセット」
• 「ネクストホップ アドレスの変更」
• 「BGP ネクストホップ アドレス トラッキングの設定」
• 「ネクストホップ フィルタリングの設定」
• 「機能ネゴシエーションのディセーブル化」
• 「BGP 追加パスの設定」
• 「eBGP の設定」
• 「AS 連合の設定」
• 「ルート リフレクタの設定」
• 「アウトバウンド ルート マップを使用した、反映されたルートのネクスト ホップの設定」
• 「ルート ダンプニングの設定」
• 「ロード シェアリングおよび ECMP の設定」
• 「最大プレフィックス数の設定」
• 「ダイナミック機能の設定」
• 「集約アドレスの設定」
• 「集約ルートのアドバタイズメントの抑制解除」
• 「BGP 条件付きルート注入の設定」
• 「BGP 条件付きアドバタイズメントの設定」
• 「ルートの再配布の設定」
• 「デフォルト ルートのアドバタイズ」
• 「マルチプロトコル BGP の設定」
• 「ポリシーベースのアドミニストレーティブ ディスタンスの設定」
• 「BGP の調整」
• 「グレースフル リスタートの設定」
• 「仮想化の設定」
(注) Cisco IOS の CLI に慣れている場合、この機能に対応する Cisco NX-OS コマンドは通常使用する Cisco IOS コマンドと異なる場合があるので注意してください。
BGP セッション テンプレートの設定
BGP セッション テンプレートを使用すると、類似した設定が必要な複数の BGP ピアで、BGP の設定を簡素化できます。BGP テンプレートによって、共通のコンフィギュレーション ブロックを再利用できます。先に BGP テンプレートを設定し、BGP ピアにテンプレートを適用します。
BGP セッション テンプレートでは、継承、パスワード、タイマー、セキュリティなどのセッション属性を設定できます。
peer-session テンプレートは、別の peer-session テンプレートからの継承が可能です。第 3 のテンプレートから継承するように第 2 テンプレートを設定できます。さらに最初のテンプレートもこの第 3 のテンプレートから継承させることができます。この間接継承を続けることができる peer-session テンプレートの数は、最大 7 つです。
ネイバーに設定した属性は、ネイバーが BGP テンプレートから継承した属性よりも優先されます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
(注) テンプレートを編集するときには、ピアまたはテンプレートのレベルで no 形式のコマンドを使用すると、テンプレートの設定を明示的に上書きできます。属性をデフォルトの状態にリセットするには、default 形式のコマンドを使用する必要があります。
手順の概要
1. configure terminal
2. router bgp autonomous-system-number
3. template peer-session template-name
4. (任意)password number password
5. (任意)timers keepalive hold
6. exit
7. neighbor ip-address remote-as as-number
8. inherit peer-session template-name
9. (任意)description text
10. (任意) show bgp peer-session template-name
11. (任意) copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp autonomous-system-number 例: switch(config)# router bgp 65536 switch(config-router )# |
BGP をイネーブルにして、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
template peer-session template-name 例: switch(config-router )# template peer-session BaseSession switch(config-router-stmp )# |
peer-session テンプレート コンフィギュレーション モードを開始します。 |
ステップ 4 |
password number password 例: switch(config-router-stmp )# password 0 test |
(任意)ネイバーにクリアテキスト パスワード test を追加します。パスワードは 3DES(タイプ 3 暗号形式)で保存および表示されます。 |
ステップ 5 |
timers keepalive hold 例: switch(config-router-stmp )# timers 30 90 |
(任意)peer-session テンプレートに BGP キープアライブおよびホールド タイマー値を追加します。 デフォルトのキープアライブ インターバルは 60 です。デフォルトのホールド タイムは 180 です。 |
ステップ 6 |
exit 例: switch(config-router-stmp)# exit switch(config-router )# |
peer-session テンプレート コンフィギュレーション モードを終了します。 |
ステップ 7 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.168.1.2 remote-as 65536 switch(config-router-neighbor)# |
BGP ルーティング用のネイバー コンフィギュレーション モードを開始し、ネイバー IP アドレスを設定します。 |
ステップ 8 |
inherit peer-session template-name 例: switch(config-router-neighbor)# inherit peer-session BaseSession switch(config-router-neighbor) |
ピアに peer-session テンプレートを適用します。 |
ステップ 9 |
description text 例: switch(config-router-neighbor)# description Peer Router A switch(config-router-neighbor) |
(任意)ネイバーの説明を追加します。 |
ステップ 10 |
show bgp peer-session template-name 例: switch(config-router-neighbor)# show bgp peer-session BaseSession |
(任意)peer-policy テンプレートを表示します。 |
ステップ 11 |
copy running-config startup-config 例: switch(config-router-neighbor)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
適用されたテンプレートを確認するには、 show bgp neighbor コマンドを使用します。テンプレートで使用できるあらゆるコマンドの詳細については、『 Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference 』を参照してください。
BGP peer-session テンプレートを設定して、BGP ピアに適用する例を示します。
switch# configure terminal
switch(config)# router bgp 65536
switch(config-router )#
template peer-session BaseSession
switch(config-router-stmp )#
timers 30 90
switch(config-router-stmp )#
exit
switch(config-router)# neighbor 192.168.1.2 remote-as 65536
switch(config-router-neighbor)# inherit peer-session BaseSession
switch(config-router-neighbor)# description Peer Router A
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor)# copy running-config startup-config
BGP peer-policy テンプレートの設定
peer-policy テンプレートを設定すると、特定のアドレス ファミリに対応する属性を定義できます。各 peer-policy テンプレートにプリファレンスを割り当て、指定した順序でテンプレートが継承されるようにします。ネイバー アドレス ファミリでは最大 5 つの peer-policy テンプレートを使用できます。
Cisco NX-OS は、プリファレンス値を使用して、アドレス ファミリの複数のピア ポリシーを評価します。プリファレンス値が最小のものが最初に評価されます。ネイバーに設定した属性は、ネイバーが BGP テンプレートから継承した属性よりも優先されます。
peer-policy テンプレートでは、AS-path フィルタ リスト、プレフィックス リスト、ルート リフレクション、ソフト再構成など、アドレス ファミリ固有の属性を設定できます。
(注) 適用されたテンプレートを確認するには、show bgp neighbor コマンドを使用します。テンプレートで使用できるあらゆるコマンドの詳細については、『Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference』を参照してください。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
(注) テンプレートを編集するときには、ピアまたはテンプレートのレベルで no 形式のコマンドを使用すると、テンプレートの設定を明示的に上書きできます。属性をデフォルトの状態にリセットするには、default 形式のコマンドを使用する必要があります。
手順の概要
1. configure terminal
2. router bgp autonomous-system-number
3. template peer-policy template-name
4. (任意)advertise-active-only
5. (任意)maximum-prefix number
6. exit
7. neighbor ip-address remote-as as-number
8. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} {multicast | unicast}
9. inherit peer-policy template-name preference
10. (任意) show bgp peer-policy template-name
11. (任意) copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp autonomous-system-number 例: switch(config)# router bgp 65536 switch(config-router )# |
BGP をイネーブルにして、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
template peer-policy template-name 例: switch(config-router )# template peer-policy BasePolicy switch(config-router-ptmp )# |
peer-policy テンプレートを作成します。 |
ステップ 4 |
advertise-active-only 例: switch(config-router-ptmp )# advertise-active-only |
(任意)アクティブ ルートだけをピアにアドバタイズします。 |
ステップ 5 |
maximum-prefix number 例: switch(config-router-ptmp )# maximum-prefix 20 |
(任意)このピアに認めるプレフィックスの最大数を設定します。 |
ステップ 6 |
exit 例: switch(config-router-ptmp)# exit switch(config-router )# |
peer-policy テンプレート コンフィギュレーション モードを終了します。 |
ステップ 7 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.168.1.2 remote-as 65536 switch(config-router-neighbor)# |
BGP ルーティング用のネイバー コンフィギュレーション モードを開始し、ネイバー IP アドレスを設定します。 |
ステップ 8 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 }{ multicast | unicast } 例: switch(config-router-neighbor)# address-family ipv4 unicast switch(config-router-neighbor-af)# |
指定のアドレス ファミリに対しグローバル アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 9 |
inherit peer-policy template-name preference 例: switch(config-router-neighbor-af)# inherit peer-policy BasePolicy 1 |
ピア アドレス ファミリ設定に peer-policy テンプレートを適用し、このピア ポリシーのプリファレンス値を割り当てます。 |
ステップ 10 |
show bgp peer-policy template-name 例: switch(config-router-neighbor-af)# show bgp peer-policy BasePolicy |
(任意)peer-policy テンプレートを表示します。 |
ステップ 11 |
copy running-config startup-config 例: switch(config-router-neighbor-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
BGP peer-policy テンプレートを設定して、BGP ピアに適用する例を示します。
switch# configure terminal
switch(config)# router bgp 65536
switch(config-router )#
template peer-session BasePolicy
switch(config-router-ptmp )#
maximum-prefix 20
switch(config-router-ptmp )#
exit
switch(config-router)# neighbor 192.168.1.1 remote-as 65536
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)# inherit peer-policy BasePolicy
switch(config-router-neighbor-af)# copy running-config startup-config
BGP peer テンプレートの設定
BGP peer テンプレートを設定すると、1 つの再利用可能なコンフィギュレーション ブロックで、セッション属性とポリシー属性を結合することができます。peer テンプレートも、peer-session または peer-policy テンプレートを継承できます。ネイバーに設定した属性は、ネイバーが BGP テンプレートから継承した属性よりも優先されます。ネイバーに設定できる peer テンプレートは 1 つだけですが、peer テンプレートは peer-session および peer-policy テンプレートを継承できます。
peer テンプレートは、eBGP マルチホップ TTL、最大プレフィックス数、ネクストホップ セルフ、タイマーなど、セッション属性およびアドレス ファミリ属性をサポートします。
(注) 適用されたテンプレートを確認するには、show bgp neighbor コマンドを使用します。テンプレートで使用できるあらゆるコマンドの詳細については、『Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference』を参照してください。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
(注) テンプレートを編集するときには、ピアまたはテンプレートのレベルで no 形式のコマンドを使用すると、テンプレートの設定を明示的に上書きできます。属性をデフォルトの状態にリセットするには、default 形式のコマンドを使用する必要があります。
手順の概要
1. configure terminal
2. router bgp autonomous-system-number
3. template peer template-name
4. inherit peer-session template-name
5. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} {multicast | unicast}
6. inherit peer template-name
7. exit
8. timers keepalive hold
9. exit
10. neighbor ip-address remote-as as-number
11. inherit peer template-name
12. timers keepalive hold
13. (任意) show bgp peer-template template-name
14. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp autonomous-system-number 例: switch(config)# router bgp 65536 |
BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
template peer template-name 例: switch(config-router )# template peer BasePeer switch(config-router-neighbor)# |
peer テンプレート コンフィギュレーション モードを開始します。 |
ステップ 4 |
inherit peer- session template-name 例: switch(config-router-neighbor)# inherit peer-session BaseSession |
(任意)peer テンプレートで peer-session テンプレートを継承します。 |
ステップ 5 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 }{ multicast | unicast } 例: switch(config-router-neighbor)# address-family ipv4 unicast switch(config-router-neighbor-af)# |
(任意)指定のアドレス ファミリに対しグローバル アドレス ファミリ コンフィギュレーション モードを設定します。 |
ステップ 6 |
inherit peer template-name 例: switch(config-router-neighbor-af)# inherit peer BasePolicy |
(任意)ネイバー アドレス ファミリ設定に peer テンプレートを適用します。 |
ステップ 7 |
exit 例: switch(config-router-neighbor-af)# exit switch(config-router-neighbor )# |
BGP ネイバー アドレス ファミリ コンフィギュレーション モードを終了します。 |
ステップ 8 |
timers keepalive hold 例: switch(config-router-neighbor )# timers 45 100 |
(任意)ピアに BGP タイマー値を追加します。 これらの値によって、peer-session テンプレート、BaseSession のタイマー値が上書きされます。 |
ステップ 9 |
exit 例: switch(config-router-neighbor )# exit switch(config-router)# |
BGP peer テンプレート コンフィギュレーション モードを終了します。 |
ステップ 10 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.168.1.2 remote-as 65536 switch(config-router-neighbor)# |
BGP ルーティング用のネイバー コンフィギュレーション モードを開始し、ネイバー IP アドレスを設定します。 |
ステップ 11 |
inherit peer template-name 例: switch(config-router-neighbor)# inherit peer BasePeer |
peer テンプレートを継承します。 |
ステップ 12 |
timers keepalive hold 例: switch(config-router-neighbor )# timers 60 120 |
(任意)このネイバーに BGP タイマー値を追加します。 これらの値によって、peer テンプレートおよび peer-session テンプレートのタイマー値が上書きされます。 |
ステップ 13 |
show bgp peer-template template-name 例: switch(config-router-neighbor-af)# show bgp peer-template BasePeer |
(任意)peer テンプレートを表示します。 |
ステップ 14 |
copy running-config startup-config 例: switch(config-router-neighbor-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
BGP peer テンプレートを設定して、BGP ピアに適用する例を示します。
switch# configure terminal
switch(config)# router bgp 65536
switch(config-router )#
template peer BasePeer
switch(config-router-neighbor)# inherit peer-session BaseSession
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)# inherit peer-policy BasePolicy 1
switch(config-router-neighbor-af)# exit
switch(config-router-neighbor )#
exit
switch(config-router)# neighbor 192.168.1.2 remote-as 65536
switch(config-router-neighbor)# inherit peer BasePeer
switch(config-router-neighbor)# c opy running-config startup-config
プレフィックス ピアリングの設定
BGP では IPv4 および IPv6 の両方のプレフィックスを使用して、ピア セットを定義できます。この機能を使用すると、各ネイバーを設定に追加する必要がありません。
プレフィックス ピアリングを定義する場合は、プレフィックスとともにリモート AS 番号を指定する必要があります。プレフィックス ピアリングが設定されている許容最大ピア数を超えない場合、BGP はプレフィックスおよび自律システムから接続するピアを受け付けます。
(注) 適用されたテンプレートを確認するには、show bgp neighbor コマンドを使用します。テンプレートで使用できるあらゆるコマンドの詳細については、『Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference』を参照してください。プレフィクス ピアの待機タイマーの詳細を表示するには、show bgp convergence private コマンドを使用します。
BGP プレフィックス ピアリング タイムアウト値を設定するには、ルータ コンフィギュレーション モードで次のコマンドを使用します。
|
|
switch(config-router-neighbor)# timers prefix-peer-timeout value |
(任意)プレフィクス ピアリングのタイムアウト値を設定します。指定できる範囲は 0 ~ 1200 秒です。デフォルト値は 30 です。 |
switch(config-router-neighbor)# timers prefix-peer-wait |
(任意)VRF ごとにまたはデフォルト VRF で BGP プレフィクス ピアリングの待機タイマーを設定します。 timers prefix-peer-wait コマンドを使用して、BGP プレフィクスがルーティング情報ベース(RIB)に挿入される前に遅延がないように、ピア プレフィクスの待機時間をディセーブルにできます。間隔の範囲は 0 ~ 1200 秒です。デフォルトは 90 です。
(注) タイマーは、BGP ダイナミック ネイバーにのみ適用されます。これは、BGP が再起動される場合やダイナミック BGP ネイバーに初めて達した場合にのみ設定されます。
|
ピアの最大数を設定するには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
maximum-peers value 例: switch(config-router-neighbor)# maximum-peers 120 |
このプレフィックス ピアリングの最大ピア数を設定します。指定できる範囲は 1 ~ 1000 です。 |
最大 10 のピアを受け付けるプレフィックス ピアリングの設定例を示します。
switch(config)# router bgp 65536
switch(config-router)# timers prefix-peer-timeout 120
switch(config-router)# neighbor 10.100.200.0/24 remote-as 65536
switch(config-router-neighbor)# maximum-peers 10
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)#
BGP 認証の設定
MD5 ダイジェストを使用して、ピアからのルート アップデートを認証するように BGP を設定できます。
MD5 認証を使用するように BGP を設定するには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
password [ 0 | 3 | 7 ] string 例: switch(config-router-neighbor)# password BGPpassword |
MGP ネイバー セッションの MD5 パスワードを設定します。 |
BGP セッションのリセット
BGP のルート ポリシーを変更した場合は、関連付けられた BGP ピア セッションをリセットする必要があります。BGP ピアがルート リフレッシュをサポートしない場合は、着信ポリシー 変更に関するソフト再構成を設定できます。Cisco NX-OS は自動的に、セッションのソフト リセットを試みます。
ソフト再構成着信を設定するには、ネイバー アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
soft-reconfiguration inbound 例: switch(config-router-neighbor-af)# soft-reconfiguration inbound |
着信 BGP ルート アップデートを格納するために、ソフト再構成をイネーブルにします。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
BGP ネイバー セッションをリセットするには、任意のモードで次のコマンドを使用します。
|
|
clear bgp { ipv4 | ipv6 | vpnv4 | vpnv6 } { unicast | multicast } ip-address soft { in | out } 例: switch# clear bgp ip unicast 192.0.2.1 soft in |
TCP セッションを切断しないで、BGP セッションをリセットします。 |
ネクストホップ アドレスの変更
次の方法で、ルート アドバタイズメントで使用するネクストホップ アドレスを変更できます。
• ネクストホップ計算をディセーブルにして、ローカル BGP スピーカ アドレスをネクストホップ アドレスとして使用します。
• ネクストホップ アドレスをサードパーティ アドレスとして設定します。この機能は、元のネクストホップ アドレスがルートの送り先のピアと同じサブネット上にある場合に使用します。この機能を使用すると、フォワーディング時に余分なホップを節約できます。
ネクストホップ アドレス トラッキングを変更するには、アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
next-hop-self 例: switch(config-router-neighbor-af)# next-hop-self |
ルート アップデートのネクストホップ アドレスとして、ローカル BGP スピーカ アドレスを使用します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
next-hop-third-party 例: switch(config-router-neighbor-af)# next-hop-third-party |
ネクストホップ アドレスをサードパーティ アドレスとして設定します。このコマンドは、 next-hop-self を設定されていないシングルホップ EBGP ピアに使用します。 |
BGP ネクストホップ アドレス トラッキングの設定
BGP ネクストホップ アドレス トラッキングはデフォルトでイネーブルであり、ディセーブルにすることができません。
BGP ネクストホップ トラッキングのパフォーマンスを向上するために、RIB チェック間の遅延インターバルを変更できます。
BGP ネクストホップ アドレス トラッキングを変更するには、アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
switch(config-router-af)# nexthop trigger-delay { critical | non-critical } milliseconds |
クリティカルなネクストホップの到達可能性ルートおよび非クリティカルなルートについて、ネクストホップ アドレス トラッキングの遅延タイマーを指定します。指定できる範囲は 1 ~ 4294967295 ミリ秒です。クリティカル タイマーのデフォルトは 3000 です。非クリティカル タイマーのデフォルトは 10000 です。 |
switch(config-router-af)# nexthop route-map name |
BGP ネクストホップ アドレスが一致するルート マップを指定します。63 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。 |
ネクストホップ フィルタリングの設定
BGP ネクストホップ フィルタリングを使用すると、RIB でネクストホップ アドレスがチェックされるときにそのネクストホップ アドレスの基盤となるルートがルート マップを経由します。ルート マップでそのルートが拒否されると、ネクストホップ アドレスは到達不能として扱われます。
BGP は、ルート ポリシーによって拒否されたすべてのネクストホップを無効であるとマークし、無効なネクストホップ アドレスを使用するルートについてベスト パスを計算しません。
BGP ネクストホップ フィルタリングを設定するには、アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
nexthop route-map name 例: switch(config-router-af)# nexthop route-map nextHopLimits |
BGP ネクストホップ ルートが一致するルート マップを指定します。63 文字以内の英数字のストリング(大文字と小文字を区別)で指定します。 |
機能ネゴシエーションのディセーブル化
機能ネゴシエーションをディセーブルにすると、機能ネゴシエーションをサポートしない古い BGP ピアとの相互運用が可能です。
機能ネゴシエーションをディセーブルにするには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
dont-capability-negotiate 例: switch(config-router-neighbor)# dont-capability-negotiate |
機能ネゴシエーションをディセーブルにします。このコマンドの設定後、BGP セッションを手動でリセットする必要があります。 |
追加パスの送受信機能のアドバタイズ
BGP ピア間の追加パスの送受信機能をアドバタイズするように BGP を設定できます。これを行うには、ネイバー アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
[no] capability additional-paths send [disable] 例: switch(config-router-neighbor-af)# capability additional-paths send |
BGP ピアに追加パスを送信する機能をアドバタイズします。 disable オプションは、追加パス送信機能のアドバタイズをディセーブルにします。 このコマンドの no 形式は、追加パスの送信機能をディセーブルにします。 |
[no] capability additional-paths receive [disable] 例: switch(config-router-neighbor-af)# capability additional-paths receive |
BGP ピアから追加パスを受信する機能をアドバタイズします。 disable オプションは、追加パス受信機能のアドバタイズをディセーブルにします。 このコマンドの no 形式は、追加パスの受信機能をディセーブルにします。 |
show bgp neighbor 例: switch(config-router-neighbor-af)# show bgp neighbor |
ローカル ピアがリモート ピアへの追加パス送受信機能をアドバタイズしたかを表示します。 |
BGP ピアに追加のパスを送受信する機能をアドバタイズする BGP の設定例を示します。
neighbor 10.131.31.2 remote-as 100
address-family ipv4 unicast
capability additional-paths send
capability additional-paths receive
追加パスの送受信の設定
BGP ピア間の追加パスの送受信機能を設定できます。これを行うには、アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
[no] additional-paths send 例: switch(config-router-af)# additional-paths send |
機能がディセーブルになっていないこのアドレス ファミリで、すべてのネイバーの追加パスの送信機能をイネーブルにします。 このコマンドの no 形式を使用すると、送信機能がディセーブルになります。 |
[no] additional-paths receive 例: switch(config-router-af)# additional-paths receive |
機能がディセーブルになっていないこのアドレス ファミリで、すべてのネイバーの追加パスの受信機能をイネーブルにします。 このコマンドの no 形式を使用すると、受信機能がディセーブルになります。 |
show bgp neighbor 例: switch(config-router-af)# show bgp neighbor |
ローカル ピアがリモート ピアへの追加パス送受信機能をアドバタイズしたかを表示します。 |
機能がディセーブルになっていない指定されたアドレス ファミリで、すべてのネイバーの追加パスの受信機能をイネーブルにする例を示します。
address-family ipv4 unicast
additional-paths send
additional-paths receive
アドバタイズされたパスの設定
BGP にアドバタイズされたパスを指定できます。これを行うには、ルート マップ コンフィギュレーション モードで次のコマンドを使用します。
|
|
[no] set path-selection all advertise 例: switch(config-route-map)# set path-selection all advertise |
すべてのパスが指定されたプレフィックスにアドバタイズされるように指定します。 このコマンドの no 形式は、最適パスだけがアドバタイズされるように指定します。 |
show bgp {ipv4 | ipv6} unicast [ ip-address | ipv6-prefix ] [vrf vrf-name ] 例: switch(config-route-map)# show bgp ipv4 unicast |
プレフィックスの追加パスのパス ID とこれらのパスのアドバタイズメント情報を表示します。 |
すべてのパスが指定されたプレフィックスにアドバタイズされるように指定する例を示します。
route-map PATH_SELECTION_RMAP
match ip address prefix-list p1
set path-selection all advertise
追加パス選択の設定
プレフィックスに追加のパスを選択する機能を設定できます。これを行うには、アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
[no] additional-paths selection route-map map-name 例: switch(config-router-af)# additional-paths selection route-map map1 |
プレフィックスに追加のパスを選択する機能を設定します。 このコマンドの no 形式は、追加パス選択機能をディセーブルにします。 |
show bgp {ipv4 | ipv6} unicast [ ip-address | ipv6-prefix ] [vrf vrf-name ] 例: switch(config-route-af)# show bgp ipv4 unicast |
プレフィックスの追加パスのパス ID とこれらのパスのアドバタイズメント情報を表示します。 |
指定されたアドレス ファミリで追加パス選択を設定する例を示します。
address-family ipv4 unicast
additional-paths selection route-map PATH_SELECTION_RMAP
eBGP シングルホップ チェックのディセーブル化
シングルホップ eBGP ピアがローカル ルータに直接接続されているかどうかのチェック機能をディセーブルにするように、eBGP を設定できます。このオプションは、直接接続されたスイッチ間のシングルホップ ループバック eBGP セッションの設定に使用します。
シングルホップ eBGP ピアが直接接続されているかどうかのチェックをディセーブルにするには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
disable-connected-check 例: switch(config-router-neighbor)# disable-connected-check |
シングルホップ eBGP ピアが直接接続されているかどうかのチェックをディセーブルにします。このコマンドの使用後、BGP セッションを手動でリセットする必要があります。 |
eBGP マルチホップの設定
eBGP マルチホップをサポートする eBGP 存続可能時間(TTL)値を設定できます。eBGP ピアは状況によって、別の eBGP ピアに直接接続されず、リモート eBGP ピアに到達するために複数のホップを必要とします。ネイバー セッションに eBGP TTL 値を設定すると、このようなマルチホップ セッションが可能になります。
eBGP マルチホップを設定するには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
ebgp-multihop ttl-value 例: switch(config-router-neighbor)# ebgp-multihop 5 |
eBGP マルチホップの eBGP TTL を設定します。指定できる範囲は 2 ~ 255 です。このコマンドの使用後、BGP セッションを手動でリセットする必要があります。 |
高速外部フォールオーバーのディセーブル化
Cisco Nexus 7000 シリーズ デバイスは、すべての VRF のネイバーおよびアドレス ファミリ(IPv4 または IPv6)の高速外部フォールオーバーをデフォルトでサポートします。通常、BGP ルータと直接接続 eBGP ピア間の接続が失われると、ピアとの eBGP セッションをリセットすることによって、BGP が高速外部フォールオーバーを開始します。この高速外部フォールオーバーをディセーブルにすると、リンク フラップが原因の不安定さを制限できます。
高速外部フォールオーバーをディセーブルにするには、ルータ コンフィギュレーション モードで次のコマンドを使用します。
|
|
no fast-external-fallover 例: switch(config-router)# no fast-external-fallover |
eBGP ピアの高速外部フォールオーバーをディセーブルにします。このコマンドは、デフォルトでイネーブルになっています。 |
AS パス属性の制限
AS パス属性で自律システム番号が非常に高いルートを廃棄するように eBGP を設定できます。
AS パス属性で AS 番号が非常に高いルートを廃棄するには、ルータ コンフィギュレーション モードで次のコマンドを使用します。
|
|
maxas-limit number 例: switch(config-router)# maxas-limit 50 |
AS パス セグメントの番号が指定された上限を超えている eBGP ルートを廃棄します。指定できる範囲は 1 ~ 2000 です。 |
ローカル AS サポートの設定
ローカル AS 機能では、ルータが実際の AS に加えて、別の自律システム(AS)のメンバであるように見せることができます。ローカル AS を使用すると、ピアリングの調整を変更せずに 2 つの ISP をマージできます。マージされた ISP 内のルータは、新しい自律システムのメンバになりますが、使用者に対しては古い自律システム番号を使用し続けます。
この機能は、正しい eBGP ピアにしか使用できません。別のコンフェデレーションのサブ自律システムのメンバである 2 ピアに対しては、この機能は使用できません。
eBGP ローカル AS のサポートを設定するには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
local-as number [no-prepend [replace-as [dual-as]]] 例: switch(config-router-neighbor)# local-as 1.1 |
ローカルの AS 番号 を AS_PATH 属性に追加するために eBGP を設定します。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。 |
次に、VRF のローカル AS サポートを設定する例を示します。
switch(config)# router bgp 1
switch(config-router)# vrf test
switch(config-router-vrf)# local-as 1
switch(config-router-vrf)# show running-config bgp
AS 連合の設定
AS 連合を設定するには、連合識別情報を指定する必要があります。AS 連合内の自律システム グループは、自律システム番号として連合 ID を持つ、1 つの自律システムとして外部で認識されます。
BGP 連合 ID を設定するには、ルータ コンフィギュレーション モードで次のコマンドを使用します。
|
|
confederation identifier as-number 例: switch(config-router)# confederation identifier 4000 |
AS 連合を表す連合 ID を設定します。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
AS 連合に所属する自律システムを設定するには、ルータ コンフィギュレーション モードで次のコマンドを使用します。
|
|
bgp confederation peers as-number [ as-number2... ] 例: switch(config-router)# bgp confederation peers 5 33 44 |
連合に所属する自律システムのリストを指定します。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ルート リフレクタの設定
ルート リフレクタとして動作するローカル BGP スピーカに対するルート リフレクタ クライアントとして、iBGP ピアを設定できます。ルート リフレクタとそのクライアントがともにクラスタを形成します。クライアントからなるクラスタには通常、ルート リフレクタが 1 つ存在します。このような状況では、ルート リフレクタのルータ ID でクラスタを識別します。ネットワークの冗長性を高め、シングル ポイント障害を回避するために、複数のルート リフレクタからなるクラスタを設定できます。クラスタ内のすべてのルート リフレクタは、同じ 4 バイト クラスタ ID で設定する必要があります。これは、ルート リフレクタが同じクラスタ内のルート リフレクタからのアップデートを認識できるようにするためです。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. router bgp as-number
3. cluster-id cluster-id
4. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast }
5. (任意)client-to-client reflection
6. exit
7. neighbor ip-address remote-as as-number
8. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast }
9. route-reflector-client
10. (任意) show bgp { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast } neighbors
11. (任意) copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 65536 switch(config-router)# |
BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
cluster-id cluster-id 例: switch(config-router)# cluster-id 192.0.2.1 |
クラスタに対応するルート リフレクタの 1 つとして、ローカル ルータを設定します。クラスタを識別するクラスタ ID を指定します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
ステップ 4 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 } { unicast | multicast } 例: switch(config-router)# address-family ipv4 unicast switch(config-router-af)# |
指定のアドレス ファミリに対応するグローバル アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 5 |
client-to-client reflection 例: switch(config-router-af)# client-to-client reflection |
(任意)クライアント間のルート リフレクションを設定します。この機能は、デフォルトでイネーブルにされています。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
ステップ 6 |
exit 例: switch(config-router-neighbor)# exit switch(config-router)# |
ルータ アドレス コンフィギュレーション モードを終了します。 |
ステップ 7 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.0.2.10 remote-as 65536 switch(config-router-neighbor)# |
リモート BGP ピアの IP アドレスおよび AS 番号を設定します。 |
ステップ 8 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 }{ unicast | multicast } 例: switch(config-router-neighbor)# address-family ipv4 unicast switch(config-router-neighbor-af)# |
指定のアドレス ファミリに対応しネイバー アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 9 |
route-reflector-client 例: switch(config-router-neighbor-af)# route-reflector-client |
BGP ルート リフレクタとしてデバイスを設定し、そのクライアントとしてネイバーを設定します。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ステップ 10 |
show bgp { ipv4 | ipv6 | vpnv4 | vpnv6 } { unicast | multicast } neighbors 例: switch(config-router-neighbor-af)# show bgp ip unicast neighbors |
(任意)BGP ピアを表示します。 |
ステップ 11 |
copy running-config startup-config 例: switch(config-router-neighbor-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、ルート リフレクタとしてルータを設定し、クライアントとしてネイバーを 1 つ追加する例を示します。
switch(config)# router bgp 65536
switch(config-router)# neighbor 192.0.2.10 remote-as 65536
switch(config-router-neighbor)# address-family ip unicast
switch(config-router-neighbor-af)# route-reflector-client
switch(config-router-neighbor-af)# c opy running-config startup-config
アウトバウンド ルート マップを使用した、反映されたルートのネクスト ホップの設定
アウトバウンド ルート マップを使用して、BGP ルート リフレクタの反映されたルートのネクスト ホップを変更できます。ネクスト ホップ アドレスとしてピアのローカル アドレスを指定するため、アウトバウンド ルート マップを設定できます。
(注) next-hop-self コマンドは、ルート リフレクタによってクライアントに反映されるルートに対するこの機能を有効にしません。この機能は、アウトバウンド ルート マップを使用した場合にだけイネーブルにできます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
アドレス ファミリ固有のネクスト ホップ アドレスを設定するには、 set next-hop コマンドを入力する必要があります。たとえば、IPv6 アドレス ファミリには、 set ipv6 next-hop peer-address コマンドを入力します。
• ルート マップを使用して IPv4 ネクスト ホップを設定する場合: set ip next-hop peer-address がルート マップに一致する場合、ネクスト ホップはピアのローカル アドレスに設定されます。ネクスト ホップがルート マップで設定されていない場合、ネクスト ホップはパスに保存されているネクスト ホップに設定されます。
• ルート マップを使用して IPv6 ネクスト ホップを設定する場合: set ipv6 next-hop peer-address がルート マップに一致する場合、ネクスト ホップは次のとおり設定されます。
– IPv6 ピアでは、ネクスト ホップはピアのローカル IPv6 アドレスに設定されます。
– IPv4 ピアでは、 update-source が設定されている場合、ネクスト ホップは、もしあれば、発信元インターフェイスの IPv6 アドレスに設定されます。IPv6 アドレスが設定されていない場合、ネクスト ホップは設定されません。
– IPv4 ピアでは、 update-source が設定されていない場合、ネクスト ホップは、もしあれば、発信インターフェイスの IPv6 アドレスに設定されます。IPv6 アドレスが設定されていない場合、ネクスト ホップは設定されません。
手順の概要
1. configure terminal
2. router bgp as-number
3. neighbor ip-address remote-as as-number
4. (任意)update-source interface number
5. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast }
6. route-reflector-client
7. route-map map-name out
8. (任意) show bgp { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast } neighbors
9. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 200 switch(config-router)# |
BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.0.2.12 remote-as 200 switch(config-router-neighbor)# |
リモート BGP ピアの IP アドレスおよび AS 番号を設定します。 |
ステップ 4 |
update-source interface number 例: switch(config-router-neighbor)# update-source loopback 300 |
(任意)BGP セッションの送信元を指定し、更新します。 |
ステップ 5 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 }{ unicast | multicast } 例: switch(config-router-neighbor)# address-family ipv4 unicast switch(config-router-neighbor-af)# |
指定のアドレス ファミリに対応するグローバル アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 6 |
route-reflector-client 例: switch(config-router-neighbor-af)# route-reflector-client |
BGP ルート リフレクタとしてデバイスを設定し、そのクライアントとしてネイバーを設定します。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ステップ 7 |
route-map map-name out 例: switch(config-router-neighbor-af)# route-map setrrnh out |
発信ルートに設定された BGP ポリシーを適用します。 |
ステップ 8 |
show bgp {ipv4 | ipv6 | vpnv4 | vpnv6} {unicast | multicast} [ip-address | ipv6-prefix] route-map map-name [vrf vrf-name ] 例: switch(config-router-neighbor-af)# show bgp ipv4 unicast route-map setrrnh |
(任意)ルート マップと一致する BGP ルートを表示します。 |
ステップ 9 |
copy running-config startup-config 例: switch(config-router-neighbor-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
アウトバウンド ルート マップを使用して、BGP ルート リフレクタの反映されたルートのネクスト ホップを設定する例を示します。
switch(config)# interface loopback 300
switch(config-if)# ip address 192.0.2.11/32
switch(config-if)# ipv6 address 2001::a0c:1a65/64
switch(config-if)# ip router ospf 1 area 0.0.0.0
switch(config)# route-map setrrnh permit 10
switch(config-route-map)# set ip next-hop peer-address
switch(config-route-map)# exit
switch(config)# route-map setrrnhv6 permit 10
switch(config-route-map)# set ipv6 next-hop peer-address
switch(config-route-map)# exit
switch(config)# router bgp 200
switch(config-router)# neighbor 192.0.2.12 remote-as 200
switch(config-router-neighbor)# update-source loopback 300
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)# route-reflector-client
switch(config-router-neighbor-af)# route-map setrrnh out
switch(config-router-neighbor-af)# exit
switch(config-router-neighbor)# address-family ipv6 unicast
switch(config-router-neighbor-af)# route-reflector-client
switch(config-router-neighbor-af)# route-map setrrnhv6 out
ルート ダンプニングの設定
iBGP ネットワーク上でのルート フラップの伝播を最小限に抑えるために、ルート ダンプニングを設定できます。
ルート ダンプニングを設定するには、アドレス ファミリまたは VRF アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
dampening [{ half-life reuse-limit suppress-limit max-suppress-time | route-map map-name }] 例: switch(config-router-af)# dampening route-map bgpDamp |
機能ネゴシエーションをディセーブルにします。パラメータ値は次のとおりです。 • half-life:指定できる範囲は 1 ~ 45 です。 • reuse-limit:指定できる範囲は 1 ~ 20000 です。 • suppress-limit:指定できる範囲は 1 ~ 20000 です。 • max-suppress-time:指定できる範囲は 1 ~ 255 です。 |
ロード シェアリングおよび ECMP の設定
等コスト マルチパス ロード バランシング用に BGP がルート テーブルに追加するパスの最大数を設定できます。
パスの最大数を設定するには、ルータ アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
maximum-paths [ ibgp ] maxpaths 例: switch(config-router-af)# maximum-paths 8 |
ロード シェアリング用の等コスト パスの最大数を設定します。デフォルトは 1 です。 |
最大プレフィックス数の設定
BGP が BGP ピアから受け取ることのできるプレフィックスの最大数を設定できます。任意で、プレフィックス数がこの値を超えた場合に、BGP に警告メッセージを生成させる、またはピアとの BGP セッションを切断させることを設定できます。
BPG ピアに認めるプレフィックスの最大数を設定するには、ネイバー アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
maximum-prefix maximum [ threshold ] [ restart time | warning-only ] 例: switch(config-router-neighbor-af)# maximum-prefix 12 |
ピアからのプレフィックスの最大数を設定します。パラメータの範囲は次のとおりです。 • maximum :指定できる範囲は 1 ~ 300000 です。 • threshold :指定できる範囲は 1 ~ 100% です。デフォルトは 75% です。 • time :指定できる範囲は 1 ~ 65535 分です。 このコマンドによって、プレフィックス限度を超えた場合に、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ダイナミック機能の設定
BGP ピアのダイナミック機能を設定できます。
ダイナミック機能を設定するには、ネイバー コンフィギュレーション モードで次のコマンドを使用します。
|
|
dynamic-capability 例: switch(config-router-neighbor)# dynamic-capability |
ダイナミック機能をイネーブルにします。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
集約アドレスの設定
BGP ルート テーブルの集約アドレス エントリを設定できます。
集約アドレスを設定するには、ルータ アドレス ファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
aggregate-address ip-prefix/length [ as-set ] [ summary-only ] [ advertise-map map-name ] [ attribute-map map-name ] [suppress -map map-name ] 例: switch(config-router-af)# aggregate-address 192.0.2.0/8 as-set |
集約アドレスを作成します。このルートに関してアドバタイズされるパスは、集約されているすべてのパスに含まれるすべての要素からなる、自律システム セットです。 • as-set キーワードで、自律システム セット パス情報および関係するパスに基づくコミュニティ情報が生成されます。 • summary-only キーワードによって、アップデートから固有性の強いルートがすべてフィルタリングされます。 • advertise-map キーワードおよび引数では、選択されたルートから属性情報を選択するためのルート マップを指定します。 • attribute-map キーワードおよび引数では、集約から属性情報を選択するためのルート マップを指定します。 • suppress-map キーワードおよび引数によって、固有性の強いルートを条件付きでフィルタリングします。 |
集約ルートのアドバタイズメントの抑制解除
aggregate-address コマンドによって抑制されたルートをアドバタイズするように BGP を設定できます。
集約ルートのアドバタイズの抑制を解除するには、ルータ ネイバー アドレスファミリ コンフィギュレーション モードで次のコマンドを使用します。
|
|
un suppress -map map-name 例: switch(config-router-neighbor-af)# unsuppress-map UNSUPPRESS-MAP |
aggregate-address コマンドによって抑制された選択的ルートをアドバタイズします。 |
BGP 条件付きルート注入の設定
管理ポリシーまたはトラフィック エンジニアリング情報に基づいて特定のルートを注入し、設定された条件が満たされた場合にだけ BGP ルーティング テーブルに注入されるこれらの特定のルートに転送されるようにパケットを制御するように、BGP 条件付きルート注入を設定できます。この機能により、条件付きで、あまり具体的ではないプレフィクスに具体的なプレフィクスを注入したりまたは置き換えることにより、共通のルート集約の精度を高めることができます。元のプレフィックスと同じ、またはより具体的なプレフィクスだけが注入されます。
(注) 注入されたプレフィクスは、集約ルートの属性を継承します。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. router bgp as-number
3. address-family { ipv4 | ipv6} unicast
4. inject-map inject-map-name exist-map exist-map-name [copy-attributes }
5. exit
6. exit
7. ip prefix-list list-name seq sequence-number permit network-length
8. route-map map-name permit sequence-number
9. match ip address prefix-list prefix-list-name
10. match ip route-source prefix-list prefix-list-name
11. exit
12. ip prefix-list list-name seq sequence-number permit network-length
13. route-map map-name permit sequence-number
14. set ip address prefix-list prefix-list-name
15. (任意) show bgp { ipv4 | ipv6 } unicast injected-routes
16. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 40000 switch(config-router)# |
BGP コンフィギュレーション モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
address-family { ipv4 | ipv6 } unicast 例: switch(config-router)# address-family ipv4 unicast switch(config-router-af)# |
アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 4 |
inject-map inject-map-name exist-map exist-map-name [ copy-attributes] 例: switch(config-router-af)# inject-map ORIGINATE exist-map AGGREGATE copy-attributes |
条件付きルート注入のための inject-map ルートと exist-map ルートを指定します。これらのマップは、BGP ルーティング テーブルに 1 つ以上のプレフィクスをインストールします。 exist-map ルート マップは BGP が追跡するプレフィクスを指定し、 inject-map ルート マップはローカル BGP テーブルに作成されインストールされるプレフィクスを定義します。 注入したルートが集約ルートの属性を継承することを指定するには、 copy-attributes キーワードを使用します。 |
ステップ 5 |
exit 例: switch(config-router-af)# exit switch(config-router)# |
アドレス ファミリ コンフィギュレーション モードを終了します。 |
ステップ 6 |
exit 例: switch(config-router)# exit switch(config)# |
BGP コンフィギュレーション モードを終了します。 |
ステップ 7 |
ip prefix-list list-name seq sequence-number permit network-length 例: switch(config)# ip prefix-list AGGREGATE-Route seq 5 permit 10.1.1.0/24 |
プレフィックス リストを設定します。作成される各プレフィクス リストについて、この手順を繰り返します。 (注) この例では、プレフィクス リスト AGGREGATE-Route は、ネットワーク 10.1.1.0/24 からのルートを許可するように設定されています。 |
ステップ 8 |
route-map map-name permit sequence-number 例: switch(config)# route-map AGGREGATE permit 10 switch(config-route-map)# |
ルート マップを設定し、ルート マップ コンフィギュレーション モードを開始します。 |
ステップ 9 |
match ip address prefix-list prefix-list-name 例: switch(config-route-map)# match ip address prefix-list AGGREGATE-Route |
より具体的なルートの挿入先となる集約ルートを指定します。 (注) この例では、ルートの送信元として、プレフィクス リスト AGGREGATE-Route が使用されています。 |
ステップ 10 |
match ip route-source prefix-list prefix-list-name 例: switch(config-route-map)# match ip route-source prefix-list AGGREGATE-Source |
ルートの送信元の一致条件を指定します。 (注) この例では、ルートの送信元として、プレフィクス リスト AGGREGATE-Source が使用されています。 |
ステップ 11 |
exit 例: switch(config-route-map)# exit switch(config)# |
ルート マップ コンフィギュレーション モードを終了します。 |
ステップ 12 |
ip prefix-list list-name seq sequence-number permit network-length 例: switch(config)# ip prefix-list ORIGINATE-Route seq 4 permit 10.1.1.128/25 |
プレフィックス リストを設定します。作成される各プレフィクス リストについて、この手順を繰り返します。 (注) この例では、プレフィクス リスト ORIGINATE-Route は、ネットワーク 10.1.1.128 からのルートを許可するように設定されています。 |
ステップ 13 |
route-map map-name permit sequence-number 例: switch(config)# route-map ORIGINATE permit 10 switch(config-route-map)# |
ルート マップを設定し、ルート マップ コンフィギュレーション モードを開始します。 |
ステップ 14 |
set ip address prefix-list prefix-list-name 例: switch(config-route-map)# set ip address prefix-list ORIGINATE-Route |
挿入されるルートを指定します。 |
ステップ 15 |
show bgp {ipv4 | ipv6} unicast injected-routes 例: switch(config-route-map)# show bgp ipv4 unicast injected-routes |
(任意)ルーティング テーブルに挿入されたルートを表示します。 |
ステップ 16 |
copy running-config startup-config 例: switch(config-route-map)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
BGP 条件付きアドバタイズメントの設定
BGP がプロパゲートするルートを制限するように BGP 条件付きアドバタイズメントを設定できます。次の 2 つのルート マップを定義します。
• アドバタイズ マップ:BGP が条件付きアドバタイズメントを考慮する前にルートが一致する必要のある条件を指定します。このルート マップには、適切な match 文を含めることができます。
• 存在マップまたは非存在マップ:BGP がアドバタイズ マップに一致するルートをプロパゲートする前に BGP テーブルに存在する必要のあるプレフィックスを定義します。非存在マップは、BGP がアドバタイズ マップに一致するルートをプロパゲートする前に BGP テーブルに存在してはならないプレフィックスを定義します。BGP は、これらのルート マップでプレフィックス リストの match 文内にある permit 文のみを処理します。
ルートが条件を渡さない場合、そのルートが BGP テーブルにあれば BGP によってルートが取り消されます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. router bgp as-number
3. neighbor ip-address remote-as as-number
4. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast }
5. advertise-map adv-map { exist-map exist-rmap | non-exist-map nonexist-rmap }
6. (任意)show ip bgp neighbor
7. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 65536 switch(config-router)# |
BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.168.1.2 remote-as 65537 switch(config-router-neighbor)# |
BGP ルーティング用のネイバー コンフィギュレーション モードを開始し、ネイバー IP アドレスを設定します。 |
ステップ 4 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 } { unicast | multicast } 例: switch(config-router-neighbor)# address-family ipv4 multicast switch(config-router-neighbor-af)# |
アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 5 |
advertise-map adv-map { exist-map exist-rmap | non-exist-map nonexist-rmap } 例: switch(config-router-neighbor-af)# advertise-map advertise exist-map exist |
2 つの設定済みルート マップに従い、ルートを条件付きでアドバタイズするように BGP を設定します。 • adv-map:BGP がルートを次のルート マップに渡す前に、そのルートが渡す必要のある match 文を使用してルート マップを指定します。 adv-map は、大文字と小文字が区別される 63 文字以下の英数字文字列です。 • exist-rmap:プレフィックス リストの match 文を使用してルート マップを指定します。BGP テーブル内のプレフィックスは、BGP がルートをアドバタイズする前に、プレフィックス リスト内のプレフィックスと一致する必要があります。 exist-rmap は、大文字と小文字が区別される 63 文字以下の英数字文字列です。 • nonexist-rmap:プレフィックス リストの match 文を使用してルート マップを指定します。BGP テーブル内のプレフィックスは、BGP がルートをアドバタイズする前に、プレフィックス リスト内のプレフィックスと一致してはいけません。 nonexist-rmap は、大文字と小文字が区別される 63 文字以下の英数字文字列です。 |
ステップ 6 |
show ip bgp neighbor 例: switch(config-router-neighbor-af)# show ip bgp neighbor |
(任意)BGP に関する情報、および設定した条件付きアドバタイズメントのルート マップに関する情報を表示します。 |
ステップ 7 |
copy running-config startup-config 例: switch(config-router-neighbor-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、BGP 条件付きアドバタイズメントを設定する例を示します。
switch# configure terminal
switch(config)# router bgp 65536
switch(config-router)# neighbor 192.0.2.2 remote-as 65537
switch(config-router-neighbor)# address-family ipv4 unicast
switch(config-router-neighbor-af)# advertise-map advertise exist-map exist
switch(config-router-neighbor-af)# exit
switch(config-router-neighbor)# exit
switch(config-router)# exit
switch(config)# route-map advertise
switch(config-route-map)# match as-path pathList
switch(config-route-map)# exit
switch(config)# route-map exit
switch(config-route-map)# match ip address prefix-list plist
switch(config-route-map)# exit
switch(config)# ip prefix-list plist permit 209.165.201.0/27
ルートの再配布の設定
別のルーティング プロトコルからのルーティング情報を受け入れて、BGP ネットワークを通じてその情報を再配布するように、BGP を設定できます。任意で、再配布ルートのためのデフォルト ルートを割り当てることができます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. router bgp as-number
3. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast }
4. redistribute { direct | { eigrp | isis | ospf | ospfv3 | rip } instance-tag | static } route-map map-name
5. (任意) default-metric value
6. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 65536 switch(config-router)# |
BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 } { unicast | multicast } 例: switch(config-router)# address-family ipv4 unicast switch(config-router-af)# |
アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 4 |
redistribute { direct | { eigrp | isis | ospf | ospfv3 | rip } instance-tag | static } route-map map-name 例: switch(config-router-af)# redistribute eigrp 201 route-map Eigrpmap |
他のプロトコルからのルートを BGP に再配布します。ルート マップの詳細については、「ルート マップの設定」を参照してください。 |
ステップ 5 |
default-metric value 例: switch(config-router-af)# default-metric 33 |
(任意)BGP へのデフォルト ルートを作成します。 |
ステップ 6 |
copy running-config startup-config 例: switch(config-router-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、EIGRP を BGP に再配布する例を示します。
switch# configure terminal
switch(config)# router bgp 65536
switch(config-router)# address-family ipv4 unicast
switch(config-router-af)# redistribute eigrp 201 route-map Eigrpmap
switch(config-router-af)# copy running-config startup-config
デフォルト ルートのアドバタイズ
デフォルトのルート(ネットワーク 0.0.0.0)をアドバタイズするように BGP を設定できます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. route-map allow permit
3. exit
4. ip route ip-address network-mask null null-interface-number
5. router bgp as-number
6. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} unicast
7. default-information originate
8. redistribute static route-map allow
9. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
route-map allow permit 例: switch(config)# route-map allow permit switch(config-route-map)# |
ルータのマップ コンフィギュレーション モードを開始し、ルートを再配布する条件を定義します。 |
ステップ 3 |
exit 例: switch(config-route-map)# exit switch(config)# |
ルータのマップ コンフィギュレーション モードを終了します。 |
ステップ 4 |
ip route ip-address network-mask null null-interface-number 例: switch(config)# ip route 0.0.0.0 0.0.0.0 null 0 switch(config-router)# |
IP アドレスを設定します。 |
ステップ 5 |
router bgp as-number 例: switch(config)# router bgp 100 switch(config-router)# |
BGP モードを開始し、AS 番号をローカルの BGP スピーカに割り当てます。 |
ステップ 6 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 } unicast 例: switch(config-router)# address-family ipv4 unicast switch(config-router-af)# |
アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 7 |
default-information originate 例: switch(config-router-af)# default-information originate |
デフォルトのルートをアドバタイズします。 |
ステップ 8 |
redistribute static route-map allow 例: switch(config-router-af)# redistribute static route-map allow |
デフォルトのルートを再配布します。 |
ステップ 9 |
copy running-config startup-config 例: switch(config-router-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
マルチプロトコル BGP の設定
複数のアドレス ファミリ(IPv4 および IPv6 のユニキャストおよびマルチキャスト ルートを含む)をサポートするように MP-BGP を設定できます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. router bgp as-number
3. neighbor ip-address remote-as as-numbe r
4. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} { unicast | multicast }
5. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 65536 switch(config-router)# |
BGP モードを開始し、ローカル BGP スピーカに自律システム番号を割り当てます。 |
ステップ 3 |
neighbor ip-address remote-as as-number 例: switch(config-router)# neighbor 192.168.1.2 remote-as 65537 switch(config-router-neighbor)# |
BGP ルーティング用のネイバー コンフィギュレーション モードを開始し、ネイバー IP アドレスを設定します。 |
ステップ 4 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 } { unicast | multicast } 例: switch(config-router-neighbor)# address-family ipv4 multicast switch(config-router-neighbor-af)# |
アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 5 |
copy running-config startup-config 例: switch(config-router-neighbor-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、ネイバーのマルチキャスト RPF に対して IPv4 および IPv6 ルートのアドバタイズおよび受信をイネーブルにする例を示します。
switch# configure terminal
switch(config)# interface ethernet 2/1
switch(config-if)# ipv6 address 2001:0DB8::1
switch(config-if)# router bgp 65536
switch(config-router)# neighbor 192.168.1.2 remote-as 35537
switch(config-router-neighbor)# address-family ipv4 multicast
switch(config-router-neighbor-af)# exit
switch(config-router-neighbor)# address-family ipv6 multicast
switch(config-router-neighbor-af)# copy running-config startup-config
ポリシーベースのアドミニストレーティブ ディスタンスの設定
設定されたルート マップで説明されているポリシーに一致する外部 BGP(eBGP)と内部 BGP(iBGP)の距離を設定できます。ルート マップで設定された距離は、一致するルートとともにユニキャスト RIB にダウンロードされます。BGP は最適パスを使用して、ユニキャスト RIB テーブルのネクスト ホップをダウンロードするときのアドミニストレーティブ ディスタンスを決定します。ポリシーに match 句または deny 句がない場合、BGP は distance コマンドで設定された距離またはルートのデフォルトの距離を使用します。
ポリシーベースのアドミニストレーティブ ディスタンス機能は、2 つの異なるルーティング プロトコルから同じ宛先に 2 つ以上のルートが存在する場合に役立ちます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. ip prefix-list name seq number permit prefix-length
3. route-map map-tag permit sequence-number
4. match ip address prefix-list prefix-list-name
5. set distance value
6. exit
7. router bgp as-number
8. address-family { ipv4 | ipv6 | vpnv4 | vpnv6} unicast
9. table-map table-map-name
10. (任意) show forwarding distribution
11. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip prefix-list name seq number permit prefix-length 例: switch(config)# ip prefix-list setdistance10 seq 5 permit 10.10.10.0/24# |
permit キーワードを使用して、IP パケットまたはルートを照合するためのプレフィクス リストを作成します。 |
ステップ 3 |
route-map map-name permit sequence-number 例: switch(config)# route-map setdistance permit 10 switch(config-route-map)# |
permit キーワードを使用してルート マップを作成し、ルートマップ コンフィギュレーション モードを開始します。ルートの一致基準がポリシー内で満たされると、パケットはポリシーでルーティングされます。 |
ステップ 4 |
match ip address prefix-list prefix-list-name 例: switch(config-route-map)# match ip address prefix-list setdistance10 |
プレフィクス リストに基づいて IPv4 ネットワーク ルートを照合します。プレフィクス リスト名には最大 63 文字の英数字を使用できます。 |
ステップ 5 |
set distance value 例: switch(config-route-map)# set distance 10 20 30 |
ローカル自律システムから発信される内部 BGP(iBGP)または外部 BGP (eBGP)ルートおよび BGP ルートのアドミニストレーティブ ディスタンスを指定します。指定できる範囲は 1 ~ 255 です。 |
ステップ 6 |
exit 例: switch(config-route-map)# exit switch(config)# |
ルート マップ コンフィギュレーション モードを終了します。 |
ステップ 7 |
router bgp as-number 例: switch(config)# router bgp 100 switch(config-router)# |
BGP モードを開始し、AS 番号をローカルの BGP スピーカに割り当てます。 |
ステップ 8 |
address-family { ipv4 | ipv6 | vpnv4 | vpnv6 } unicast 例: switch(config-router)# address-family ipv4 unicast switch(config-router-af)# |
アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 9 |
table-map map-name 例: switch(config-router-af)# table-map setdistance |
BGP ルートを RIB テーブルに転送する前にそのルートのルート マップの選択的アドミニストレーティブ ディスタンスを設定します。テーブル マップ名には最大 63 文字の英数字を使用できます。 コマンドを設定できます。 |
ステップ 10 |
show forwarding distribution 例: switch(config-router-af)# show forwarding distribution |
(任意)転送情報の配布を表示します。 |
ステップ 11 |
copy running-config startup-config 例: switch(config-router-af)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
BGP の調整
一連のオプション パラメータを使用することによって、BGP 特性を調整できます。
BGP を調整するには、ルータ コンフィギュレーション モードで次のオプション コマンドを使用します。
|
|
bestpath [ always-compare-med | as-path multipath-relax | compare-routerid | cost-community ignore | med { confed | missing-as-worst | non-deterministic }] 例: switch(config-router)# bestpath always-compare-med |
ベストパス アルゴリズムを変更します。オプション パラメータは次のとおりです。 • always-compare-med :異なる自律システムからのパスの MED を比較します。 • as-path multipath-relax :異なる(ただし長さが等しい)AS パスを持つプロバイダー間でのロード シェアリングを許可します。このオプションを指定しないと、AS パスはロード シェアリングの場合に同一である必要があります。 • compare-routerid :同一の eBGP パスのルータ ID を比較します。 • cost-community ignore :BGP 最良パスを計算する場合に、コスト コミュニティを無視します。BGP コスト コミュニティの詳細については、『 Cisco Nexus 7000 Series NX-OS MPLS Configuration Guide 』の「Configuring MPLS Layer 3 VPN Load Balancing」の章を参照してください。 • med confed :コンフェデレーション内を起点とするパス間でのみ MED 比較を実行するよう bestpath を強制します。 • med missing-as-worst :脱落 MED を最上位 MED として扱います。 • med non-deterministic :同じ自律システムからのパス間で、必ずしも最適な MED パスを選択しません。 |
enforce-first-as 例: switch(config-router)# enforce-first-as |
ネイバー自律システムを eBGP の AS_path 属性で指定する最初の AS 番号にします。 |
log-neighbor-changes 例: switch(config-router)# log-neighbor-changes |
ネイバーでステートが変化したときに、システム メッセージを生成します。 |
router-id id 例: switch(config-router)# router-id 209.165.20.1 |
この BGP スピーカのルータ ID を手動で設定します。 |
timers [ bestpath-delay delay | bgp keepalive holdtime | prefix-peer-timeout timeout ] 例: switch(config-router)# timers bgp 90 270 |
BGP タイマー値を設定します。オプション パラメータは次のとおりです。 • delay :再起動後の初期ベスト パス タイムアウト値。指定できる範囲は 0 ~ 3600 秒です。デフォルト値は 300 です。 • keepalive:BGP セッション キープアライブ タイム。指定できる範囲は 0 ~ 3600 秒です。デフォルト値は 60 です。 • holdtime:BGP セッション ホールド タイム。指定できる範囲は 0 ~ 3600 秒です。デフォルト値は 180 です。 • timeout:プレフィックス ピア タイムアウト値。指定できる範囲は 0 ~ 1200 秒です。デフォルト値は 30 です。 このコマンドの設定後、BGP セッションを手動でリセットする必要があります。 |
BGP を調整するには、ルータ アドレス ファミリ コンフィギュレーション モードで次のオプション コマンドを使用します。
|
|
distance ebgp-distance ibgp-distance local-distance 例: switch(config-router-af)# distance 20 100 200 |
BGP のアドミニストレーティブ ディスタンスを設定します。指定できる範囲は 1 ~ 255 です。デフォルトの設定は次のとおりです。 • ebgp-distance:20。 • ibgp-distance:200。 • local-distance:220。ローカル ディスタンスは、集約廃棄ルートが RIB に組み込まれている場合に、集約廃棄ルートに使用するアドミニストレーティブ ディスタンスです。 |
BGP を調整するには、ネイバー コンフィギュレーション モードで次のオプション コマンドを使用します。
|
|
description string 例: switch(config-router-neighbor)# description main site |
この BGP ピアを説明するストリングを設定します。ストリングには最大 80 の英数字を使用できます。 |
low-memory exempt 例: switch(config-router-neighbor)# low-memory exempt |
メモリ不足状態によるシャットダウンからこの BGP ネイバーを除外します。 |
transport connection-mode passive 例: switch(config-router-neighbor)# transport connection-mode passive |
受動接続の確立だけが可能です。この BGP スピーカは BGP ピアへの TCP 接続を開始しません。このコマンドの設定後、BGP セッションを手動でリセットする必要があります。 |
remove-private-as 例: switch(config-router-neighbor)# remove-private-as |
eBGP ピアへの発信ルート アップデートからプライベート AS 番号を削除します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 (注) このコマンドの詳細については、「拡張 BGP に関する注意事項と制限事項」を参照してください。 |
update-source interface-type number 例: switch(config-router-neighbor)# update-source ethernet 2/1 |
ピアとの BGP セッション用に設定されたインターフェイスの送信元 IP アドレスを使用するように、BGP スピーカを設定します。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。単一ホップ iBGP ピアでは、 update-source が設定されている場合に、高速外部フェールオーバーをサポートします。 |
BGP を調整するには、ネイバー アドレス ファミリ コンフィギュレーション モードで次のオプション コマンドを使用します。
|
|
suppress-inactive 例: switch(config-router-neighbor-af)# suppress-inactive |
ベスト(アクティブ)ルートだけを BGP ピアにアドバタイズします。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
default-originate [ route-map map-name ] 例: switch(config-router-neighbor-af)# default-originate |
BGP ピアへのデフォルト ルートを作成します。 |
filter-list list-name { in | out } 例: switch(config-router-neighbor-af)# filter-list BGPFilter in |
着信または発信ルート アップデートに関して、この BGP ピアに AS_path フィルタ リストを適用します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
prefix-list list-name { in | out } 例: switch(config-router-neighbor-af)# prefix-list PrefixFilter in |
着信または発信ルート アップデートに関して、この BGP ピアにプレフィックス リストを適用します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。 |
send-community 例: switch(config-router-neighbor-af)# send-community |
この BGP ピアにコミュニティ属性を送信します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。
(注) このコマンドの詳細については、「拡張 BGP に関する注意事項と制限事項」を参照してください。
|
send-community extended 例: switch(config-router-neighbor-af)# send-community extended |
この BGP ピアに拡張コミュニティ属性を送信します。このコマンドによって、BGP ネイバー セッションの自動ソフト クリアまたはリフレッシュが開始されます。
(注) このコマンドの詳細については、「拡張 BGP に関する注意事項と制限事項」を参照してください。
|
グレースフル リスタートの設定
BGP のグレースフル リスタートを設定し、グレースフル リスタート ヘルパー機能をイネーブルにできます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
VDC および VRF を作成します。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. router bgp as-number
3. graceful-restart
4. graceful-restart [ restart-time time | stalepath-time time ]
5. graceful-restart-helper
6. (任意)show running-config bgp
7. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router bgp as-number 例: switch(config)# router bgp 65536 switch(config-router)# |
自律システム番号を設定して、新しい BGP プロセスを作成します。 |
ステップ 3 |
graceful-restart 例: switch(config-router)# graceful-restart |
グレースフル リスタートおよびグレースフル リスタート ヘルパー機能をイネーブルにします。このコマンドは、デフォルトでイネーブルになっています。 このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ステップ 4 |
graceful-restart [ restart-time time | stalepath-time time ] 例: switch(config-router)# graceful-restart restart-time 300 |
グレースフル リスタート タイマーを設定します。 オプション パラメータは次のとおりです。 • restart-time:BGP ピアに送信されたリスタートの最大時間。指定できる範囲は 1 ~ 3600 秒です。デフォルトは 120 です。 • stalepath-time:BGP が再起動中の BGP ピアからの古いルートを維持する最大時間。指定できる範囲は 1 ~ 3600 秒です。デフォルトは 300 です。 このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ステップ 5 |
graceful-restart-helper 例: switch(config-router)# graceful-restart-helper |
グレースフル リスタート ヘルパー機能をイネーブルにします。このコマンドは、グレースフル リスタートをディセーブルにしていながら、グレースフル リスタート ヘルパー機能はイネーブルにする必要がある場合に使用します。このコマンドによって、BGP ネイバー セッションの自動通知およびセッション リセットが開始されます。 |
ステップ 6 |
show running-config bgp 例: switch(config-router)# show running-config bgp |
(任意)BGP の設定を表示します。 |
ステップ 7 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、グレースフル リスタートをイネーブルにする例を示します。
switch# configure terminal
switch(config)# router bgp 65536
switch(config-router)# graceful-restart
switch(config-router)# copy running-config startup-config
仮想化の設定
各 VDC で 1 つずつ BGP プロセスを設定できます。各 VDC 内で複数の VRF を作成できます。また、各 VRF で同じ BGP プロセスを使用できます。
はじめる前に
BGP をイネーブルにします(「BGP の有効化」を参照)。
正しい VDC を使用していることを確認します(または switchto vdc コマンドを使用します)。
手順の概要
1. configure terminal
2. vrf context vrf-name
3. exit
4. router bgp as-number
5. vrf vrf-name
6. neighbor ip-address remote-as as-number
7. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
vrf context vrf-name 例: switch(config)# vrf context RemoteOfficeVRF switch(config-vrf)# |
新しい VRF を作成し、VRF コンフィギュレーション モードを開始します。 |
ステップ 3 |
exit 例: switch(config-vrf)# exit switch(config)# |
VRF コンフィギュレーション モードを終了します。 |
ステップ 4 |
router bgp as-number 例: switch(config)# router bgp 65536 switch(config-router)# |
自律システム番号を設定して、新しい BGP プロセスを作成します。 |
ステップ 5 |
vrf vrf-name 例: switch(config-router)# vrf RemoteOfficeVRF switch(config-router-vrf)# |
ルータ VRF コンフィギュレーション モードを開始し、この BGP インスタンスと VRF を関連付けます。 |
ステップ 6 |
neighbor ip-address remote-as as-number 例: switch(config-router-vrf)# neighbor 209.165.201.1 remote-as 65536 switch(config-router--vrf-neighbor)# |
リモート BGP ピアの IP アドレスおよび AS 番号を設定します。 |
ステップ 7 |
copy running-config startup-config 例: switch(config-router-vrf-neighbor)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、VRF を作成し、VRF でルータ ID を設定する例を示します。
switch# configure terminal
switch(config)# vrf context NewVRF
switch(config-vrf)# exit
switch(config)# router bgp 65536
switch(config-router)# vrf NewVRF
switch(config-router-vrf)# neighbor 209.165.201.1 remote-as 65536
switch(config-router-vrf-neighbor)# copy running-config startup-config