· MAJ

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é.

Sonde RIPE Atlas, boîtier USB noir avec LED teal, posée sur une carte topographique sombre.

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

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) :

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)

  1. Installer Container Manager (Centre de paquets, DSM 7).
  2. Créer le dossier etc sous /volume1/docker/ripe-atlas via File Station.
  3. Container Manager, Projet, Créer, nom ripe-atlas, chemin = ce dossier, source = Créer docker-compose.yml, coller le compose recommandé avec BASE = /volume1/docker/ripe-atlas.
  4. 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 :

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.

  1. Se connecter sur atlas.ripe.net.
  2. Ouvrir atlas.ripe.net/apply/swprobe/.
  3. Coller la clé publique et soumettre.
  4. 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

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

Code source

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) :

  1. git clone https://github.com/RIPE-NCC/ripe-atlas-software-probe
  2. Construire selon BUILD.md (build natif sur la cible, ou cross-compilation / image Docker dédiée).
  3. Lancer, puis suivre les étapes 1 à 3 (clé, enregistrement, géolocalisation).

En cas de souci

    cap_add:
      - NET_RAW

Sources externes