Skip to content

Problèmes — Réseau


DNS — Unbound

bash
# Tester la résolution DNS
dig @127.0.0.1 google.com
dig @127.0.0.1 access-rgz.duckdns.org

# Logs Unbound
docker logs rgz-dns --tail 50

Erreurs Unbound Courantes

ErreurCauseSolution
local-data in redirect zone must reside at topZone non déclarée dans sinkhole (LL#65)Ajouter local-zone: "domain." static + nodefault
Container silencieux, pas de logsuse-syslog: yes en containerMettre use-syslog: no dans unbound.conf
Domaine .duckdns.org résolu en adresse portailSinkhole redirect actifNormal — sinkhole.conf redirige tout

nftables — Gateway

Règle absolue

Ne JAMAIS utiliser flush ruleset dans les règles nftables sur un serveur Docker. Cela détruit les chains Docker et rompt TOUS les port mappings.

bash
# Vérifier les tables nftables
sudo nft list tables

# Tables Docker (doivent exister)
sudo nft list table ip nat | grep DOCKER

# Si les tables Docker sont absentes → redémarrer Docker
sudo systemctl restart docker
# Puis redémarrer la gateway EN DERNIER
docker compose -f docker-compose.core.yml up -d rgz-gateway

Syntaxe DSCP dans table inet

nft
# MAUVAIS (syntax error)
tcp dport { 22, 8000 } dscp set cs6

# BON (spécifier le protocole IP — LL#67)
ip protocol tcp tcp dport { 22, 8000 } ip dscp set cs6
ip protocol udp udp dport { 53, 1812 } ip dscp set af31

nginx — Upstream Non Trouvé

bash
# Erreur: host not found in upstream "rgz-api" in nginx.conf
# → nginx résout les upstreams au démarrage → crash si service absent

Solution : Utiliser set $var + resolver 127.0.0.11 :

nginx
resolver 127.0.0.11 valid=30s ipv6=off;

location /api/ {
    set $upstream http://rgz-api:8000;
    proxy_pass $upstream;  # Résolution dynamique, pas au démarrage
}

Healthcheck localhost vs 127.0.0.1

localhost = IPv6 dans Docker

Dans les containers Docker récents, localhost résout vers ::1 (IPv6). Utiliser 127.0.0.1 explicitement.

yaml
# MAUVAIS
healthcheck:
  test: ["CMD", "wget", "-qO-", "http://localhost/health"]

# BON
healthcheck:
  test: ["CMD", "wget", "-qO-", "http://127.0.0.1/health"]

Traefik Déconnecté du Réseau

bash
# Symptôme: site accessible en interne mais Gateway Timeout depuis l'extérieur
# Diagnostic
docker inspect n8n-traefik-1 --format \
  '{{range $net, $conf := .NetworkSettings.Networks}}{{$net}}: {{$conf.IPAddress}}{{"\n"}}{{end}}'
# Si traefik-public absent → problème

# Solution
docker network connect traefik-public [traefik-container-name]

Réseau Externe — Nom Préfixé

bash
# Docker préfixe les réseaux avec le nom du projet
# rgz-net créé par docker-compose.core.yml → s'appelle "rgz_rgz-net" sur l'hôte
docker network ls | grep rgz

# Dans docker-compose.monitoring.yml (référence au réseau core) :
networks:
  rgz-net:
    external: true
    name: rgz_rgz-net  # ← Nom réel (LL#72)

Dernière mise à jour: 2026-02-21

PROJET MOSAÏQUE — 81 outils, 22 conteneurs, 500+ revendeurs WiFi Zone