Proxmox VE + CML2.8(無償版)でお手軽ラボ環境を作ってみた

この記事は、BBSakura Networks アドベントカレンダー 19日目の記事となります。

こんにちは、BBSakura Networksにてモバイルコアの開発・運用をしている清水です。

先月、Ciscoから、CML2の無料版のリリースが発表されました。

developer.cisco.com

同時に起動できるのは5ノードまで、などの制限はいくつかあるものの、CCNAの勉強や簡単な検証に使用する分には十分そうです。 そこで本記事では、 Proxmox + CML2.8 Free TierをミニPC上に構築するための方法について説明します(n番煎じではございますが...)。

構築に使用したPCについて

構築に使用したミニPCの外観。13cm四方程度の大きさで非常にコンパクト。
写真. 構築に使用したミニPC

しばらく前にAmazonのセールで購入したPCです。45,000円くらいで買いました。*1 スペックは下表の通りです。

要素 スペック
CPU AMD Ryzen 7 5700U
メモリ 32GB
ストレージ M.2 SSD 1TB
ネットワーク 2.5GbE LAN, Wifi 6E

このPCにオープンソースの仮想化環境プラットフォームであるProxmox VEを導入し、その仮想環境上でCML2を動かします。 Proxmoxを使用せず、直接CML2をインストールすることも可能ですが、ミニPCを別の用途でも同時に利用したかったため、今回は仮想環境での構築を行っています。

Proxmox VEの導入

www.proxmox.com

公式ページの手順に従い、Proxmox VEを導入していきます。

ISOイメージの入手

公式ページからISOイメージをダウンロードします。今回はProxmox VE 8.3 ISO Installer をダウンロードしました。

Proxmox公式ページにある、ISOイメージのダウンロードページ

USBからイメージを起動する

ダウンロードしたISOイメージをUSBに書き込みます。書き込みにはRaspberry Pi ImagerやRufusなどをを使います。今回はRaspberry Pi Imagerを使用して書き込みました。 Raspberry Pi ImagerでISOイメージをUSBに書き込むときの画面

書き込みが終了したら、ミニPCにUSBメモリを挿して、Proxmoxのインストーラーを起動します。

USBブートで起動したProxmoxインストーラーのトップ画面

インストール

インストーラーの指示に従い、タイムゾーンや管理者アカウントの設定、ネットワーク設定を進めていきます。

地域とタイムゾーンの設定 管理アカウントのパスワード・メールアドレスの設定 ネットワークの設定

インストーラーを進めていき、最終的にこのような表示になったらインストール完了です

インストールが完了し、再起動した後に表示されるCLIのログイン画面

管理画面へのログイン

ミニPC以外のPCからProxmoxの管理ページへログインします。 http://<インストーラーで設定したIP>:8006/にアクセスし、IDとパスワードを入力しログインします Proxmox VEのログイン画面

ログインに成功し、下図のようなダッシュボードが表示されればOKです

Proxmoxのダッシュボード

CML2 Free Tierのインストール

事前準備

https://software.cisco.com/download/home

上記のリンクから、CML2のインストールに必要なISOイメージを入手します(Ciscoのアカウントが必要です

CML2のダウンロードページ

2.8.0 Free Tier からcml2_2.8.0-6_amd64-32-iso.zip と、refplat-20241016-supplemental-iso.zipをダウンロードします(赤枠で囲ってあるもの)。

Proxmox からCML2用のVMを作成

事前準備でダウンロードしたISOイメージをProxmoxにアップロードします

Proxmoxの管理画面から、ノード名local(ノード名)ISOイメージ と遷移していき、アップロードをクリックし、2つのイメージをアップロードします

Proxmox ISOイメージの登録

ISOイメージのアップロード画面

VMを作成します。全般〜ネットワークまで順番に設定していきます。 以下、重要な設定のみ抜粋

  • OS
    • ISOイメージとしてcml2_2.8.0-6_amd64-32.isoを指定(もう一方のイメージは後で使用します)

VMの作成(OSイメージの指定)

  • システム
    • BIOS: OVMF (UEFI)

VMの作成(システム設定)

  • CPU
    • 種別(Type)を規定値のx86-64-v2-AESからhostに変更します。
    • 規定値のままだとCML2のインストーラーが失敗します(参考

VMの作成(CPUの設定)

CML2 インストール

管理画面からコンソールをクリックし、インストーラーの指示に従い設定を進めていきます

CML2インストーラーの起動時の画面

CML2のシステム設定の画面

最後に、以下の画面がコンソールで表示されればインストール作業は完了です

CML2のインストール完了後に表示されるCLIの画面

ノード用イメージの登録

作成したVMを一旦停止し、ProxmoxのVMの設定画面からのハードウェアCD/DVDドライブ(ide2)をクリックした後、編集をクリックし、ISOイメージをrefplat-20241016-freetier.isoに変更します

ProxmoxのVMのハードウェア設定の画面

Proxmoxの管理画面でCML2のVMのISOイメージを入れ替える設定画面

https://<CML2のIPアドレス>:9090にアクセスし、でcml-controllerにログインします。

cml-controllerのログイン画面

ログイン後に表示される画面から、Copy Refplat ISOをクリックし、ノード用のイメージを登録します

cml-controllerのトップメニュー

これでCML2の導入作業は完了です。

CML2の動作確認

CML2のインストール作業が終わったので動作確認を行います

https://<CML2のIPアドレス>にアクセスし、ログインします。

CML2のログイン画面

ダッシュボードが表示されるので画面右上のADDをクリックしワークベンチを追加します。

CML2ログイン後に表示されるダッシュボード

画面上部のツールバーにあるAdd Nodeをクリックし、数種類のノードが出てくる状態になっていることを確認します

ワークベンチ上でAdd Nodeをクリックした際の画面。ルーターやPC含む様々な機器が登録されていることを確認する

後は自由にノードを配置し、シミュレーションを行うだけです。 シミュレーション環境なので、実際の環境では試しにくいことも気軽に試せます。

ブロードキャストストームのシミュレーションを行うために2つのUnmanaged Switchに2本のケーブルを繋ぎパケットをループさせている様子
ブロードキャストストームのシミュレーション

終わりに

本記事では、ミニPC上にProxmox VEで仮想環境を構築し、その上にCML2の無償版をインストールする方法について紹介しました。 PC1台あれば環境を作れるため、低予算でラボ環境を作ることができ大変満足しています

本記事が、手元にPCが余っている方や、低予算でラボ環境を作りたい方の助けになれば幸いです。

*1:ちょっとお高めなので、CML2 無償版を動かすだけならばIntel N100搭載の2万円前後のミニPCでも問題ないと思います