![見出し画像](https://assets.st-note.com/production/uploads/images/145897556/rectangle_large_type_2_a5d9d797ca067ca8007c32e187b76bb3.png?width=1200)
ネットワークエンジニアの学習環境を無料かつ簡単にContainerlab+TWSNMP FCで作る方法
学習のためのネットワーク環境を作ろうとすると機材を買ったり、いろいろ設定したり面倒なことが多いと思います。それを1台のPC上に無料かつ簡単に作る方法を紹介します。
必要な環境
WSL2が動作するWindows 11のパソコン、Mac、Linuxが動作するPCのいずれかがあればOKです。メモリー8GBあればOKだと思います。
WSL2 Ubuntuをインストールする方法は
などをみてください。
後々、UbuntuのIPアドレスが必要になるので、ここで確認しておくとよいです。
$ ip a
のコマンドです。
![](https://assets.st-note.com/img/1719868075763-TEqvsIYBYE.png?width=1200)
Macの場合は
です。LinuxのPCは、UbuntuからDebianを使ってください。
Containerlabのインストール
Containerlabは、
です。これは、Dokcerコンテナを使って実験用のネットワーク環境を作るものです。
WSL2 Ubuntuの環境にインストールする方法は
に説明がありますが、私は
$sudo apt install docker.io
$curl -L https://containerlab.dev/setup | sudo bash -s "install-containerlab"
でインストールしました。Linuxの環境などでは、
install-containerlabの部分をallにすれば、Dockerも含めて全部インストールしてくれます。
Quick Start
Quick Startのページ
に、基本的な使い方の流れが書いてあります。
要約すると
インストール
テストネットワーク環境のトポロジー定義ファイルの作成
イメージの入手
ネットワークテスト環境を作成して起動(deply)
ノードに接続(docker exec/ssh)
ネットワークテスト環境の破棄(destroy)
です。
TWSNMP FC+SR Linuxで作るテストネットワーク環境
Quick Startと同じ方法でテスト環境を作ると2.イメージの入手がやっかいです。ユーザー登録してダウンロードするなどが必要です。そこで公開されているリポジトリから自動でダウンロードして起動できるトポロジー定義ファイルを作りました。
name: twsnmp
topology:
nodes:
srl:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux
twsnmp:
kind: linux
image: twsnmp/twsnmpfc
binds:
- datastore:/datastore
ports:
- 8080:8080
links:
- endpoints: ["srl:e1-1", "twsnmp:eth1"]
このファイルを、好きな(twsnmpとか)のディレクトリに保存して
$ sudo clab deploy
のコマンドを実行すれば、
![](https://assets.st-note.com/img/1719867733697-BtSI8VZfIO.png?width=1200)
のように起動できるはずです。IPv4 Addressの部分がノードのIPアドレスになります。後で、この範囲を指定してTWSNMP FCの自動発見をすればよいです。
テストネットワークの構成をみる
起動できたら
$ sudo clab graph
のコマンドでネットワーク構成をWebで表示するサーバーを起動できます。
![](https://assets.st-note.com/img/1719868250190-5qWSwcusaq.png?width=1200)
0.0.0.0のところを、先ほど調べたUbuntuのIPアドレスに変えてアクセスすば
![](https://assets.st-note.com/img/1719868310273-OWyxSGgbNu.png?width=1200)
のような構成がみられます。
TWSNMP FCからアクセス
先ほど調べたUbuntuのIPの8080番ポートにブラウザーからアクセスすれば、TWSNMP FCにアクセスできます。
や
を参考にして、マップを作れば
![](https://assets.st-note.com/img/1719868885210-2JVtdYDGDc.png?width=1200)
のような感じになると思います。
SR LinuxのSNMPにアクセスしてみる
テスト環境に設置したSR Linuxは、ノキアが開発しているオープンソースのLinux ベースのルーターです。
にアクセス方法が書いてあります。
SNMPがはじめから有効になっているのでTWSNMP FC MIBブラウザーからアクセスできます。
![](https://assets.st-note.com/img/1719869281812-2xRR1B9F2R.png?width=1200)
のような感じです。
テストネットワーク環境を破棄する
お試しが終わったら、
$sudo clab destroy
というコマンドで、テストネットワーク環境を破棄できます。
Windowsマシン以外からアクセスする小技
WSL2のUbuntuは、他のマシンから直接アクセスできません。TWSNMP FCもです。ポート転送する必要があります。ちょっと調べると
のような記事が見つかります。22番のポートを8080にすれば、TWSNMP FCへのアクセスできます。
私は、この方法を使っていましたが、今調べると
を見つけました。こんど試してみようと思います。
もっとテスト環境で遊んでみたい人へ
SR Linuxのマニュアルは
にあります。syslogやsFlowなどの設定ができるようです。
gNMIとかもあります。TWSNMPシリーズで対応したら、また記事を書きます。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。