全1435文字
PR

 Netmikoを使えば、機器の情報を取得できるだけでなく、機器の設定を変更することもできる。

 ここではLANスイッチの設定を変更してみよう。ネットワークのトラブルが起こった際には、原因になったポートの設定を変更し、シャットダウンすることが多い。

 こうした設定変更をPythonで行うには「send_config_set」というメソッドを使う(図4-1)。このメソッドには、設定変更のために実行したい複数のコマンドをリストの形にして渡す。

図4-1●Netmikoで機器の設定を変更
図4-1●Netmikoで機器の設定を変更
Netmikoでは機器の情報を表示できるだけでなく、機器の設定を変更することもできる。設定変更にはsend_config_setを使う。
[画像のクリックで拡大表示]

 では実際に試してみよう。「connected」(リンクアップ)の状態のポートをPythonコードでシャットダウンして「disabled」にする(図4-2)。

図4-2●LANスイッチの8番ポートをシャットダウン
図4-2●LANスイッチの8番ポートをシャットダウン
send_config_setを使い「interface fa0/8」と「shutdown」の2つのコマンドを実行することで、8番ポートをシャットダウンした。
[画像のクリックで拡大表示]

 Netmikoで必要な機器設定などのコードはPart3と同じなので省略した。enableメソッドで特権EXECモードに移行後、まず「sh int fa0/8 status」というコマンドを使って8番ポートの状態を表示し、「connected」であることを確認した。

 次にsend_config_setメソッドを使って「interface fa0/8」と「shutdown」の2つのコマンドを順番に実行し、8番ポートをシャットダウンした。8番ポートの状態を再度表示すると「disable」になっていた。ポートのシャットダウンに成功したことが分かる。

CSV形式のログ出力に挑戦

 ネットワーク機器の設定変更は、トラブルの原因になりやすい。このため、機器の設定変更の前後にログを取る決まりになっている企業は多い(図4-3)。

図4-3●人手によるログの取得はとても面倒
図4-3●人手によるログの取得はとても面倒
ネットワークのトラブルを防ぐため、ネットワーク機器の設定変更の前後にログを取る決まりになっている企業は多い。ログをExcelで記録するよう指定されていることもある。こうしたログを人手で取るのはとても面倒だ。
[画像のクリックで拡大表示]

 ただ、人手によるログの取得はとても面倒だ。例えば、ログをExcelで記録するよう指定されている場合を考えてみよう。ターミナルソフトの出力テキストをいったんWindowsのメモ帳にコピーし、その中から必要な部分を目視で探し出し、表計算ソフトのセルにコピー&ペーストする。この一連の作業を設定変更の前後で行う必要がある。