Cisco-Automatisierung mit Python

WBOY
Freigeben: 2024-09-07 14:32:17
Original
865 Leute haben es durchsucht

Automatización de Cisco con Python

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)
Nach dem Login kopieren

Bedienung:

  • Netmiko-Import: Die ConnectHandler-Klasse wird importiert, um die SSH-Verbindung zu verwalten.
  • SSH-Verbindung: Unter Verwendung der IP, des Ports und der Anmeldeinformationen des Cisco-Geräts wird eine Verbindung erstellt.
  • Befehlsausführung: Der Befehl „show run“ wird gesendet, um die aktuelle Konfiguration des Geräts abzurufen.
  • Aufforderungsdruck: Die Geräteaufforderung wird gedruckt und zeigt an, dass die Verbindung noch aktiv ist.
  • Konfigurationsanzeige: Die Befehlsausgabe wird gedruckt und zeigt die laufende Konfiguration.

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)
Nach dem Login kopieren

Bedienung:

  • Verbindung und privilegierter Modus: Eine SSH-Verbindung wird aufgebaut und mit ssh.enable() in den privilegierten Modus geschaltet.
  • Befehlsliste: Es werden mehrere VLANs erstellt, diesen VLANs Schnittstellen und IP-Adressen zugewiesen und die Ports im Switchport-Modus-Zugriff konfiguriert.
  • Konfigurationsanwendung: Befehle werden in großen Mengen mit ssh.send_config_set() gesendet.
  • Konfigurationsüberprüfung: Der Befehl show run wird verwendet, um die aktuelle Konfiguration des Geräts abzurufen.
  • Ergebnis drucken: Die Geräteaufforderung und die resultierende Konfiguration werden gedruckt.

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.

  • Netmiko: Es ist die Hauptbibliothek, die wir verwenden, um über SSH eine Verbindung zu Netzwerkgeräten (wie Routern oder Switches) herzustellen.
  • Paramiko: Netmiko ist auf diese Bibliothek angewiesen, die ein SSH-Client in Python ist.
  • PIP: Es ist der Python-Paketmanager und Sie benötigen ihn, um die Bibliotheken zu installieren.

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

b) Überprüfen Sie Anmeldeinformationen und IP:

  • Stellen Sie sicher, dass Sie über die richtigen Anmeldeinformationen (Benutzername und Passwort) verfügen und dass die IP-Adresse des Geräts von dem Computer aus zugänglich ist, auf dem Sie die Python-Skripte ausführen.

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage