Ciscoのスイッチとルーターは、エンドデバイス上で直接スクリプトやプログラムを実行できるPythonインタープリタを提供しています。Pythonは、強力なスクリプト言語であり、ネットワークオートメーションの多くのスクリプトツールとSDK(ソフトウェア開発キット)で一般的に使用されています。
CiscoのPythonパッケージは、多数のコアネットワークデバイスモジュール(インターフェイス、VLAN、VRF、ACL、ルートなど)へのアクセスを可能にします。これらのモジュールは、デバイスの操作に直接アクセスを提供し、CLIコマンドを実行したり、イベントを監視したりすることができます。
Pythonを使ってCiscoスイッチにSSH接続するためには、paramiko
ライブラリを使用できます。このライブラリを使用すると、スイッチに接続し、CLIコマンドを送信し、出力をキャプチャすることができます。
以下に、Pythonを使用してCiscoスイッチにSSH接続し、CLIコマンドを実行するスクリプトの例を示します。
from paramiko import SSHClient
# スイッチのIPアドレス、ユーザー名、パスワードを定義します
ip = "192.168.1.1"
username = "admin"
password = "password"
# SSHクライアントを作成します
client = SSHClient()
client.load_system_host_keys()
# スイッチに接続します
client.connect(ip, username=username, password=password)
# スイッチにコマンドを送信します
stdin, stdout, stderr = client.exec_command('show interfaces')
# 出力を読み取ります
output = stdout.read()
# 出力を表示します
print(output)
# 接続を閉じます
client.close()
このスクリプトは、CiscoスイッチにSSH接続し、show interfaces
コマンドを実行し、その出力を表示します。このように、Pythonを使用してネットワークデバイスをプログラム的に制御することで、ネットワーク管理の効率を大幅に向上させることができます。.