# 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.local` | 172.20.0.10 | | bitcoin | `bitcoin.4nk.local` | 172.20.0.11 | | blindbit | `blindbit.4nk.local` | 172.20.0.12 | | sdk_storage | `sdk-storage.4nk.local` | 172.20.0.13 | | sdk_relay1 | `sdk-relay1.4nk.local` | 172.20.0.14 | | sdk_relay2 | `sdk-relay2.4nk.local` | 172.20.0.15 | | sdk_relay3 | `sdk-relay3.4nk.local` | 172.20.0.16 | | sdk_signer | `sdk-signer.4nk.local` | 172.20.0.17 | | ihm_client | `ihm-client.4nk.local` | 172.20.0.18 | | coffre_front | `coffre-front.4nk.local` | 172.20.0.32 | | coffre_back_mini | `coffre-back-mini.4nk.local` | 172.20.0.33 | | miniback-postgres | `miniback-postgres.4nk.local` | 172.20.0.30 | ## Utilisation ### Démarrage ```bash # Démarrer dnsmasq pour 4NK ./scripts/start-dnsmasq.sh ``` ### Test de résolution ```bash # Test avec nslookup nslookup -port=5353 tor.4nk.local 127.0.0.1 nslookup -port=5353 coffre-front.4nk.local 127.0.0.1 # Test avec dig dig @127.0.0.1 -p 5353 bitcoin.4nk.local ``` ### Configuration système (optionnel) Pour utiliser dnsmasq comme DNS principal : ```bash # 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 : ```nginx # Configuration Nginx location /coffre/ { proxy_pass http://coffre-front.4nk.local:80/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } ``` ## Dépannage ### Vérifier le statut ```bash # Vérifier si dnsmasq écoute sur le port 5353 netstat -tlnp | grep 5353 # Vérifier les processus dnsmasq ps aux | grep dnsmasq ``` ### Logs ```bash # Logs dnsmasq (si configuré) tail -f /var/log/dnsmasq.log ``` ### Arrêt ```bash # 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