Batfish - Analysez la configuration du réseau pour trouver les problèmes avant la mise en prod

par Korben -

Si vous travaillez dans l’informatique, voici Batfish, un super outil qui va vous permettre de simuler le comportement du réseau à partir de la configuration que vous avez défini, sans avoir à déployer quoi que ce soit sur une vraie machine.

Non seulement Batfish analyse les fichiers de configuration, mais lancera également une simulation de tout ce qui se passera réellement, à l’aide d’une table de routage virtuelle. Cela viendra remplacer ou compléter des systèmes comme EVE-NG ou encore Cisco VIRL.

Ainsi vous verrez immédiatement si votre configuration permet le passage du trafic réseau d’un serveur A à un serveur B et si les ACL sont opérationnelles. Cela permet d’avoir une phase de prédéploiement pour éviter les problèmes lors de la mise en prod. Batfish supporte les équipements suivants :

  • Arista
  • AWS (VPCs, Network ACLs, VPN GW, NAT GW, Internet GW, Security Groups, etc.)
  • Cisco (All Cisco NX-OS, IOS, IOS-XE, IOS-XR and ASA devices)
  • Cumulus
  • F5 BIG-IP
  • iptables (sur les serveurs)
  • Juniper (Toutes les plateformes JunOS : MX, EX, QFX, SRX, T-series, PTX)
  • Palo Alto Networks
  • Free-Range Routing (FRR)

Batfish permet de faire ça rapidement et facilement et tous les tests dont vous pourriez avoir besoin sont automatisables. Batfish peut être installé via Docker comme ceci :

docker run --name batfish -v batfish-data:/data -p 8888:8888 -p 9997:9997 -p 9996:9996 batfish/allinone

Vous aurez alors une URL qui pointera vers un Jupyter vous permettant de modifier des cahiers existants ou d’en créer de nouveaux pour faire vos tests. Vous pouvez ouvrir celui nommé “Getting started with Batfish.ipynb” pour vous faire la main.

Différents tutos sont également dispo sur la chaine Youtube de Batfish.


Merci à Vincent pour le partage !