EVE-NGにエミュレーション対象のイメージを追加して動かしてみよう
EVE-NGでは様々なネットワークベンダーの製品やクライアント、サーバを仮想ノードとしてラボ上で扱うことができます。
対象機器やソフトウェアをラボ上で仮想ノードとして利用するためには、もちろんイメージを入手して、EVE-NGに登録することが必要なのですが、ざっくりとそれらの流れをまとめると以下のとおりです。
- メーカや団体などの公式サイトからイメージを入手
- イメージをホスト(EVE_NGをインストールしたマシンの特定ディレクトリ)へコピー
- EVE-NGにイメージを認識させる
今回は Cisco Nexus9000vと、Ubuntu(Linux )を例にとって、イメージの入手からラボで動かすまでの流れを具体的に紹介していきたいと思います。
なお公式サイトには各イメージの追加手順に関するドキュメントが存在しています。TOPメニューの“Documentation" -> “HowTo’s" が、該当ドキュメントへのリンク集となっています。
ざっくりとした手順はどのイメージもあまり変わらないのですが、やはり細かい手順やルールはイメージによって異なってきます。新規のイメージを追加する際にはドキュメントで手順など確認してみてください。
まだEVE-NGをインストールされていない方はこちらをご参考に↓↓
目次
Nexus9000vのイメージ追加
それではNexus9000vから始めてみます。公式手順については以下のリンクより確認することができます。
Cisco Software Download(旧CCO)からイメージのダウンロード
まずはじめにCisco Software Downloadからイメージをダウンロードします。サイトにアクセスするにはCisco ID(CCOアカウント)が必要です。アカウントは無料で作成できるので、持っていない方は作成いただければと思います。
バージョンは現時点の最新版9.3.1 (2019年時点)を選択し、形式はqcow2でダウンロードします。
ホストへイメージのコピー
ダウンロードしたイメージファイル(”nxosv.9.3.1.qcow2”)を、ホスト上の適当なディレクトリにコピーします。ホストへのコピー方法はなんでもOKです。私はよく以下のようにSCPを利用しています。
scp nxosv.9.3.1.qcow2 root@x.x.x.x:~
ディレクトリへイメージを配置
ホストにイメージをコピーした後、EVE-NGへ認識させるために、特定のパスにディレクトリを作成し、そのディレクトリ配下に特定のイメージ名で配置する必要があります。
EVE-NGで認識されるネーミングルールはこちら。
Nexus9000vの場合、パスは"/opt/unetlab/addons/qemu/"、ディレクトリ名は"nxosv9k-“(ハイフン以降はバージョン名など任意)、イメージファイル名は ”sataa.qcow2”となります。
それではネーミングルールに則り、ホスト上にディレクトリを作成します。
mkdir /opt/unetlab/addons/qemu/nxosv9k-nxosv9.3.1/
次に先ほどホストへコピーしたイメージファイルをディレクトリ配下に移動します。移動の際にファイル名も変更します。
mv nxosv.9.3.1.qcow2 /opt/unetlab/addons/qemu/nxosv9k-nxosv9.3.1/sataa.qcow2
fixpermissionsの実行
最後にこちらのコマンドを入力して完了です。
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
このコマンドによってラボ上で動作しているEVE-NGのイメージリストに反映され、ノード追加でNexus9000vが選択できるようになっています。後ほどの項目で実際に仮想ラボ上に配置してみましょう。
Ubuntuサーバのイメージ追加
今度はUbuntuのイメージ追加です。Linuxについては以下の"Create own Linux Host image"より手順を確認することができます。
イメージのダウンロード
手順を見てみると、以下2通りの方法でイメージを入手できることがわかります。
- EVE−NGオフィシャル側であらかじめ初期セットアップされたQCOW2イメージをダウンロードする
- ディストリビューションのオフィシャルサイトからISOファイルをダウンロードしてQCOW2イメージを作成する
前者はダウンロードしてすぐに利用可能、後者だとディストリビューションの初期セットアップを通してイメージを作成するので少し手順が煩雑です。今回は前者のあらかじめ用意されたQCOW2イメージを利用することにします。
該当ページ内のDownload Linux Images Hereからストレージサイトに飛び、”linux-ubuntu-srv-16.04.4-webmin.tar.gz”をダウンロードします。
ホストへイメージのコピーと解凍
ダウンロードしたファイルをホスト上にコピーしてください。以下SCPによるコマンド例です。
scp linux-ubuntu-srv-16.04.4-webmin.tar.gz root@x.x.x.x:~
次にホストにSSHでアクセスして解凍しましょう。
sudo -i
tar xzvf linux-ubuntu-srv-16.04.4-webmin.tar.gz
ディレクトリへイメージを配置
解凍すると”virtioa.qcow2”ができていますので、Nexus9000v同様、ネーミングルールに沿ってフォルダを作成して、”virtioa.qcow2”をフォルダ配下に配置します。
mkdir /opt/unetlab/addons/qemu/linux-ubuntu-srv-16.04.4-webmin
mv virtioa.qcow2 /opt/unetlab/addons/qemu/linux-ubuntu-srv-16.04.4-webmin
fixpermissionsの実行
最後に以下のコマンドを入力して、
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
これでイメージの追加は完了です。
なお今回利用したEVE-NGオフィシャル側で用意されたLinuxイメージには、あらかじめ登録済みアカウントが存在しています。セットアップ手順のページにアカウント一覧が掲載されていまして、私が確認した時点では“user/Test123“となります。
ラボ上に仮想ノードを追加
エミュレーション対象のイメージをEVE−NG上に追加したところで、仮想ラボにNexus9000vとUbuntuを配置して動作させてみましょう。
EVE-NGにブラウザでアクセスしてログインします(デフォルトアカウントはadmin/eve)。
次に以下の画面より新規にラボを作成します。
ラボ名は"test"としてSaveボタンを押します。
ラボが開くと左側のメニューに"Add an object"があるので選択。
リストを見ていくと、Cisco NX-OSv 9Kが選択できるのでクリック。
ノードの仮想CPUやメモリ設定に関するウインドウが開きますが、ここではデフォルトのままでOKしましょう。
これでNexus 9000vがラボ上に配置されます。
続いてもう一度Nodeの追加から今度はLinuxを選択。
こちらも設定はデフォルトのままOKしましょう。これでラボ上に作成したふたつのノードを追加することができたかと思います。
仮想ノードの起動とアクセス
では今度は追加したノードを起動をしてみたいと思います。
初期状態はアイコンが灰色ですが、ノードを 右クリックメニューからStartさせることができます。起動させると以下のように色が変化します。これが起動状態です。
仮想ノードが起動後の状態でアイコンをクリックすると、コンソール接続のためにターミナル(Puttyなどのアプリケーション)が起動され、該当ノードにアクセスできるかと思います。
もしうまくアクセス出来ないときには、こちらでご紹介したクライアント側のアクセス方法についてご参照いただければと思います。