Cisco(IOSv / CSR1000V / XRv / NX-OSv / ASAv)、MikroTik、VyOS で eBGP 接続してみる
Cisco、Mikrotik、VyOS を eBGP 接続し、各々のコンフィグを比較してみました。具体的には以下の機器を用いました。
- Cisco IOSv
- Cisco CSR1000V
- Cisco XRv
- Cisco NX-OSv
- Cisco ASAv
- Mikrotik
- VyOS
Cisco、Mikrotik、VyOS を eBGP 接続し、各々のコンフィグを比較してみました。具体的には以下の機器を用いました。
Cisco VIRL 上に VyOS も登録すると検証時に便利です。今回は VIRL に VyOS を登録してみます。大まかな手順は以前に書いた「VIRL に RouterOS を登録してシミュレーション環境を作るには」と同じ流れになります。
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 は他のルーティングプロトコルと異なり、「BGP で学習した経路」だけを保持する「BGP テーブル」を持ちます。BGP では複数の Peer から同じ経路を学習した場合、既定のアルゴリズムに従って最善と思われる経路(ベストパス)を選出します。このアルゴリズムのことを「ベストパス選択アルゴリズム(Best Path Selection Algorithm)」と呼びます。BGP テーブル上でベストパスとして選出された経路はルーティングテーブルにインストールされ、実際のパケット転送(の、方路検索)時に利用されます。
前回は BGP Advertise Best External による BGP のバックアップパスを設定してみました。通常であれば BGP はスプリットホラインズン動作によりループが出来ないように振る舞います。しかし、BGP Advertise Best External を使うとループが発生してしまうことがあります。今回は BGP Advertise Best External 設定環境下で意図的にループを発生させてみます。
通常、BGP スピーカが他の BGP スピーカに広告する経路は最善の経路と選定されたものだけであり、全く同じ複数の経路を広告することは出来ません。つまり、BGP において「ベストパスは常にひとつだけ」であり、「バックアップパス(代替パス)は存在しない」ということになります。しかしながら、バックアップパスがあれば障害によってベストパスが無くなってもいち早くバックアップパスに切り替わることが出来るので収束が早くなる、といった利点があります。バックアップパスを広報する手段として以下の 3 種類が検討されているそうです。
今回は Cisco ルータを使って BGP Advertise Best External によるバックアップパスを試してみます。尚、検証に際しては RFC 以外にも以下の資料を参考にさせて頂きました。
これらの資料を公開してくださった土屋師子生さん、篠宮 俊輔さん、河野 美也さんに敬意を表します。
前回 は Cisco CSR 1000V へ REST API でアクセスしてみました。今回は ASAv へ REST API でアクセスしてみます。必要最低限しか設定していませんので、商用環境で利用する際はセキュリティへの配慮が必要です。
Cisco CSR 1000V に REST API でアクセスする為の設定をまとめておきます。商用環境で利用する際はセキュリティへの配慮が必要です。
VIRL に RouterOS を追加するとルーティングの挙動確認等、論理的な検証は非常に楽になります。そこで今回は VIRL 上で動作する RouterOS の動作イメージを作成し、それを VIRL へ登録してみます。VIRL をお持ちで無い方は GNS3 でも近い手順で似たような検証環境を作れると思います(未検証)。
一点だけ、注意点があります。RouterOS の仕様でライセンス未登録状態だと 24 時間しか利用出来ないそうです。ですが、少なくても私は「短時間で作る・壊すを繰り返す」為、ライセンス未登録状態でも全く困っていません。
VIRL 上の Cisco プラットフォームへ SSH ログイン出来るように設定してみます。検証環境での利用を想定しています。商用環境で利用する場合は、よりセキュリティに配慮する必要があります。