Installer une sonde logicielle RIPE Atlas (native ou Docker) : guide pas à pas
Comment déployer une software probe RIPE Atlas sur un serveur Linux, une VM, un Raspberry Pi ou un NAS. Deux méthodes : installation native avec les paquets officiels RIPE NCC (Debian, Raspberry Pi OS, Enterprise Linux) ou Docker (image communautaire). Prérequis, enregistrement chez RIPE NCC, géolocalisation et sécurité.
L’essentiel
Une software probe RIPE Atlas se déploie sur n’importe quelle machine allumée en permanence : petit serveur Linux, VM, Raspberry Pi ou NAS (Synology, QNAP). Deux méthodes existent : l’installation native via les paquets officiels RIPE NCC (la voie 100 % RIPE NCC, recommandée), ou Docker via une image communautaire (pratique sur NAS et multi-architecture). Les besoins sont minuscules : 1 cœur, environ 20 Mo de RAM, 100 Mo de disque. Le principe est install-and-forget. Cette version logicielle est l’alternative à la sonde matérielle USB : même rôle dans le réseau de mesure, mais sur une machine que vous possédez déjà (cf. comprendre RIPE Atlas).
Sommaire
- Prérequis
- Méthode A. Installation native (paquets officiels RIPE NCC)
- Méthode B. Installation Docker (image communautaire)
- 1. Récupérer la clé publique de la sonde
- 2. Enregistrer la sonde chez RIPE NCC
- 3. Vérifier et géolocaliser
- Sécurité
- Héberger une sonde à La Réunion
- Notes utiles
- Code source
- Architectures non supportées (compiler soi-même)
- En cas de souci
Prérequis
- Une machine allumée en permanence, avec accès root/sudo (méthode native) ou Docker (Docker Compose / Container Manager / Podman).
- Une connexion Internet sortante. IPv4 suffit pour une sonde ; l’IPv6 est un bonus, pas un prérequis.
- Un compte gratuit sur atlas.ripe.net.
Une machine sur onduleur ou photovoltaïque convient très bien pour RIPE Atlas. En revanche, pour détecter les coupures électriques, une sonde sur onduleur ne tombe plus avec le secteur : elle sert alors de référence réseau stable plutôt que de capteur de coupure (cf. détecter les pannes FAI et EDF en temps réel).
Méthode A. Installation native (paquets officiels RIPE NCC)
Voie recommandée (100 % RIPE NCC). Paquets binaires fournis pour : Debian 11/12/13 (amd64), Raspberry Pi OS 12/13 (arm64), Enterprise Linux 8/9/10 (x86_64). OpenWrt : build source uniquement.
Debian / Raspberry Pi OS
ARCH=$(dpkg --print-architecture)
CODENAME=$(. /etc/os-release && echo "$VERSION_CODENAME")
REPO_PKG=ripe-atlas-repo_1.5-5_all.deb
wget https://ftp.ripe.net/ripe/atlas/software-probe/debian/dists/"$CODENAME"/main/binary-"$ARCH"/"$REPO_PKG"
sudo dpkg -i "$REPO_PKG"
sudo apt update
sudo apt-get install ripe-atlas-probe
Enterprise Linux (RHEL / Rocky / Alma)
EL_VER=$(. /etc/os-release && echo $PLATFORM_ID | cut -d':' -f2)
REPO_PKG=ripe-atlas-repo-1.5-5."$EL_VER".noarch.rpm
curl -fO -LfO https://ftp.ripe.net/ripe/atlas/software-probe/"$EL_VER"/noarch/"$REPO_PKG"
sudo rpm -Uvh "$REPO_PKG"
sudo dnf install ripe-atlas-probe
Le paquet installe et démarre un service systemd (vérifier avec systemctl status ripe-atlas-probe, ou ripe-atlas selon la version) et génère la clé. Options runtime éventuelles dans /etc/ripe-atlas/config.txt. Puis aller directement à l’étape 1 (clé publique) plus bas.
Build depuis les sources (OpenWrt, ou architecture non packagée comme armhf) : voir BUILD.md du dépôt officiel (cf. section « Architectures non supportées »).
Méthode B. Installation Docker (image communautaire)
Cette méthode utilise une image Docker communautaire (jamesits/ripe-atlas) qui empaquette la sonde officielle, multi-architecture (amd64 et arm64). Pour du 100 % RIPE NCC, préférer la méthode A.
Préparer le dossier d’identité
Choisir un dossier de base selon la machine, et y créer le sous-dossier etc (identité de la sonde) :
- Linux / VM / Raspberry Pi :
/opt/ripe-atlas - Synology :
/volume1/docker/ripe-atlas - QNAP :
/share/Container/ripe-atlas
docker-compose (recommandé, avec protection du stockage)
La sonde écrit beaucoup en continu (environ 130 Mo par jour dans spool), ce qui use prématurément une carte SD ou un SSD. Le compose recommandé met spool et run en RAM (tmpfs) et garde etc sur disque (identité et clé). Empreinte RAM : environ 12 à 23 Mo. Recommandé surtout sur Raspberry Pi + microSD et stations météo.
Créer docker-compose.yml (remplacer BASE, par exemple /opt/ripe-atlas) :
services:
ripe-atlas:
image: jamesits/ripe-atlas:latest-probe
container_name: ripe-atlas
restart: always
volumes:
- BASE/etc:/etc/ripe-atlas # identité : SUR DISQUE
tmpfs:
- /var/spool/ripe-atlas:size=64m # écritures : en RAM
- /run/ripe-atlas:size=8m
Puis docker compose up -d. Le restart: always fait repartir la sonde après reboot ou coupure. Ne jamais mettre etc en tmpfs (perte d’identité).
Variante : tout sur disque (serveurs sans souci d’usure)
Créer aussi spool et run, et utiliser des volumes classiques au lieu de tmpfs :
volumes:
- BASE/etc:/etc/ripe-atlas
- BASE/spool:/var/spool/ripe-atlas
- BASE/run:/run/ripe-atlas
docker run (équivalent, version recommandée tmpfs)
docker run -d --restart=always --name ripe-atlas \
-v BASE/etc:/etc/ripe-atlas \
--tmpfs /var/spool/ripe-atlas:size=64m \
--tmpfs /run/ripe-atlas:size=8m \
jamesits/ripe-atlas:latest-probe
Cas particulier : NAS Synology (interface graphique)
- Installer Container Manager (Centre de paquets, DSM 7).
- Créer le dossier
etcsous/volume1/docker/ripe-atlasvia File Station. - Container Manager, Projet, Créer, nom
ripe-atlas, chemin = ce dossier, source = Créer docker-compose.yml, coller le compose recommandé avecBASE=/volume1/docker/ripe-atlas. - Valider et lancer. Sur QNAP : équivalent via Container Station.
1. Récupérer la clé publique de la sonde
Au premier démarrage, la sonde génère une clé. La lire :
- Native :
cat /etc/ripe-atlas/probe_key.pub - Docker :
cat BASE/etc/probe_key.pub(ou via File Station sur NAS sans SSH)
Si le fichier n’existe pas encore, attendre une minute que la sonde finisse son initialisation.
2. Enregistrer la sonde chez RIPE NCC
Avant d’enregistrer, vérifier par où sort réellement la sonde. Ne pas se fier à « c’est branché sur la Livebox » ou « c’est en Ethernet » : cela ne dit ni l’opérateur réel, ni si un VPN relocalise. Depuis la machine :
curl https://ipinfo.io
Confirmer que l’IP, l’opérateur (ASN) et le pays correspondent à l’accès local attendu. Si l’IP sort en métropole ou chez un hébergeur VPN, corriger avant d’enregistrer, pour ne pas polluer la plateforme.
- Se connecter sur atlas.ripe.net.
- Ouvrir atlas.ripe.net/apply/swprobe/.
- Coller la clé publique et soumettre.
- RIPE NCC valide (traitement manuel, parfois quelques jours). Une fois validée, la sonde apparaît et passe Connected.
3. Vérifier et géolocaliser
- La sonde tourne (service systemd actif en natif, ou conteneur
ripe-atlasen exécution). - Sur atlas.ripe.net, elle passe Connected après validation.
- Renseigner ou vérifier sa position dans le tableau de bord RIPE Atlas. Sans localisation correcte, les mesures sont beaucoup moins utiles.
Sécurité
La sonde ne capture pas le trafic local. Elle effectue des mesures réseau actives vers Internet (ping, traceroute, DNS) et communique avec l’infrastructure RIPE Atlas. Elle ne demande aucun accès aux données de l’hôte.
Héberger une sonde à La Réunion
Chaque sonde supplémentaire densifie la mesure réseau locale et améliore la détection des coupures de courant et des pannes d’opérateur, en particulier dans les communes encore peu couvertes. Si vous disposez d’une machine allumée en permanence, vous pouvez héberger une sonde logicielle en quelques minutes.
Notes utiles
- Multi-architecture : x86 ou ARM.
- IPv4 vs IPv6 : fonctionne très bien en IPv4 seul. Pour de l’IPv6, il faut un IPv6 natif côté réseau (et, en Docker, l’IPv6 activé, désactivé par défaut dans les conteneurs).
- Si l’IPv6 manque, ce n’est presque jamais la faute de la carte réseau ou du Raspberry. C’est de la couche 3 : OS, box, ou opérateur. En 4G, cela dépend du type de PDP et de l’APN. Deux pièges fréquents : un opérateur peut annoncer un préfixe IPv6 en BGP sans en servir à l’abonné (l’absence de v6 sur votre lien ne prouve pas que l’opérateur n’en a pas) ; et il ne faut pas bricoler le réseau d’un lien 4G monté difficilement juste pour forcer l’IPv6.
- Multi-opérateur : une sonde mesure via la connexion qu’elle utilise. Pour couvrir deux accès, il faut deux sondes.
- Charge : très légère.
- Mises à jour : native =
apt/dnfupgrade ; Docker = re-téléchargerjamesits/ripe-atlas:latest-probepuis recréer le conteneur.
Code source
- Code source officiel de la sonde (RIPE NCC) : github.com/RIPE-NCC/ripe-atlas-software-probe.
- Image Docker communautaire : github.com/Jamesits/docker-ripe-atlas (
jamesits/ripe-atlas:latest-probe). - Doc officielle (paquets Debian/RHEL et how-to) : atlas.ripe.net/docs/howtos/software-probes.html.
Architectures non supportées (compiler soi-même)
Les paquets et l’image couvrent surtout amd64 et arm64. Pour une architecture non fournie, par exemple armhf (ARM 32 bits des anciens Raspberry Pi), compiler depuis les sources du dépôt officiel (BUILD.md), puis lancer en natif ou dans une image Docker rebâtie. C’est faisable (déjà testé pour armhf) :
git clone https://github.com/RIPE-NCC/ripe-atlas-software-probe- Construire selon
BUILD.md(build natif sur la cible, ou cross-compilation / image Docker dédiée). - Lancer, puis suivre les étapes 1 à 3 (clé, enregistrement, géolocalisation).
En cas de souci
- Pas de
probe_key.pub: vérifier que la sonde tourne (service systemd / conteneur) et, en Docker, queetcest monté en écriture. - Ne se connecte pas : vérifier la sortie Internet et qu’aucun pare-feu ne bloque le trafic sortant.
- Mesures ICMP/traceroute qui échouent en Docker : ajouter la capacité réseau
NET_RAWau conteneur, uniquement si besoin :
cap_add:
- NET_RAW
- Image introuvable, archi non couverte, ou blocage à une étape ? Écrire à clement@974.live, je peux aider (y compris fournir une image rebâtie pour ton architecture).