見出し画像

ネットワークエンジニアの学習環境を無料かつ簡単にContainerlab+TWSNMP FCで作る方法

学習のためのネットワーク環境を作ろうとすると機材を買ったり、いろいろ設定したり面倒なことが多いと思います。それを1台のPC上に無料かつ簡単に作る方法を紹介します。

必要な環境

WSL2が動作するWindows 11のパソコン、Mac、Linuxが動作するPCのいずれかがあればOKです。メモリー8GBあればOKだと思います。
WSL2 Ubuntuをインストールする方法は

などをみてください。
後々、UbuntuのIPアドレスが必要になるので、ここで確認しておくとよいです。

$ ip a

のコマンドです。

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のページ

に、基本的な使い方の流れが書いてあります。
要約すると

  1. インストール

  2. テストネットワーク環境のトポロジー定義ファイルの作成

  3. イメージの入手

  4. ネットワークテスト環境を作成して起動(deply)

  5. ノードに接続(docker exec/ssh)

  6. ネットワークテスト環境の破棄(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

のコマンドを実行すれば、

のように起動できるはずです。IPv4 Addressの部分がノードのIPアドレスになります。後で、この範囲を指定してTWSNMP FCの自動発見をすればよいです。

テストネットワークの構成をみる

起動できたら

$ sudo clab graph

のコマンドでネットワーク構成をWebで表示するサーバーを起動できます。

0.0.0.0のところを、先ほど調べたUbuntuのIPアドレスに変えてアクセスすば

のような構成がみられます。

TWSNMP FCからアクセス

先ほど調べたUbuntuのIPの8080番ポートにブラウザーからアクセスすれば、TWSNMP FCにアクセスできます。

を参考にして、マップを作れば

のような感じになると思います。

SR LinuxのSNMPにアクセスしてみる

テスト環境に設置したSR Linuxは、ノキアが開発しているオープンソースのLinux ベースのルーターです。

にアクセス方法が書いてあります。
SNMPがはじめから有効になっているのでTWSNMP FC MIBブラウザーからアクセスできます。

のような感じです。

テストネットワーク環境を破棄する

お試しが終わったら、

$sudo clab destroy

というコマンドで、テストネットワーク環境を破棄できます。

Windowsマシン以外からアクセスする小技

WSL2のUbuntuは、他のマシンから直接アクセスできません。TWSNMP FCもです。ポート転送する必要があります。ちょっと調べると

のような記事が見つかります。22番のポートを8080にすれば、TWSNMP FCへのアクセスできます。
私は、この方法を使っていましたが、今調べると

を見つけました。こんど試してみようと思います。

もっとテスト環境で遊んでみたい人へ

SR Linuxのマニュアルは

にあります。syslogやsFlowなどの設定ができるようです。
gNMIとかもあります。TWSNMPシリーズで対応したら、また記事を書きます。

ここから先は

0字
ネットワークエンジニアに必要なネットワーク管理の技術を習得するための方法についての情報を発信します。 マガジンを買った方からの質問は要望は歓迎します。

ネットワークエンジニアになりたい人に役立つかもしれない情報を発信するためのマガジンです。 何かの資格試験に合格するための役には立たないとお…

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。