はじめに
Cisco IOS XRは、高信頼が求められる通信事業者のネットワーク機器のOSとして広く普及している。Cisco IOS XRv 9000ルータ(以下、XRv)は、仮想化された汎用x86コンピューティングプラットフォームで動作し、IOS XRソフトウェア機能を提供する。本稿では、XRvのインストール方法を整理し、簡単な動作確認をする。なお、GNS3(ネットワークシミュレータ)と組み合わせて動作させることもできるが、ハードウェアリソースが限られるため、本稿ではGNS3を使用しない方法を述べる。
環境
本稿では、以下の環境でXRvのインストールを実施した。
名前 | バージョン |
---|---|
MacBook Pro(Early 2015) | macOS High Sierra(10.13.6) |
VirtualBox | 5.2.18 |
IOS XRv 9000(デモ版) | 6.0.0 |
VirtualBoxのインストール
VirtualBoxは仮想マシンを動作させることのできるソフトウェアである。XRvをVirtualBox上で仮想ルータとして動作させるため、公式ページからお使いの環境(本稿ではmacOS)に合わせてVirtualBoxをダウンロードし、インストールをする。VirtualBoxのインストール方法はQiitaでも多くの方が説明してくれているので、ここでは割愛する。
XRvのインストール
XRvの入手方法
XRvの入手は容易ではないかもしれない。XRvはCisco社の製品であるが、かつてはiosxrv-k9-demo-x.y.z
というファイル名のデモ版がCisco Upload Pageからダウンロードできたようであるが、本稿執筆時(2018年8月16日現在)にはダウンロードファイルが存在しない。XRv 5.4以降のバージョンでは、ライセンス認証をしなければデモ状態(200kbps制限)として動作する(参考)ので、製品版を入手してデモ状態で動作させれば良いのだが、Cisco.com ID(旧 CCO ID)にService Contractが必要で、特にCisco社のパートナー企業にお勤めでない場合は入手の敷居が高い。
XRvの構築
本稿では、XRv デモ版(iosxrv-k9-demo-6.0.0.ova)をVirtualBox上で動作させる。手順は以下の通りである。
XRvのインポート
VirtualBoxを起動し、VirtualBoxマネージャーの仮想アプライアンスのインポート
からiosxrv-k9-demo-6.0.0.ovaをインポートする。設定は後で変更するため、ひとまずインポートボタンを押し、XRvを構築する。
XRvの設定変更
VitualBoxマネージャーの設定から下記変更を行う。
-
名前の設定
- 「一般/基本」から「名前」を所望の値に変更する。ここでは
xrv
とした。
- 「一般/基本」から「名前」を所望の値に変更する。ここでは
-
システムリソースの設定
- 「システム/マザーボード」の「起動順序」からフロッピーと光学のチェックを外す。
- 「メインメモリー」を所望の値に変更する。ここでは必要最小限となる
2048MB
を割り当てた(2GB未満だとXRvの起動に失敗する。バージョンによって異なる場合があるので、起動に失敗したらより多くのリソースを割り当ててください)。
- 「システム/プロセッサー」の「プロセッサー数」を所望の値に変更する。ここでは必要最小限となる
1
を割り当てた(バージョンによって異なる場合があるので、起動に失敗したらより多くのリソースを割り当ててください)。
-
オーディオの設定
- 「オーディオ」から「オーディオを有効化」のチェックを外す。
-
ネットワークの設定
-
「ネットワーク/アダプター1〜アダプター4」の設定を変更する。
-
VirtualBoxとXRvのインターフェースの対応関係はAppendixに整理しているが、「アダプター1」を管理用、「アダプター2~4」をデータプレーン用として設定する。
-
「アダプター1」は、「ネットワークアダプターを有効化」をチェックを入れ、「割り当て」を
ブリッジアダプター
、「名前」をen0:Wi-Fi
(macの場合)、「アダプタータイプ」を準仮想化ネットワーク(virtio-net)
にする。- 「名前」には、ホストOSからXRvへのSSH接続のため、ホストOS(ここではmacOS)からアクセス可能なインターフェースを指定する。
- 「アダプタータイプ」を
virtio-net
以外にすると上手く動作しない。
-
「アダプター2~4」は、「ネットワークアダプターを有効化」をチェックを入れ、「割り当て」を
内部ネットワーク
、「名前」を所望のネットワーク名、「アダプタータイプ」をvirtio-net
にする。- 「名前」が同じアダプターは同一ネットワーク(ここではブロードキャストドメイン)に属する。
- 「アダプタータイプ」を
virtio-net
以外にすると上手く動作しない。
-
-
ポートの設定
- 「ポート/シリアルポート/ポート1」から、「シリアルポートを有効化」にチェックをいれる。この設定によりXRvにシリアル接続が可能になる。
- 「ポート番号」を
COM1
、「ポートモード」をホストにパイプ
、「存在するパイプ/ソケットに接続」のチェックを外し、「パス/アドレス」に所望のコンソール接続先パス名を入力する。
コンソール接続の準備
macOSでコンソール接続するために、[socat
] (https://github.com/craSH/socat)をインストールする。macOSのパッケージマネージャーであるHomebrewが既にインストールされていれば、下記コマンドでインストールできる。
$ brew install socat
XRvの起動と接続
VirtualBoxマネージャーからXRvを起動する。起動後、接続先として設定したシリアルポートのパスに接続する(ここでは/tmp/xrv
)。これから何度も使用するコマンドとなるので、コマンドをシェルスクリプト化しておくと良い。
# socat [シリアルポートのパス] stdio,raw,echo=0,escape=0x1a
$ socat /tmp/xrv stdio,raw,echo=0,escape=0x1a
# socatから抜けるときは「ctrl+z」(escapeで指定)
接続後、XRvの起動を確認できる。初回起動時には、ユーザ名やパスワードの設定を求められるので、所望の値を入力する。
数分後、Usernameの入力画面まで到達すれば、構築は完了である
XRvの動作確認
ネットワーク構成
下図のようなネットワークを構築し、簡単な動作確認を行う。
クローンの作成
作成したXRvのクローンを作成し、相互接続を確認する。ここではCE1~4、PE1~2、Pの計7台のXRvを構築した。
クローン時には、「すべてのネットワークカードのMACアドレスを最初期化」にチェックをいれ、新しい名前を入力する。
「すべてをクローン」にチェックをいれ、クローンボタンを押す。
クローン後、以下の設定変更が必要である。
- ネットワークアダプタ2~4の内部ネットワークの名前
- シリアルポートのパス/アドレス
Appendix
VirtualBoxとXRvのインターフェース対応表
VirtualBox | XRv |
---|---|
アダプター1 | Mg0/0/CPU0/0 |
アダプター2 | Gi0/0/0/0 |
アダプター3 | Gi0/0/0/1 |
アダプター4 | Gi0/0/0/2 |