4NK_node/docs/DNSMASQ_SETUP.md
Nicolas Cantu ef4f769f89 feat: Réécriture complète de dnsmasq.conf et décentralisation des configurations .env
- Réécriture complète de dnsmasq.conf avec résolution DNS pour tous les services .4nk-local
- Décentralisation des configurations .env vers chaque service (modules/projects)
- Création de fichiers .env et .env.exemple pour chaque service concerné
- Suppression du fichier .env global
- Mise à jour de la structure 4nk-local avec configurations décentralisées
- Amélioration de la sécurité et de l isolation des configurations par service
2025-09-12 13:20:35 +02:00

3.1 KiB

Configuration dnsmasq pour 4NK

Vue d'ensemble

dnsmasq est configuré pour résoudre les noms Docker 4NK sur le port 5353, permettant à Nginx local d'accéder aux services Docker via leurs hostnames.

Architecture

Nginx local (port 80)
    ↓
dnsmasq (port 5353)
    ↓
Services Docker (172.20.0.0/16)

Configuration

Fichier de configuration

  • Emplacement : conf/dnsmasq/dnsmasq.conf
  • Port : 5353 (évite le conflit avec le DNS système sur le port 53)
  • Interface : 127.0.0.1

Résolution des noms Docker

Service Hostname IP Docker
tor tor.4nk.4nk-local 172.20.0.10
bitcoin bitcoin.4nk.4nk-local 172.20.0.11
blindbit blindbit-core.4nk.4nk-local 172.20.0.12
sdk_storage sdk-storage.4nk.4nk-local 172.20.0.13
sdk_relay1 sdk-relay1.4nk.4nk-local 172.20.0.14
sdk_relay2 sdk-relay2.4nk.4nk-local 172.20.0.15
sdk_relay3 sdk-relay3.4nk.4nk-local 172.20.0.16
sdk_signer sdk-signer.4nk.4nk-local 172.20.0.17
ihm_client ihm.client.modules.4nk.4nk-local 172.20.0.18
coffre_front coffre-front.4nk.4nk-local 172.20.0.32
coffre_back_mini coffre-back-mini.4nk.4nk-local 172.20.0.33
miniback-postgres miniback-postgres.4nk.4nk-local 172.20.0.30

Utilisation

Démarrage

# Démarrer dnsmasq pour 4NK
./scripts/start-dnsmasq.sh

Test de résolution

# Test avec nslookup
nslookup -port=5353 tor.4nk.4nk-local 127.0.0.1
nslookup -port=5353 coffre-front.4nk.4nk-local 127.0.0.1

# Test avec dig
dig @127.0.0.1 -p 5353 bitcoin.4nk.4nk-local

Configuration système (optionnel)

Pour utiliser dnsmasq comme DNS principal :

# Ajouter dans /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf

Intégration avec Nginx

Nginx peut maintenant utiliser les hostnames Docker :

# Configuration Nginx
location /coffre/ {
    proxy_pass http://coffre-front.4nk.4nk-local:80/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

Dépannage

Vérifier le statut

# Vérifier si dnsmasq écoute sur le port 5353
netstat -tlnp | grep 5353

# Vérifier les processus dnsmasq
ps aux | grep dnsmasq

Logs

# Logs dnsmasq (si configuré)
tail -f /var/log/dnsmasq.log

Arrêt

# Arrêter dnsmasq
pkill -f "dnsmasq.*5353"

Avantages

  1. Noms Docker natifs : Utilise les hostnames Docker configurés
  2. Pas de conflit : Port 5353 évite les conflits avec le DNS système
  3. Configuration centralisée : Un seul fichier de configuration
  4. Facilité de maintenance : Script de démarrage automatisé
  5. Compatibilité : Fonctionne avec Nginx local et Docker

Limitations

  1. Port non-standard : Nécessite une configuration spécifique
  2. Dépendance : Nginx doit être configuré pour utiliser dnsmasq
  3. Maintenance : Les IPs Docker doivent être mises à jour si le réseau change

Sécurité

  • dnsmasq écoute uniquement sur 127.0.0.1
  • Pas d'exposition externe
  • Configuration limitée au réseau 4NK