Zurück zu den Updates
New releaseAug 19, 2026

pybatfish v2026.08.18

Python-Client für Batfish, ein Netzwerkkonfigurationsanalyse-Tool, das Sicherheit, Zuverlässigkeit und Compliance validiert, indem es das Netzwerkverhalten aus Gerätekonfigurationen vor der Bereitstellung modelliert.

Teilen

Hast du Fragen, Feedback oder Feature-Wünsche? Trete unserer Community auf Slack!

codecov

Pybatfish

Pybatfish ist ein Python-Client für Batfish.

Was ist Batfish?

Batfish ist ein Netzwerkvalidierungstool, das Korrektheitsgarantien für Sicherheit, Zuverlässigkeit und Compliance bietet, indem es die Konfiguration von Netzwerkgeräten analysiert. Es erstellt vollständige Modelle des Netzwerkverhaltens aus Gerätekonfigurationen und findet Verstöße gegen Netzwerkrichtlinien (integriert, benutzerdefiniert und Best Practices).

Ein Hauptanwendungsfall für Batfish ist die Validierung von Konfigurationsänderungen vor der Bereitstellung (obwohl es auch zur Validierung bereits bereitgestellter Konfigurationen verwendet werden kann). Die Validierung vor der Bereitstellung ist eine kritische Lücke in bestehenden Netzwerkautomatisierungsworkflows. Durch Batfish in Automatisierungsworkflows können Netzwerkingenieure diese Lücke schließen und sicherstellen, dass nur korrekte Änderungen bereitgestellt werden.

Batfish benötigt KEINEN direkten Zugriff auf Netzwerkgeräte. Die Kernanalyse erfordert nur die Konfiguration der Netzwerkgeräte. Diese Analyse kann durch zusätzliche Informationen aus dem Netzwerk verbessert werden, wie zum Beispiel:

  • Von externen Peers empfangene BGP-Routen
  • Durch LLDP/CDP dargestellte Topologieinformationen

Weitere technische Informationen zur Funktionsweise findest du auf www.batfish.org.

Welche Arten von Korrektheitsprüfungen unterstützt Batfish?

Batfish kennenlernen

Der Batfish YouTube-Kanal (den du für neue Inhalte abonnieren kannst) veranschaulicht viele Arten von Prüfungen. Diese Prüfungen decken ein Spektrum von Netzwerkverhalten und Gerätekonfigurationsattributen ab.

Konfigurations-Compliance

  • Markieren von undefinierten, aber referenzierten oder definierten, aber nicht referenzierten Strukturen (z.B. ACLs, Route-Maps)
  • Konfigurationseinstellungen für MTUs, AAA, NTP, Logging usw. entsprechen Vorlagen
  • Geräte können nur mit SSHv2 zugegriffen werden und das Passwort ist nicht null

Zuverlässigkeit

  • Die Ende-zu-Ende-Erreichbarkeit wird für keinen Datenfluss nach einem einzelnen Link- oder Geräteausfall beeinträchtigt
  • Bestimmte Dienste (z.B. DNS) sind global erreichbar

Sicherheit

  • Sensitive Dienste können nur von bestimmten Subnetzen oder Geräten aus erreicht werden
  • Pfade zwischen Endpunkten sind wie erwartet (z.B. durch eine Firewall, haben mindestens 2-Wege-ECMP usw.)

Änderungsanalyse

  • Die Ende-zu-Ende-Erreichbarkeit ist bei der aktuellen und einer geplanten Konfiguration identisch
  • Geplante ACL- oder Firewall-Änderungen sind nachweislich korrekt und verursacht keine Kollateralschäden für anderen Datenverkehr
  • Zwei Konfigurationen, möglicherweise von verschiedenen Anbietern, sind funktional äquivalent

Wie fange ich an?

Falls du Batfish noch nicht installiert hast, folge den Anweisungen im batfish GitHub-Repository, um dies zu tun.

Pybatfish installieren

Wir empfehlen dringend, Pybatfish in einer Python 3 virtuellen Umgebung zu installieren. Details zur Einrichtung findest du hier. Sobald deine virtuelle Umgebung eingerichtet und aktiviert ist, aktualisiere pip und installiere dann pybatfish.

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pybatfish

Jetzt bist du bereit, dein eigenes Netzwerk mit Batfish zu evaluieren. Wir empfehlen dir, Jupyter-Notebooks als Ausgangspunkt zu verwenden, aber du kannst auch andere Methoden nutzen, mit denen du vertraut bist, z.B. eine IDE wie PyCharm oder eine interaktive Python-Shell. Wenn du Jupyter-Notebooks als Ausgangspunkt wählst, musst du Jupyter in deiner virtuellen Umgebung installieren. Die Jupyter-Dokumentation findest du hier - aber die folgenden Befehle bringen dich auf den Weg.

python3 -m pip install jupyter
jupyter notebook

Unsere Notebooks bieten eine Schnellstartanleitung für verschiedene Anwendungsfälle. Darüber hinaus ist die vollständige Dokumentation auf readthedocs verfügbar.

Pybatfish-Dokumentation

Die vollständige Dokumentation der pybatfish-APIs findest du hier.

Kategorien