- Topologie en étoile : racine (AS 65000) en transit entre bird-a (AS 65010) et bird-b (AS 65011), namespaces créés par tripoli-netctl (Phase 4). Chaque feuille origine une route factice, jamais installée dans la table de routage réelle (export none partout) - labo pédagogique, ne pilote aucun trafic de production. - Vérifié en conditions réelles : sessions BGP Established dans les deux sens, route de bird-b vue par bird-a avec next-hop = racine (transit confirmé, pas un peering direct), sessions BFD Up (200ms/200ms), coupure de lien détectée en < 5ms. - Découverte : les namespaces n'ont aucun pare-feu propre, mais ufw côté racine bloquait le retour des paquets BFD (chaque bout envoie indépendamment, conntrack ne le reconnaît pas comme un flux BGP/TCP existant) - même schéma que Caddy -> tripoli-edge en Phase 2. Règle ufw ajoutée par run.sh, retirée par teardown.sh : rien de permanent. - Pas de service systemd : labo lancé, vérifié, puis proprement démonté (processus Bird, namespaces et règle ufw temporaire tous supprimés). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
26 lines
786 B
Bash
Executable file
26 lines
786 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# Arrête les trois instances Bird et détruit les namespaces du labo.
|
|
# Volontairement pas de service systemd permanent pour ce labo : le
|
|
# faire tourner en continu sur un serveur de production partagé n'aurait
|
|
# aucune valeur pédagogique de plus, juste de la RAM utilisée pour rien.
|
|
set -euo pipefail
|
|
|
|
NETCTL=/opt/tripoli-src/target/debug/tripoli-netctl
|
|
|
|
for ctl in root bird-a bird-b; do
|
|
if [ -S "/run/bird-lab/$ctl.ctl" ]; then
|
|
birdc -s "/run/bird-lab/$ctl.ctl" down || true
|
|
fi
|
|
done
|
|
|
|
sleep 1
|
|
pkill -f "bird -c /etc/bird-lab" || true
|
|
sleep 1
|
|
|
|
"$NETCTL" destroy bird-a || true
|
|
"$NETCTL" destroy bird-b || true
|
|
|
|
ufw delete allow from 10.200.0.0/16 to any port 3784 proto udp || true
|
|
|
|
rm -rf /run/bird-lab
|
|
echo "labo BGP/BFD arrêté et nettoyé"
|