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 50Erreurs Unbound Courantes
| Erreur | Cause | Solution |
|---|---|---|
local-data in redirect zone must reside at top | Zone non déclarée dans sinkhole (LL#65) | Ajouter local-zone: "domain." static + nodefault |
| Container silencieux, pas de logs | use-syslog: yes en container | Mettre use-syslog: no dans unbound.conf |
Domaine .duckdns.org résolu en adresse portail | Sinkhole redirect actif | Normal — 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-gatewaySyntaxe 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 af31nginx — 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 absentSolution : 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