Skip to content

Cisco

Failover 構成の ASAv で BGP を動作させる

ASA Border Gateway Protocol Configuration Example によると Cisco ASA の OS バージョン 9.2.1 以降では BGP をサポートしたそうです。

This document describes the steps required to enable Border Gateway Protocol (BGP) (eBGP/iBGP) routing, establish a BGP routing process, configure general BGP parameters, route-filtering on an Adaptive Security Appliance (ASA), and troubleshoot neighborship related issues. This feature was introduced in ASA Software Version 9.2.1.

そこで今回は ASAv を Active / Standby のFailover(HA)構成とし、更に BGP を動作させてみます。

BGP テーブルと ROUTE-REFRESH について

BGP は他のルーティングプロトコルと異なり、「BGP で学習した経路」だけを保持する「BGP テーブル」を持ちます。BGP では複数の Peer から同じ経路を学習した場合、既定のアルゴリズムに従って最善と思われる経路(ベストパス)を選出します。このアルゴリズムのことを「ベストパス選択アルゴリズム(Best Path Selection Algorithm)」と呼びます。BGP テーブル上でベストパスとして選出された経路はルーティングテーブルにインストールされ、実際のパケット転送(の、方路検索)時に利用されます。

BGP advertise best external で意図的にループ構成を作ってみる

前回は BGP Advertise Best External による BGP のバックアップパスを設定してみました。通常であれば BGP はスプリットホラインズン動作によりループが出来ないように振る舞います。しかし、BGP Advertise Best External を使うとループが発生してしまうことがあります。今回は BGP Advertise Best External 設定環境下で意図的にループを発生させてみます。

BGP Advertise Best External によるバックアップパスを試してみる

通常、BGP スピーカが他の BGP スピーカに広告する経路は最善の経路と選定されたものだけであり、全く同じ複数の経路を広告することは出来ません。つまり、BGP において「ベストパスは常にひとつだけ」であり、「バックアップパス(代替パス)は存在しない」ということになります。しかしながら、バックアップパスがあれば障害によってベストパスが無くなってもいち早くバックアップパスに切り替わることが出来るので収束が早くなる、といった利点があります。バックアップパスを広報する手段として以下の 3 種類が検討されているそうです。

  1. BGP Advertise Best External
  2. BGP add-path
  3. BGP Diverse Path

今回は Cisco ルータを使って BGP Advertise Best External によるバックアップパスを試してみます。尚、検証に際しては RFC 以外にも以下の資料を参考にさせて頂きました。

これらの資料を公開してくださった土屋師子生さん、篠宮 俊輔さん、河野 美也さんに敬意を表します。

VIRL に RouterOS を登録してシミュレーション環境を作るには

VIRL に RouterOS を追加するとルーティングの挙動確認等、論理的な検証は非常に楽になります。そこで今回は VIRL 上で動作する RouterOS の動作イメージを作成し、それを VIRL へ登録してみます。VIRL をお持ちで無い方は GNS3 でも近い手順で似たような検証環境を作れると思います(未検証)。

一点だけ、注意点があります。RouterOS の仕様でライセンス未登録状態だと 24 時間しか利用出来ないそうです。ですが、少なくても私は「短時間で作る・壊すを繰り返す」為、ライセンス未登録状態でも全く困っていません。

Cisco VIRL のログイン情報まとめ

Cisco の公式ネットワークシミュレータである Cisco VIRL を使うと、仮想化環境内で簡単に Cisco IOSv や CSR1000v、XRv、Nexus を検証することが出来ます。VIRL は OpenStack をベースに複数のソフトウェアを組み合わせている為、ソフトウェア毎に複数のログイン情報が必要になります。検証対象ネットワーク製品と合わせて、ログイン情報を整理しておきます。

OS X で Cisco VIRL のコンソール接続に iTerm を使うには

Cisco の VIRL は有償のネットワークシミュレータで、Cisco IOSv や CSR1000v、XRv、Nexus を簡単に検証することが出来ます。通常は $199 の製品ですが、公式サイト右下にある「GET $50 DISCOUNT」をクリックして表示される文字列を購入時に入力すると $149 で購入することが出来ます。VIRL には 3 種類の提供形態があるので、自分に適した形態を購入時に選択する必要があります。

  1. VMware Player 版
  2. VMware ESXi 版
  3. ベアメタル版

VIRL は「VMMaestro」という専用ツールから操作します。VIRL 内で作成した仮想ルータにコンソール接続する際、初期状態では VMMaestro 内のコンソールウインドウが利用されますが、これではやや不便です。そこで、今回は OS X 環境で VIRL のコンソール接続を(VMMaestro では無く)iTerm2 上で実行する方法を記載します。尚、本記事の元ネタは以下です。下記 URL には OS X だけでなく、Windows での設定例も記載されていますので、英語に不自由しない方は下記をご覧になった方が有効です。