My Home NW Lab

逸般の誤家庭のネットワーク

Cisco ACIでのMP-BGP Route Reflectorの設定

Cisco ACIのWeb UIからMP-BGP Route Reflectorの設定を行う方法を検証したので、情報を整理しながら書き残します。

設定の概要 (設定個所の整理)

MP-BGP Route Reflectorの設定は大きく分けると、下記の3つの設定より構成されます。

  • メニュー: System > System Settings > BGP Route Reflector

  • メニュー: Fabric > Fabric Policies > Pods > Policy Groups

  • メニュー: Fabric > Fabric Policies > Profiles > Pod Profile default > default

MP-BGP Route Reflector設定の構成要素

検証時の情報

ACI Simulatorを用いて検証したため、実機 (通常のACI)と比較すると正確性に欠ける可能性がある点に留意してください。

  • dCloudカタログ: Getting Started with Cisco ACI 6.0 v1

  • ACI Simulator Version: 6.0(1g)

事前準備

  • MP-BGP Route Reflectorとして動作させるSpine SwitchのNode IDを指定する必要があるため、Fabric MembershipでNodeの登録を済ませた状態にしておきます。

    ACI Simulatorを用いた検証環境の場合は、下記の記事を参考にしてコマンドでNodeを登録すると再現検証が楽になります。

    myhomenwlab.hatenablog.com

  • Route Reflector Nodes の設定を行う際に、Spine SwitchのNode IDの情報が必要になるため、メニュー: Fabric > Inventory > Fabric Membership などで事前に確認しておいてください。

    Spine SwitchのNode IDの確認

設定方法

System タブ内の設定

  • メニュー: System > System Settings > BGP Route Reflector に移動して設定を行います。

    System タブ内の設定

    • Autonomous System Number に任意のAS番号を指定します。

    • Route Reflector Nodes+ (プラス記号) を押下して、Route Reflectorとして動作させるSpine SwitchのNode IDを指定します。

    • Submit ボタンを押下して設定を保存します。

Fabric タブ内の設定

Pod Policy Groupの作成

  • メニュー: Fabric > Fabric Policies > Pods > Policy Groups に移動して、ツール アイコンから Create Pod Policy Group ボタンを押下してPod Policy Groupを作成します。

    Fabric タブ内の設定 - Pod Policy Groupの作成

    • Create Pod Policy Group の設定画面で下記の例のように設定します。

      設定項目 設定値 備考
      Name default 任意の名称を指定します。
      BGP Route Reflector Policy default

      その他に必要なPolicy設定がある場合は適宜チューニングしてください。

    • Submit ボタンを押下して設定を保存します。

Pod ProfileへPod Policy Groupの紐付け

  • メニュー: Fabric > Fabric Policies > Profiles > Pod Profile default > default に移動します。 Fabric Policy Group の設定項目に、事前に作成済みのPod Policy Groupを指定して Submit ボタンを押下します。

    Fabric タブ内の設定 - Pod ProfileへPod Policy Groupの紐付け

設定後 (After)のSpine Switchの状態確認

設定が完了したらSpine Switchの設定反映状況を確認しておきます。

  • Spine Switch上のCLIgrep asn /mit/sys/bgp/inst/summary コマンドを実行して asn の値が設定したAS番号になっているかを確認します。

    admin@spine1:~> grep asn /mit/sys/bgp/inst/summary
    asn          : 65000
    admin@spine1:~>
    

    注記: ACI Simulator 上での実行例であり、実機の挙動と異なるためプロンプトが # ではなく > になっています。

    備忘録: ACI Simulator 環境でのSpine Switchへの接続は apic1# ssh Spine1 のようにしてAPICからSSH接続しました。

  • Spine Switch上のCLIshow processes | grep bgp コマンドを実行します。bgp プロセスのStateが S になっているのを確認します。 もしStateが NR (Not Running) の場合は設定の反映に失敗しています。

    下記の実行例は、Header行とStatus情報を含めるように grep コマンドの引数を調整しています。

    spine1# show processes | grep -e '^PID ' -e '^State:' -e 'NR(not running)' -e 'bgp'
    PID    State  PC        Start_cnt    TTY   Process
    51989      S  f777c0f2            1     -  bgp
    State: R(runnable), S(sleeping), Z(defunct)
         NR(not running), ER(terminated etc)
    spine1#
    

    注記: ACI Simulator ではコマンドを実行できなかったので、APIC Version: 6.0(2h)の実機でのサンプル出力を掲載しています。

関連ドキュメント

Cisco APIC Layer 3 Networking Configuration Guide の内容を参考に本記事を書きました。 下記は Version: 6.0(x) のドキュメントです。

Cisco APIC Layer 3 Networking Configuration Guide, Release 6.0(x) - Routed Connectivity to External Networks [Cisco Application Policy Infrastructure Controller (APIC)] - Cisco
https://www.cisco.com/c/en/us/td/docs/dcn/aci/apic/6x/l3-configuration/cisco-apic-layer-3-networking-configuration-guide-60x/routed-connectivity-to-external-nets-layer3-config-60x.html#concept_F3E0BFAF5BD04F379B5A7A2A77100E85