4NK_node/docs/DNSMASQ_SETUP.md
Nicolas Cantu 4b4d613073 Alignement DNS: migration .4nk.local vers .local
- Alignement hostname docker-compose.yml avec dnsmasq.conf
- Correction bitcoin.conf: remplacement .4nk.local par .local
- Mise à jour conf nginx, tor, sdk_relay vers .local
- Mise à jour tests connectivité pour .local
- Suppression module blindbit-orcacle (typo)
- Configuration dnsmasq pour résolution .local
- Correction permissions bitcoin.conf
2025-09-10 17:36:31 +02:00

121 lines
3.0 KiB
Markdown

# 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-core.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