ネットワーク学習 / 検証環境の構築

この記事では、GNS3の導入からスイッチング(L2)とルーティング(L3)領域の学習/検証環境を作成する手順を整理する。
ここでは Arista EOS の環境を作り L2, L3 の検証環境とする。

1. GNS3 インストール

GNS3 公式からインストーラをダウンロード。
ダウンロードにあたりアカウント作成が必須。

基本はインストーラに従えば良い。迷いそうなところは下記にならう。

GNS3 VM を選択

忘れても公式からVMだけダウンロード可能。
GNS3 VM 上で仮想のルーターやスイッチ等を作成しネットワークを構成する。

gns3_components

有償アプリは不要なので"No"で良い

gns3_solarwinds

2. VMware Workstation 準備

GNS3 VM をインポート

ダウンロードしたGNS3 VM.ovaを VMware Workstation で開く。 gns3vm_open

※ 基本はデフォルト値のまま。メモリはホストPCの半分を目安に割り当てたい。

3. GNS3 設定

GNS3 と GNS3 VM の紐づけ

仮想化ソフトウェア、VM名 を一致させる。他はよしなに。
・ Edit > Preferences > GNS3 VM
gns3vm_bind

GNS3 と TeraTerm の紐づけ

GNS3上で動作させるネットワーク機器のコンソールを開くソフトの指定例
※ 以下はTeraTermと紐づける例 gns3_terminal

4. GNS3 に Arista cEOS を導入

cEOS をダウンロードする

Arista 公式 から cEOS ファイルをダウンロードする。
ダウンロードにはアカウントが必須。 Arista_download

cEOS のコンテナを作成する

SCP等で GNS3 VM に取得した cEOSファイルを入れておく。
GNS3 VM 上で以下のコマンドを、バージョンとファイル名を調整し実行する。
3回クリックで1行ずつ選択するなどして、改行位置に気を付けること。

docker import cEOS64-lab-4.36.0.1F.tar ceosimage:4.36.0.1F
echo "rm /etc/systemd/system/getty.target.wants/getty@tty1.service" | docker run --name=ceos-container -e CEOS=1 -e container=docker -e EOS_PLATFORM=ceoslab -e SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 -e ETBA=1 -e INTFTYPE=eth -i ceosimage:4.36.0.1F sh
docker commit --change='CMD ["/sbin/init"]' --change='VOLUME /mnt/flash' ceos-container ceosimage:GNS3
docker rm ceos-container

gns3_make_container

アプライアンスを取得

GNS3 Marketplace から cEOS のアプライアンスをダウンロード。

ダウンロードしたアプライアンスをインポート

gns3_import_apliance

cEOS のテンプレート編集

アプライアンスをインポートしたことで作成されたテンプレートを編集する。
"start commands" に以下の1行を設定する。

/sbin/init systemd.setenv=INTFTYPE=eth systemd.setenv=ETBA=1 systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 systemd.setenv=CEOS=1 systemd.setenv=EOS_PLATFORM=ceoslab systemd.setenv=container=docker

gns3_edit_temp gns3_start-command

5. Arista cEOS の起動

テンプレートからドラッグ&ドロップ したのち起動。
右クリックし "Auxiliary console" からターミナルに入る。

start_ceos