Automatisierte Netzwerkkonfiguration
Planung und Durchführung von Firmware Rollout in heterogenen Netzwerken beliebiger Grösse, inkl. Konfigurationsmanagement und Topologie Erkennung.
Ausgangslage
Die zunehmende Komplexität und Dynamik moderner Netzwerkinfrastrukturen stellt Unternehmen vor grosse Herausforderungen. Die manuelle Konfiguration und Wartung von Netzwerkgeräten ist mittlerweile eine ineffiziente und fehleranfällige Aufgabe, die zu hohen Betriebskosten und potenziellen Ausfallzeiten führen kann. Insbesondere Aufgaben wie Firmware-Upgrades und Konfigurationsänderungen erfordern präzise Planung und Ausführung, um die Systemverfügbarkeit zu maximieren und die Sicherheit zu gewährleisten.
Zielsetzung
Das Ziel dieser Bachelorarbeit ist ein System zu entwickeln, welches eine zentrale und effiziente Verwaltung von Netzwerkkonfigurationen bietet. Dabei werden drei dedizierte REST-API-Endpunkte bereitgestellt, die eine automatisierte und planbare Durchführung folgender Aufgaben ermöglichen:
- Topologie-Analysen: Zur Ausgabe vom besten Aktualisierungspfad.
- Firmware-Up- und Downgrades: Für aktuelle und sichere Geräte Firmware.
- Konfigurations-Backups und -Wiederherstellungen: Zum Schutz vor Konfigurationsverlust und zur schnellen Problembehebung.
- VLAN Verifizierung: End-to-End Überprüfung auf fehlende oder falsche Konfiguration einer benötigten VLAN Kette.
Netzwerk Topologie
Automatische Graphenerzeugung mittels LLDP um Firmware Rollouts auf beliebige Segmente zu planen
Firmware Rollout
Zeitlich steuerbare Ausführung von Firmware Up- und Downgrades inkl. Verifikation und Konfigurationsmanagement
VLAN Verifizierung
Überprüfung der Port und Bridge Konfiguration auf allen Netzwerkgeräten zwischen zwei Clients
Ergebnisse
Die Applikation basierend auf FastAPI und Nornir beweist, dass automatisierte Netzwerkkonfiguration ohne herstellerspezifische Lösungen möglich ist. Sie bietet eine einfache Einbindung in bestehende Infrastruktur dank REST API Schnittstelle. Die Plattformunabhängigkeit ist mittels Containerisierung gegeben. Erweiterungen auf zusätzliche Hersteller sind mit wenig Aufwand dank Strategy Design Pattern umsetzbar. Im Detail werden folgende Funktionen angeboten:
- Konfiguration Backup, Wiederherstellung und Verifikation
- Firmware Upgrade, Downgrade inkl. Planung zur späteren Ausführung
- Netzwerk Topologie Erstellung um selbst beliebige Segmente für Firmware Rollouts zu definieren
- Impact Analyse der Netzwerk Topologie, welche Firmware Rollouts in Reihenfolge ihrer Kritikalität fürs Netzwerk plant
- VLAN Konfigurationsanalyse von Start zu Ziel Client, um die Korrektheit zu überprüfen
Netzwerkautomation für Geräte verschiedener Hersteller ist dank Frameworks wie Nornir und Netmiko möglich, da diese es erlauben, CLI-Befehle herstellerunabhängig auszuführen und die resultierenden Outputs mittels TextFSM-Templates in nutzbare, strukturierte Objekte zu parsen. Rasches Prototyping wird durch eine virtualisierte Laborumgebung von Containerlab unterstützt. Die Graphenerstellung und Traversierung liefert NetworkX und unterstützt alle gängigen Algorithmen.
Technische Schlüsselbegriffe
- TechnologienFastAPI, Nornir, Netmiko, NetworkX, Containerlab
- SprachenPython
- NetzwerkautomationFirmware Rollout, Konfigurationsmanagement, Topologie-Erkennung
Team
Silas Hellinger
Florian Bolliger
Betreuer
Prof. Dr. Christopher Scherb
Luc Heitz