ネットワークの管理・保守において、ネットワーク構成図は非常に重要です。
しかし、ネットワーク構成図は人によって描き方が結構違っていてセンスが求められます。
また、視覚的な構成図のほかに機器管理表も必要ですが、いくつもの図や表を管理していくのは負担になります。
なにか良い方法がないかなと思っていたところ、シスコ製のネットワーク構成図作成ツール「Network Sketcher」というものを見つけたので試してみることにしました。
Network Sketcherについて
Network Sketcherは、PowerPointで作成したラフスケッチから下記の構成情報を自動生成するツールで、Apache License 2.0で使用できます。
- マスターファイル(マスターデータ)
全ての大元になるファイルです。
マスターファイルを基にデバイスファイル、ネットワーク構成図が生成できます。
マスターファイルを直接編集することはありません。 - デバイスファイル(管理テーブル)
機器のポートリスト、IPリストなどを含むファイルです。
マスターファイルから生成されますが、こちらの変更をマスターファイルに反映できます。
基本的に直接編集するのはこのファイルです。 - ネットワーク構成図(L1構成図・L2構成図・L3構成図)
それぞれ次のようになっています。
L1構成図:物理構成図
L2構成図:論理構成図(物理構成+VLAN)
L3構成図:論理構成図(IPアドレス)
機器の追加・結線の変更などの場合、L1構成図を変更してマスターファイルに反映させられます。
※L2構成図とL3構成図を変更してマスターファイルへの反映は不可。
最初だけPowerPointでシンプルな図を作成した後は、生成されたデバイスファイルを更新することで、マスターファイル・ネットワーク構成図の方にも変更を反映することができます。
また、機器や結線の追加・削除の場合はネットワーク構成図(L1構成図)の方を更新することで、マスターファイル・デバイスファイルに変更を反映させられます。このため、ネットワーク構成情報の管理を集約させることができます。
この辺りの基本的な使用法やツールのコンセプトなど、ユーザガイド(日本語)が用意されているためそちらを参照してください。
環境構築
Network SketcherはPythonで書かれており、WindowsまたはMac OSまたはLinuxで使用することができます。
今回はWindows 10のPCにPythonをインストールして使用します。
Network Scketcherのバージョンは2.2.0です。
なお、最新版Python(執筆時点で3.12.3)ではデバイスファイルの作成がうまくいかなかったので、3.9.13をインストールします。
また、GitHubの要件に沿って下記のように追加パッケージをインストールします。
※pythonのパスが通っている前提です。
1 2 3 4 5 6 7 8 |
python -m pip install tkinterdnd2 python -m pip install tkinterdnd2-universal python -m pip install openpyxl python -m pip install python-pptx python -m pip install ipaddress python -m pip install numpy python -m pip install pyyaml python -m pip install ciscoconfparse |
これでNetwork Sketcherを使用する準備が整いました。
ソースコードをダウンロードしたら、解凍したフォルダにある「network_sketcher.py」を実行します。
下記のようにNetwork Sketcherが起動すればOKです。
ネットワーク構成図の作成
では実際にNetwork Sketcherを使ってみます。
なお、細かい作業内容(デバイスファイルの設定など)は長くなってしまうので省きますが、ユーザガイドに沿って設定します。
たとえば、次のようなネットワーク構成があるとします。
ネットワーク例
このネットワークではルータでVLAN1とVLAN2に、VLAN IDでネットワークを分けています。
また、無線AP自体はVLAN1のIPアドレスを持っていますが、無線APはSSIDを複数持っていて、SSID1がVLAN1に、SSID2がVLAN2に接続されています。
これを基に次のようなラフスケッチを作成してNetwork Sketcherでマスターファイルとデバイスファイルを生成します。
ラフスケッチ(ネットワーク構成図.pptx)
ラフスケッチからマスターファイルとデバイスファイルを生成
この段階でネットワーク構成図を生成してみると次のようになります。
ここからデバイスファイルの更新・マスターファイルの更新などをしていくことで、次のような構成図を作ることができました。
更新後L2構成図
更新後L3構成図
※L1構成図は管理テーブル更新前後で変更なし
Network Sketcherを使ってみて
実際にNetwork Sketcherを使ってみた感じ、当初思っていた「ネットワーク構成図の作成ツール」というよりは「ネットワーク構成図生成機能のついた機器管理表作成ツール」という感じを受けました。
ユーザガイドにあったコンセプト通りといえばそうですが、とくにPowerPointのラフスケッチからExcelで管理表のひな型が一発で作成できるのが大きいです。
デバイスファイル例
また、デバイスファイルなどを更新してマスターファイルに同期させるとき、自動で同期前のマスターファイルのバックアップを作成してくれるのが、地味ですがとても助かります。
ツールから生成した構成図については、人が見て見やすいかどうかは正直微妙なところがある気がしますが、形式がPowerPointなので図形の位置などを多少手動で調整すれば良さそうです。最悪、図を壊してしまっても、マスターファイルさえあればまた生成できます。
軽くいじっただけなのでまだ全く使いこなせていないと思いますが、個人的には結構面白いツールだなと思います。
まとめ
Network Skcetcherを試してみましたが、うまく使いこなすことができればなかなか便利そうです。
常にこれを使って構成図と管理表を作成するようにしていけば、形式も統一できて作成者による差異も小さくできるかもしれません。
ただ、最初のラフスケッチ次第なところがあると思うので、ラフスケッチの作成センスはどうしても必要そうです。
ほかにも面白そうなツールを発見したらまた試してみたいと思います。