Cisco ルーターやスイッチなどのネットワーク デバイスの自動化は、SSH 接続を簡単に処理するように設計された Netmiko ライブラリを備えた Python を使用して簡単に実現できます。以下に、Cisco デバイスの構成を表示し、VLAN の作成と構成を自動化するための 2 つの基本的なスクリプトを示します。
1. Cisco デバイス (ルーター) の構成を表示するスクリプト:
from netmiko import ConnectHandler ssh=ConnectHandler( device_type="cisco_ios", host="192.168.0.10", port=22, username="cisco", password="cisco" ) out=ssh.send_command("show run") print(ssh.find_prompt()) print("show run:\n"+out)
操作:
このスクリプトは、Cisco デバイス上で自動化された方法で簡単な構成クエリを実行する場合に役立ちます。
2. IP アドレスを作成、構成し、VLAN に割り当てるスクリプト:
from netmiko import ConnectHandler ssh = ConnectHandler( device_type="cisco_ios", host="192.168.10.2", port=22, username="womar1", password="womar" ) ssh.enable() comandos = [ "hostname uwu", "vlan 10", "interface vlan 10", "ip address 192.168.2.1 255.255.255.0", "no shutdown", 'interface range fa0/1 - 5', # Corrección aquí "switchport mode access", 'switchport access vlan 10', "vlan 20", "interface vlan 20", "ip address 192.168.3.1 255.255.255.0", "no shutdown", 'interface range fa0/6 - 10', # Corrección aquí "switchport mode access", 'switchport access vlan 20', "vlan 10", "interface vlan 30", "ip address 192.168.4.1 255.255.255.0", "no shutdown", 'interface range fa0/11 - 15', # Corrección aquí "switchport mode access", 'switchport access vlan 30', "vlan 10", "interface vlan 40", "ip address 192.168.5.1 255.255.255.0", "no shutdown", 'interface range fa0/16 - 20', # Corrección aquí "switchport mode access", 'switchport access vlan 40', "vlan 50", "interface vlan 50", "ip address 192.168.200.1 255.255.240.0", "no shutdown", 'interface range fa0/21 - 22', # Corrección aquí "switchport mode access", 'switchport access vlan 50', ] ssh.send_config_set(comandos) configuracion = ssh.send_command("show run") comands = ssh.find_prompt() print(comands) print("show run:\n" + configuracion)
操作:
このスクリプトは、VLAN の構成を自動化し、インターフェイスに IP を割り当てるのに最適で、複雑なネットワークの管理を迅速かつ効率的に容易にします。
必要なリソース:
Python を使用して Cisco デバイスの設定の自動化を開始する前に、適切な環境があることを確認することが重要です。ここでは、必要なリソースとツールについて詳しく説明します:
1. Python とライブラリのインストール
システムには Python 3.6 以降がインストールされている必要があります。まだお持ちでない場合は、オペレーティング システムに応じて簡単にインストールできます。
自動化された方法で Cisco デバイスと対話するために、ルーターやスイッチへの SSH 接続を容易にする Python ライブラリである Netmiko を使用します。
2.ライブラリのインストール
Netmiko とその依存関係 (Paramiko を含む) をインストールするには、ターミナルで次のコマンドを実行します。
pip install netmiko
このコマンドは、Netmiko を必要な依存関係とともにダウンロードしてインストールします。完了したら、次のコマンドを使用して、すべてが正しくインストールされたことを確認できます。
pip list
これにより、インストールされているすべてのライブラリが表示され、その中に netmiko と paramiko が表示されるはずです。
3. Cisco デバイスへの SSH アクセス
インストールされたライブラリに加えて、Cisco デバイス (ルーターまたはスイッチ) が SSH 接続を受け入れるように設定されていることを確認する必要があります。以下は、アクセスを有効にするための重要なポイントです:
a) Cisco デバイスで SSH を有効にします:
configure terminal ip domain-name cisco.local crypto key generate rsa username cisco privilege 15 secret cisco line vty 0 4 transport input ssh login local exit
b) 認証情報と IP を確認します:
これらの構成により、Python を使用して Cisco デバイス上でスクリプトを実行し、タスクを自動化する準備が整いました。
結論
適切なリソース (Cisco デバイスで有効な Python、Netmiko、SSH) と必要なライブラリがインストールされていれば、Python を使用してネットワーク デバイスの構成と管理の自動化を開始する準備が整います。 Netmiko を使用すると、これらのデバイスへの接続とコマンドの実行が簡単になり、反復的なタスクが簡素化され、ネットワーク管理の効率が向上します。
以上がPython を使用した Cisco オートメーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。