ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

IOS-XRvをVirtualBoxとGNS3で動かすまで

概要

タイトルの通り。某所でアリスタ社の方が「SNMP古い!これからのテレメトリーはgRPCだ!!」とおっしゃっていて、gRPCとは何ぞ~と思っていたところに「IOS-XRvのデモ版がタダで使えて、gRPCが動く」なんてツイートを見たので飛びついてみた。まずはPC上(Windows10、VirtualBoxとGNS3インストール済)で動かして、pingで疎通確認するところまで。

参照

www.youtube.com

www.routingloops.co.uk

手順

Ciscoサイトからイメージをダウンロード

以下のサイトからISOイメージをダウンロードする(要Cisco ID)。最新リリース(6.1.1)はOVAファイルしかないようだったので、それを落とした。

https://upload.cisco.com/cgi-bin/swc/fileexg/main.cgi?CONTYPES=Cisco-IOS-XRv

以下参考。

itpro.nikkeibp.co.jp

VirtualBoxVMを作成

「ファイル」→「仮想アプライアンスのインポート」を選択して、先ほどダウンロードしたOVAファイルを選択する(画像の「iosxrv01」は練習がてら作成したもの)。

f:id:befs_anne:20161214215044j:plain

f:id:befs_anne:20161214232449j:plain

初期設定は、名前とCPU、RAMだけいじっておく(8GBも食わせられないので)。

f:id:befs_anne:20161214225426j:plain

VMが完成。細かい設定をしていく。

f:id:befs_anne:20161214225657j:plain

起動時に読み込むメディアからフロッピーと光学を外す。

f:id:befs_anne:20161214225720j:plain

ネットワークアダプタMACアドレス以外全て同じ設定。

f:id:befs_anne:20161214225744j:plain

シリアルポートの設定。

f:id:befs_anne:20161214225805j:plain

GNS3でテンプレートを作成

「Edit」→「Preferences」→「VirtualBox VMs」を選択する。

f:id:befs_anne:20161214225927j:plain

「New」ボタンをクリックして新規テンプレートを作成する。

f:id:befs_anne:20161214230003j:plain

以下のように設定。

f:id:befs_anne:20161214230217j:plain

f:id:befs_anne:20161214230154j:plain

GNS3でVM配置、起動

画面左のルータの形をしたアイコンをクリックして、先ほど作成したiosxrv02を画面中央にD&Dする。

f:id:befs_anne:20161214230411j:plain

f:id:befs_anne:20161214230431j:plain

画面上部の再生ボタン(Start/Resume all devices)をクリックすると……こいつ、動くぞ!

f:id:befs_anne:20161214230700j:plain

ルータアイコンを右クリック→「Console」でコンソールを確認できる。

f:id:befs_anne:20161214230709j:plain

設定、結線、疎通確認

iosxrv01も起動して、もろもろ設定。

# iosxrv01
configure terminal
hostname iosxrv01
interface gigabitethernet 0/0/0/0
ipv4 address 10.0.0.1 255.255.255.0
no shutdown
commit
end

# iosxrv02
configure terminal
hostname iosxrv02
interface gigabitethernet 0/0/0/0
ipv4 address 10.0.0.2 255.255.255.0
no shutdown
commit
end

※まだ結線してないのに、no shutした段階でUp/Upになるのは……なぜ?

画面左のケーブルの形したアイコンをクリックして、各ルータアイコンをクリックしてケーブルを接続するI/Fを選択する(今回はEthernet0どうし)。

片方のiosxrvのコンソールから、対向のIPアドレスに向けてpingを送信する。

# iosxrv01
ping 10.0.0.2

無事通った。今日はここまで。

f:id:befs_anne:20161214231450j:plain

所感

はじめてIOS-XR触った。明らかに私がこれまで触ってきたIOSとは違うし、Junosとも違う。ハーフと言うとしっくりくる。本来の目的はgRPCの検証だけど、これを通してIOS-XRの習熟も図りたい。

あと概要を書いている時(「アリスタ社…」のところ)にアリスタのvEOSを思い出した。こっちでやればいいのでは……?gRPCできるか分からないけど。

VirtualBoxでAristaのvEOSを使えるようにする

……これはこれでやろう。