Connaître l'environnement BIRD / Stormshield Network
Dans une configuration sortie d’usine, le module de routage BIRD n’est pas activé.
Il est possible de faire coexister le routage du firewall Stormshield Network et le routage dynamique BIRD. Par exemple, la zone interne peut être gérée avec un protocole de routage dynamique et la zone externe avec les fonctionnalités de routage du firewall (routage statique, passerelles, routage par règles (PBR), objets routeur).
Pour cela, consultez la section Interagir avec le routage Stormshield Network.
Contrairement à la version BIRD v1 qui utilisait deux fichiers de configuration distincts, la configuration du routage dynamique BIRD v2 pour IPv4 et IPv6 s’effectue au sein d'un unique fichier : /usr/Firewall/ConfigFiles/Bird/bird.conf.
Démarrer le routage BIRD v2 depuis l'interface Web d'administration
Pour activer et démarrer le routage BIRD v2 :
- Placez-vous dans le module Configuration > Réseau > Routage dynamique > onglet Général,
- Placez le curseur Activer le routage dynamique sur ON,
- Dans le cadre Configuration générale : sélectionnez le bouton radio BIRD v2.
Contrôler le routage dynamique BIRD v2 en mode interactif
BIRD dispose d’un mode interactif : birdc pour BIRD Client.
Ce mode interactif permet de visualiser les états de BIRD, de tester le bon fonctionnement d'une nouvelle configuration en permettant de revenir en arrière, et de créer une configuration temporaire.
En revanche, ce mode interactif ne permet pas de modifier de manière définitive le fichier de configuration de BIRD.
Depuis la console du firewall, lancez ce mode en appelant birdc pour contrôler le routage dynamique.
La première information affichée est la version de BIRD :
BIRDv2-VMSNSX09I0390A9>birdc
BIRD 2.15.1 ready.
bird>
Commandes « Show »
Le caractère “?” vous permet d’afficher la liste des options disponibles :
bird> show ? show status Show router status show memory Show memory usage show protocols [<protocol> | "<pattern>"] Show routing protocols show interfaces Show network interfaces show route ... Show routing table show symbols ... Show all known symbolic names show babel ... Show information about Babel protocol show bfd ... Show information about BFD protocol show ospf ... Show information about OSPF protocol show rip ... Show information about RIP protocol show static [<name>] Show details of static protocol
Exemple :
Afficher toutes les routes.
bird> show route Table master4: 0.0.0.0/0 unicast [kernel1 09:02:35.632] * (254) via 172.20.151.254 on em0(out) 172.16.1.125/32 unicast [kernel1 09:02:35.632] * (254) dev lo0(loopback) 192.168.220.0/24 unicast [direct1 09:02:35.632] ! (240) dev em2(dmz1) unicast [MyOSPF 09:02:35.732] I (150/10) [192.168.97.219] dev em2(dmz1) 172.20.151.3/32 unicast [kernel1 09:02:35.632] * (254) dev lo0(loopback) 192.168.220.21/32 unicast [kernel1 09:02:35.632] * (254) dev lo0(loopback)
Exemple :
Afficher les routes par instance de protocole. Dans ce cas, l’instance est MyOSPF.
bird> show route protocol MyOSPF Table master4: 192.168.220.0/24 unicast [MyOSPF 09:02:35.732] I (150/10) [192.168.97.219] dev em2(dmz1) bird>
Dans birdc, la plupart des commandes sont communes à l'ensemble des protocoles. Ainsi par exemple, les routes annoncées à un voisin BGP sont visualisées par une commande qui fait appel au filtre d’export (filtre nommé ospfexport dans cet exemple) :
bird> show route filter ospfexport Table master4: 0.0.0.0/0 unicast [kernel1 09:02:35.632] * (254) via 172.20.151.254 on em0(out) 192.168.220.0/24 unicast [direct1 09:02:35.632] ! (240) dev em2(dmz1)
Debug
Les commandes Show donnent de nombreux renseignements sur les instances. Elles permettent de diagnostiquer les problèmes, qu'ils soient dus à une mauvaise configuration, un problème de réseau, ou autre.
bird> show protocol all router1 Name Proto Net Type Table State Since Info router1 BGP Undefined --- start 14:11:41.925 Active Socket: Connection closed Description: My 1st BGP uplink BGP state: Active Neighbor address: 100.100.100.100 Neighbor AS: 65001 Local AS: 65065 Connect delay: 1.041/5 Last error: Socket: Connection closed Channel ipv4 State: DOWN Table: master4 Preference: 100 Input filter: ACCEPT Output filter: (unnamed) IGP IPv4 table: master4
Pour activer la réception des messages systèmes sur la console, entrez la commande echo all puis echo off pour stopper ces logs.
bird> echo all bird> >>> router1: Connecting to 100.100.100.100 from local address 200.200.200.200 >>> router1: Socket error: bind: Can't assign requested address >>> router1: Connection closed >>> router1: Connect delayed by 5 seconds
Les événements de debug sont visualisés globalement ou par exemple par instance de protocole. L’exploitation des commandes de debug est un outil intéressant qui complète efficacement les commandes de visualisation d’états.
bird> debug ospf_router2_v4 all bird> echo all >>> ospf_router2_v4 < added 0.0.0.0/0 via 192.168.97.1 on em0 >>> ospf_router2_v4 < replaced 100.100.100.100/32 via 192.168.97.101 on em0 >>> ospf_router2_v4 > updated 1.1.1.0/24 via 192.168.97.1 on em0 >>> ospf_router2_v4 < rejected by protocol 1.1.1.0/24 via 192.168.97.1 on em0 >>> ospf_router2_v4 > updated [best] 1.1.1.0/24 via 192.168.97.1 on em0 >>> ospf_router2_v4 < replaced 2.2.2.0/24 via 192.168.97.101 on em0 >>> ospf_router2_v4 < replaced 2.2.4.0/24 via 192.168.97.101 on em0
Test temporaire d’une nouvelle configuration
On souhaite tester une nouvelle configuration bird_conf_to_test.conf. Pour cela, activez BIRD en utilisant une configuration bird.conf dont le fonctionnement est validé, puis lancez le mode interactif birdc depuis la console du firewall..
Pour vérifier la syntaxe du fichier sans l'appliquer :
bird> configure check "bird_conf_to_test.conf"
Appliquez ensuite temporairement cette configuration pendant 60 secondes par la commande :
bird> configure "bird_conf_to_test.conf" timeout 60
La nouvelle configuration s'applique. Si le firewall n'est plus joignable ou sans confirmation de la part de l’administrateur, la configuration précédente sera ré-appliquée automatiquement au bout de 60 secondes.
Si la nouvelle configuration est considérée comme valide, on peut la confirmer grâce à :
bird> configure confirm
Si la nouvelle configuration n'est pas validée et que le firewall est encore joignable, on peut revenir en arrière immédiatement grâce à :
bird> configure undo