Aller au contenu

Démarrer avec Runbound

Runbound est distribué sous forme d’un unique binaire statique. Pas de gestionnaire de paquets, pas de dépendance runtime à installer à part — téléchargez, vérifiez, lancez.

Récupérez le binaire pour votre plateforme depuis la section téléchargements et vérifiez-le avant de lancer quoi que ce soit :

Terminal window
curl -LO https://github.com/redlemonbe/Runbound/releases/latest/download/runbound-x86_64-linux-gnu
curl -LO https://github.com/redlemonbe/Runbound/releases/latest/download/runbound-x86_64-linux-gnu.minisig
curl -LO https://github.com/redlemonbe/Runbound/releases/latest/download/SHA256SUMS
curl -LO https://github.com/redlemonbe/Runbound/releases/latest/download/SHA256SUMS.minisig
minisign -Vm SHA256SUMS -P RWSBM9HzDiZpfCD82uTnkeP1Ui30LfWE96C8EtFyI4/WVyLAVxpLzYy/
minisign -Vm runbound-x86_64-linux-gnu -P RWSBM9HzDiZpfCD82uTnkeP1Ui30LfWE96C8EtFyI4/WVyLAVxpLzYy/
sha256sum -c SHA256SUMS --ignore-missing

Voir la page Sécurité pour comprendre pourquoi chaque asset porte sa propre signature, pas seulement un fichier de sommes de contrôle signé.

Runbound est conçu pour tourner en tant qu’unité systemd, pas en process nohup improvisé — l’unité fournie configure LimitMEMLOCK=infinity et accorde CAP_BPF/CAP_NET_RAW, tous deux requis pour le chemin rapide AF_XDP. Utilisez l’installeur fourni plutôt que d’écrire votre propre fichier unit :

Terminal window
chmod +x runbound-x86_64-linux-gnu
sudo mv runbound-x86_64-linux-gnu /usr/local/bin/runbound
sudo ./install.sh # installe l'unité systemd, crée /etc/runbound/, génère une clé API

Si votre carte réseau/pilote ne supporte pas AF_XDP en mode DRV, Runbound bascule automatiquement sur le chemin générique SKB. RUNBOUND_DISABLE_XDP=1 est l’échappatoire manuelle si vous devez forcer ce repli (par exemple, pour isoler un problème de pilote).

Le format de configuration de Runbound est volontairement proche d’unbound.conf — une configuration Unbound existante est un bon point de départ. Un /etc/runbound/runbound.conf minimal :

server:
interface: 0.0.0.0
port: 53
do-ip4: yes
do-ip6: yes
remote-control:
control-enable: yes
api:
listen: 127.0.0.1:8080
webui:
listen: 0.0.0.0:8090

Voir la Référence de configuration pour l’ensemble complet des directives, y compris DNSSEC, les forward zones et la réplication master/slave.

Terminal window
sudo systemctl enable --now runbound
sudo systemctl status runbound
dig @127.0.0.1 example.com A

Une instance saine répond immédiatement en NOERROR (ou NXDOMAIN pour un nom qui n’existe vraiment pas) et, pour une zone signée DNSSEC interrogée avec +dnssec, positionne le flag ad et retourne les enregistrements RRSIG.

Le script d’installation génère une clé API dans /etc/runbound/api.key. Chaque endpoint (zones, listes de blocage, feeds, statistiques) l’exige en tant que bearer token :

Terminal window
K=$(cat /etc/runbound/api.key)
curl -H "Authorization: Bearer $K" http://127.0.0.1:8080/api/system

Le tableau de bord web à l’adresse de webui.listen utilise la même clé pour se connecter.