Skip to content

Cisco

CoreLinux 6.3 を VIRL に登録する

Tiny Core Linux はフットプリントが非常に小さい Linux ディストリビューションで、Cisco VIRL のような仮想化された検証環境内で複数インスタンスを立ち上げても軽快に動作する、という特徴があります。用途に応じて幾つかの種類があります。参考として記載したサイズは 6.3 用 ISO イメージのサイズです。

  1. Core
    • 9MB 程度。CLI だけの、最小環境での利用を想定。
  2. TinyCore
    • 15MB 程度。GUI(X)を含む。
  3. CorePlus
    • 84MB 程度。TinyCore に様々なパッケージを追加している。

追加パッケージも数多く提供されているので Core をベースにパッケージを追加し、カスタマイズしていくのも簡単です。今回は Core を VIRL に登録してみます。

Juniper vMX を Cisco VIRL に登録する

Juniper vMX を使うと x86 上で JUNOS を動作させることが出来ます。vSRX も JUNOS の学習に使えますが、KVM / QEMU 上で使うとなぜか commit 出来ません… Cisco VIRL に vMX を登録するとひとつの環境で Cisco や Juniper、その他の OS との相互接続を検証することが出来、非常に便利です。vMX を VIRL に登録するのは簡単ですのでポイントだけ記載しておきます。

Cisco で VRF + BGP を設定しつつ、RouteLeak で特定 VRF 間の経路だけ許可する

VRF を設定すると一台のルータのルーティングテーブルを論理的に分割して利用出来ます。これは「顧客ごとにルーティングテーブルを独立・分割して保持したい」という場合に便利です。別の表現をすると「異なる VRF 間では通信出来ない」とも言えます。しかし、「顧客ごとにルーティングテーブルは VRF で分割するものの、共通のサービス基盤は全ての顧客から参照させたい」というケースもあり得ます。こういった場合は RouteLeak の設定をすることで設定した VRF 間では通信を許可することが出来ます。

今回は VIRL 上の Cisco ルータで VRF を設定し、BGP で経路交換をさせつつ、「サービス基盤と顧客は通信出来る」「顧客同士は通信出来ない」という要件を満たすように RouteLeak 設定を行います。

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 テーブル上でベストパスとして選出された経路はルーティングテーブルにインストールされ、実際のパケット転送(の、方路検索)時に利用されます。