本ページではNWLABで必要になるContainerlabで利用できるOSの用意の仕方について説明します。
前提条件
下記の記事でまとめたContainerlab環境が作成済みであること。
OS追加手順
イメージの入手
ネットワークの検証環境を用意するのに一番難易度が高いのはOSの取得です。
無料で公開されているようなOSを除いて、実際に機器を購入しているケースでないとダウンロードする権限を持っていないことが普通です。
企業であればベンダーに相談して提供してもらうなど方法はありますが、個人では難しいケースも多いです。
Arista cEOS
Aristaのホームページよりアカウント登録
※個人のGmailなどでは登録できません。
アカウント登録が完了したらソフトウェアダウンロードページより、cEOS Labのダウンロードを行う。
例) cEOS64-lab-4.33.0F.tar.xz
Cisco NX-OS
https://software.cisco.com/download/home
Nexus 9000v Switch を検索バーに入力。
Versionを選択してダウンロード。Nexusは権限は不要のようでダウンロードできた。
Cisco XRd Control Plane
XRdと検索バーに入力。
Versionを選択してダウンロード。残念ながら一般の権限ではDLできない。
Cisco IOS (IOL)
IOS on Linux らしい。 CMLを購入するとDLできるファイルに付属されている。
XRv9kやNX-OSなどたくさんのイメージがバンドルされている。私も以前はCMLを用いて検証をしていたため所持しています。
https://www.cisco.com/c/ja_jp/products/cloud-systems-management/modeling-labs/index.html
Cisco IOS-XE (CSR1000v)
Cloud Services Router 1000V と検索バーに入力。
Versionを選択してダウンロード。残念ながら一般の権限ではDLできない。
Juniper vJunos-Router
公式サイトよりダウンロードできる。
https://www.juniper.net/us/en/dm/vjunos-labs.html
Juniper cRPD
権限が必要でダウンロードできなかった。
Juniper vMX
以前はTrial版がダウンロードできたが今はできなかった。
Juniper vJunosEvolved
公式サイトよりダウンロードできる。
SONiC
有志のリポジトリよりダウンロードできる。
Nokia SR Linux
ghcr.io/nokia/srlinux よりPullできる。
VyOS
自分でビルドしてコンテナ化できる。
https://docs.vyos.io/ja/latest/contributing/build-vyos.html
OSのコンテナイメージ化
上記でネットワークOSのイメージを取得する方法を確認した。
次は取得したOSをコンテナイメージにする必要がある。
VMイメージをコンテナに変更する方法は下記のリポジトリを利用する。
cRPD / cEOS / XRD / SONiC などは元々コンテナで提供なので変換する必要がありません。この作業は不要です。
VMイメージの場合のみ実行してください。
https://github.com/hellt/vrnetlab
手順
ContainerlabがインストールされたLinuxで実施
git clone https://github.com/hellt/vrnetlab.git
先ほどダウンロードしたイメージを適切なディレクトリに配置します。
# vJunos-Evolvedの例
mv vJunosEvolved-23.2R2.21-EVO.qcow2 vrnetlab/vjunosevolved/
cd vrnetlab/vjunosevolved/
sudo make
下のように追加されていればOK
izumin@nwlab-mini:~/vrnetlab/nxos$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
vrnetlab/juniper_vjunosevolved 23.2R2.21-EVO a895481c3b9f 5 minutes ago 2.05GB
ceos 4.33.0F e9e9031a6076 22 hours ago 2.46GB
ghcr.io/nokia/srlinux 24.3.3 4ad2a62aa1f7 4 months ago 3.03GB
以上がコンテナイメージに変換する方法です。
詳細はドキュメントを参照ください。