PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

Exa-Networks/exabgp · GitHub

mercredi 8 avril 2015 à 16:29
GuiGui's Show - Liens 08/04/2015
ExaBGP est un bon outil mais la doc' est vraiment foireuse (pas à jour, contradictoire,...). Voici quelques notes pour noob débutant. :D

D'abord, un bon de conf' qui fonctionne :
« neighbor 198.18.0.2 {
 router-id 198.18.0.1;
 local-address 198.18.0.1;
 local-as 65000;
 peer-as 65000;

 process test {
   run "test.py";
   encoder json;

   receive {
     parsed;
     updates;
     keepalive;
     notification;
     neighbor-changes;
   }
 }
} »

Ici on monte une session BGP avec 198.18.0.2, du classique. On veut lancer un programme qui récupère les updates/notif/keepalive/flap du pair BGP. On veut tout ça au format json et pré-parsé par exabgp (pas du brut). Le programme recevra les messages sur stdin et pourra écrire sur stdout pour envoyer des messages à exaBGP. Attention à ne pas mettre le bloc « process » en dehors du bloc « neighbor » ! Si vous faites cela, votre programme sera exécuté mais ne recevra pas les évent BGP, exaBGP ne sachant pas à quel pair BGP le lier !

Attention aussi : un « parsed | packets | consolidated » global est nécessaire même si vous précisez « <message_type> parsed|packets|consolidated » ...


Une partie de la configuration se fait avec des variables d'environnement. Exemple : env exabgp.log.destination=stdout exabgp.log.all=true exabgp exabgp.conf


Pour passer des commandes (injection de routes, par exemple), il y a deux moyens : un programme lancé par exabgp ou utiliser une socket unix. Les commandes dispos : https://github.com/Exa-Networks/exabgp/wiki/Controlling-ExaBGP-:-interacting-from-the-API . Pour la socket : env exabgp.api.socket="/tmp/exa.sock" exabgp exabgp.conf puis socat UNIX-CONNECT:/var/run/blabla/nameofthe.sock STDIN . Apparemment, on peut aussi utiliser des pipes nommés... Attention : show route affiche uniquement les routes que vous avez injectées, pas celles reçues depuis le pair BGP !
(Permalink)