Cisco VIRL 上でパケットキャプチャしてみる
今のところ Cisco VIRL 環境の UI(VMMaestro)上ではパケットキャプチャが出来ません。但し、VIRL を動作させている Ubuntu ホストにログインしてパケットキャプチャすることは可能です。YouTube 上でも詳細な手順が公開されています。
今回は実際に Ubuntu ホスト上でのパケットキャプチャを試してみます。
今のところ Cisco VIRL 環境の UI(VMMaestro)上ではパケットキャプチャが出来ません。但し、VIRL を動作させている Ubuntu ホストにログインしてパケットキャプチャすることは可能です。YouTube 上でも詳細な手順が公開されています。
今回は実際に Ubuntu ホスト上でのパケットキャプチャを試してみます。
Cisco、Juniper、MikroTik で IPv6 を使った eBGP Peer を設定してみます。
Cisco ACI 標準の Web 管理画面では Bridge Domain ごとに設定した Subnet 情報を一覧で見ることが出来ません。同一 Tenant 内であれば下図のように Bridge Domain 配下の Subnet をひとつひとつ展開し、アドレスを表示させる… ということも不可能ではありません。
ただし Bridge Domain の数が多くなれば「ひとつひとつ展開する」のは現実的ではありません。また、そもそも複数 Tenant の Bridge Domain / Subnet 情報を一度に表示させることは出来ません。そこで acitoolkit を使って「全 Tenant の Subnet 情報を一覧表示するスクリプト」を書いてみました。今回のスクリプトには以下のような特徴があります。
VRF を設定している環境で show コマンド実行する場合、都度、VRF を指定するのは煩わしいものです。IOS や IOS-XE には実装されていないようなのですが、ASR9000 で使われている IOS-XR では「明示的に指定しなかった場合の VRF」を set default-vrf で指定しておくことが出来ます。今回はこのコマンドの動作を確認します。尚、set default-vrf は 1 セッションでのみ、有効です。例えば SSH セッションを切断して再ログインしなおすと初期状態(= set default-vrf の指定が無い状態)に戻ります。
Tiny Core Linux はフットプリントが非常に小さい Linux ディストリビューションで、Cisco VIRL のような仮想化された検証環境内で複数インスタンスを立ち上げても軽快に動作する、という特徴があります。用途に応じて幾つかの種類があります。参考として記載したサイズは 6.3 用 ISO イメージのサイズです。
追加パッケージも数多く提供されているので Core をベースにパッケージを追加し、カスタマイズしていくのも簡単です。今回は Core を VIRL に登録してみます。
Juniper vMX を使うと x86 上で JUNOS を動作させることが出来ます。vSRX も JUNOS の学習に使えますが、KVM / QEMU 上で使うとなぜか commit 出来ません… Cisco VIRL に vMX を登録するとひとつの環境で Cisco や Juniper、その他の OS との相互接続を検証することが出来、非常に便利です。vMX を VIRL に登録するのは簡単ですのでポイントだけ記載しておきます。
OpenWrt はフットプリントが小さく、VIRL 上での検証時に便利です。今回は OpenWrt に Open vSwitch (以下、OvS)と Ryu を追加し、VIRL に登録します。但し、現状では Ryu は起動するものの、Open vSwitch は Segmentation Fault を起こして利用出来ませんでした。
VRF を設定すると一台のルータのルーティングテーブルを論理的に分割して利用出来ます。これは「顧客ごとにルーティングテーブルを独立・分割して保持したい」という場合に便利です。別の表現をすると「異なる VRF 間では通信出来ない」とも言えます。しかし、「顧客ごとにルーティングテーブルは VRF で分割するものの、共通のサービス基盤は全ての顧客から参照させたい」というケースもあり得ます。こういった場合は RouteLeak の設定をすることで設定した VRF 間では通信を許可することが出来ます。
今回は VIRL 上の Cisco ルータで VRF を設定し、BGP で経路交換をさせつつ、「サービス基盤と顧客は通信出来る」「顧客同士は通信出来ない」という要件を満たすように RouteLeak 設定を行います。
VIRL 上の Mikrotik(RouterOS)と Cisco ASAv 間で Site-to-Site な IPsec を設定してみます。