Die Automatisierung von Netzwerkgeräten wie Cisco-Routern und -Switches kann mithilfe von Python mit der Netmiko-Bibliothek, die für die einfache Handhabung von SSH-Verbindungen entwickelt wurde, problemlos erreicht werden. Als nächstes zeige ich Ihnen zwei grundlegende Skripte, um die Konfiguration eines Cisco-Geräts anzuzeigen und die Erstellung und Konfiguration von VLANs zu automatisieren.
1. Skript zum Anzeigen der Konfiguration eines Cisco-Geräts (Routers):
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)
Bedienung:
Dieses Skript ist nützlich, um schnelle Konfigurationsabfragen auf Cisco-Geräten automatisiert durchzuführen.
2. Skript zum Erstellen, Konfigurieren und Zuweisen von IP-Adressen zu VLANs:
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)
Bedienung:
Dieses Skript ist ideal für die Automatisierung der Konfiguration von VLANs und die Zuweisung von IPs zu Schnittstellen und erleichtert so die schnelle und effiziente Verwaltung komplexer Netzwerke.
Benötigte Ressourcen:
Bevor Sie mit der Automatisierung der Konfiguration von Cisco-Geräten mithilfe von Python beginnen, müssen Sie sicherstellen, dass Sie über die richtige Umgebung verfügen. Hier beschreibe ich die Ressourcen und Tools, die Sie benötigen:
1. Python und Bibliotheken installieren
Auf Ihrem System muss Python 3.6 oder höher installiert sein. Wenn Sie es noch nicht haben, können Sie es je nach Betriebssystem einfach installieren.
Um automatisiert mit Cisco-Geräten zu interagieren, verwenden wir Netmiko, eine Python-Bibliothek, die die SSH-Verbindung zu Routern und Switches erleichtert.
2. Installation der Bibliotheken
Um Netmiko und seine Abhängigkeiten (einschließlich Paramiko) zu installieren, führen Sie den folgenden Befehl in Ihrem Terminal aus:
pip install netmiko
Mit diesem Befehl wird Netmiko zusammen mit den erforderlichen Abhängigkeiten heruntergeladen und installiert. Sobald Sie fertig sind, können Sie überprüfen, ob alles korrekt installiert wurde, indem Sie Folgendes verwenden:
pip list
Hier werden Ihnen alle installierten Bibliotheken angezeigt, darunter sollten Sie netmiko und paramiko sehen.
3. SSH-Zugriff auf Cisco-Geräte
Zusätzlich zu den installierten Bibliotheken müssen Sie sicherstellen, dass das Cisco-Gerät (Router oder Switch) für die Annahme von SSH-Verbindungen konfiguriert ist. Nachfolgend sind einige wichtige Punkte aufgeführt, um den Zugriff zu ermöglichen:
a) Aktivieren Sie SSH auf dem Cisco-Gerät:
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) Überprüfen Sie Anmeldeinformationen und IP:
Mit diesen Konfigurationen sind Sie bereit, Skripte auszuführen und Aufgaben auf Cisco-Geräten mit Python zu automatisieren.
Fazit
Mit den richtigen Ressourcen (Python, Netmiko, SSH auf Cisco-Geräten aktiviert) und den erforderlichen Bibliotheken sind Sie bereit, mit der Automatisierung der Konfiguration und Verwaltung Ihrer Netzwerkgeräte mithilfe von Python zu beginnen. Netmiko erleichtert die Verbindung und Ausführung von Befehlen auf diesen Geräten, vereinfacht sich wiederholende Aufgaben und verbessert die Effizienz bei der Netzwerkverwaltung.
Das obige ist der detaillierte Inhalt vonCisco-Automatisierung mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!