OpenBGPD est le démon de routage BGP développé au sein du projet OpenBSD, écrit à partir d’une feuille blanche plutôt que dérivé d’un code plus ancien. Henning Brauer en a présenté les premières versions au FOSDEM en février 2004, et le logiciel fait partie du système de base d’OpenBSD depuis cette époque. Son code est publié sous licence ISC, une licence permissive très courte qui autorise la réutilisation dans presque n’importe quel contexte, y compris commercial.
Une déclinaison dite portable, maintenue par Claudio Jeker, permet de le compiler sur d’autres systèmes. La version 9.3 de cette déclinaison a été publiée le 30 septembre 2026 d’après la page de téléchargement du projet, et elle est annoncée comme fonctionnelle sur Linux et FreeBSD.
À quoi sert OpenBGPD
BGP, pour Border Gateway Protocol, est le protocole par lequel les réseaux autonomes qui composent Internet, opérateurs, hébergeurs, points d’échange, s’annoncent mutuellement les préfixes IP qu’ils savent joindre. Un démon comme OpenBGPD transforme une machine ordinaire en routeur capable de dialoguer avec ces voisins, de recevoir leurs annonces, de choisir les meilleurs chemins et d’injecter le résultat dans la table de routage du noyau. La configuration tient dans un fichier texte, bgpd.conf, dont la syntaxe rappelle celle du pare-feu pf d’OpenBSD, et l’outil bgpctl sert à piloter le démon en cours d’exécution.
Le programme est découpé en trois processus distincts, un choix de conception qui vise la sécurité autant que la stabilité. Le moteur de session entretient les connexions TCP avec chaque voisin, le moteur de décision filtre les chemins reçus et construit la table de routage interne, et le processus parent, le seul à conserver des privilèges, se charge de synchroniser cette table avec celle du noyau. Un processus exposé au réseau qui serait compromis n’a donc pas les droits nécessaires pour nuire au reste du système. OpenBGPD valide aussi l’origine des routes à partir des données produites par rpki-client, un autre outil d’OpenBSD, et prend en charge les enregistrements ASPA qui vérifient le chemin d’AS.
La comparaison avec FRRouting, l’autre grande suite libre de la catégorie, éclaire bien son positionnement. FRRouting descend de Quagga et couvre une dizaine de protocoles, BGP, OSPF, IS-IS, RIP ou encore PIM, avec une console inspirée des équipements Cisco. OpenBGPD, lui, ne fait que du BGP, et c’est volontaire : les objectifs affichés du projet sont la sécurité, la fiabilité et une certaine sobriété, en couvrant les cas courants plutôt que toutes les options possibles. Les démons OSPF ou RIP qui l’accompagnent sous OpenBSD ne font pas partie de la version portable.
Dans la pratique, on le rencontre surtout comme serveur de routes sur des points d’échange Internet, où il tient des tables complètes face à des dizaines de pairs, comme routeur de bordure pour de petits opérateurs ou hébergeurs, et comme pair BGP installé directement sur des serveurs pour faire de l’anycast. Le paquet portable fournit en plus bgplgd, un petit démon de looking glass qui expose l’état du routeur en lecture seule par HTTP.
Pour qui ?
OpenBGPD s’adresse aux administrateurs réseau et aux ingénieurs d’exploitation qui gèrent déjà un numéro d’AS, ou qui s’y préparent, et qui préfèrent un fichier de configuration lisible à une console de commandes interactive. Il est le choix naturel des équipes qui exploitent OpenBSD ou FreeBSD, et il plaît à celles qui veulent diversifier leurs implémentations BGP afin qu’un même bug ne touche pas tous leurs routeurs en même temps.
Ses limites découlent de son périmètre. Il n’existe pas d’interface graphique, pas d’OSPF ni d’IS-IS dans la version portable, et la mise en route suppose de comprendre les notions de BGP, de politiques de filtrage et de communautés. Les paquets des distributions Linux peuvent être en retard de plusieurs versions sur l’archive officielle. Qui a besoin de plusieurs protocoles dans un même produit, ou d’une console familière aux habitués de Cisco, sera mieux servi par FRRouting ou par un système complet comme VyOS. Pour apprendre BGP sur une maquette, GNS3 ou EVE-NG permettent de combiner plusieurs implémentations sans matériel.
Télécharger OpenBGPD sans risque
Sous OpenBSD, il n’y a rien à installer : bgpd est livré avec le système. Pour les autres plateformes, la page de téléchargement du site openbgpd.org renvoie vers l’archive source openbgpd-9.3.tar.gz hébergée sur les miroirs d’OpenBSD, avec une signature signify et une cosignature GPG permettant d’en vérifier l’intégrité. L’archive pèse environ 847 Ko d’après le listing des miroirs. Le code de la version portable est aussi sur GitHub dans l’organisation openbgpd, qui publie une image OCI pour Docker ou Podman. La compilation suit le trio configure, make, make install, avec libmnl requis sous Linux et libevent seulement pour bgplgd.
Le logiciel est entièrement gratuit, sans édition commerciale, sans compte à créer ni clé de licence à saisir, et la plupart des distributions Linux et FreeBSD proposent un paquet openbgpd dans leurs dépôts officiels. Il faut se méfier d’un binaire précompilé proposé sur un site tiers ou d’une archive dont la signature ne correspond pas à la clé publiée sur openbgpd.org : pour un composant qui décide des routes que suit votre trafic, c’est un risque qu’il ne faut pas prendre.
Questions fréquentes
OpenBGPD est-il gratuit ?
Oui. Il est publié sous licence ISC par le projet OpenBSD, sans édition payante ni fonction réservée. On peut l’utiliser, le modifier et le redistribuer librement, y compris dans un produit commercial, à condition de conserver la mention de licence.
Peut-on l’installer sous Linux ?
Oui, grâce à la version portable. D’après les notes de la version 9.3, elle est testée sur Alpine, Debian, Fedora, RHEL et ses dérivés, et Ubuntu, en plus de FreeBSD. On la compile depuis l’archive officielle ou on l’installe depuis le paquet de sa distribution, souvent un peu moins récent.
Quelle différence avec FRRouting ?
OpenBGPD ne gère que BGP et mise sur un fichier de configuration concis et une architecture cloisonnée. FRRouting propose une suite complète de protocoles de routage avec une console de type Cisco. Les deux coexistent souvent sur les points d’échange, justement pour ne pas dépendre d’une seule implémentation.