ncclient#
NETCONF プロトコルの基本を理解したところで、いくつかの例に実際に取り組んでみましょう。
実習:ncclient を使用して
- ターミナルを開き、リポジトリのルートに移動します。
- Python 仮想環境(venv)がアクティブであることを確認してください
- `cd intro-mdp/netconf`と入力し、このラボのコード ディレクトリに移動します。
- インタラクティブな Python インタプリタを開いて、
prep.py
ファイルを実行します。 このファイルでは、このラボで使用されるさまざまなラボ インフラストラクチャの詳細がインポートされます。 - 使用するデバイスは、env_lab.IOS_XE_1 という定数によって表されます。
print(env_lab.IOS_XE_1)
- ncclient から manager オブジェクトにインポートします。
from ncclient import manager
-
manager オブジェクトを使用して、IOS_XE_1 への接続を開始します。
-
manager オブジェクトの server_capabilities プロパティの部分をループさせて、デバイスの capabilities を確認します
-
1 行につき 1 つの capability が出力されます。 各行には、モデル URI、モデル名、モデル バージョンなど、複数のデータが含まれています。次の出力結果には 2 つの capabilities が示されています。結果は、確認しやすいように整形されています。
-
ここで、デバイスへの接続を閉じて NETCONF セッションを終了します。
m.close_session()
SSH を手動で操作した先ほどの方法と比べると、はるかに簡単だったのではないでしょうか。