33800 Docs

← Retour

Pi-hole & Split-DNS

Dernière mise à jour : 26/01/2026

Pour la sécurité/accès réseau : voir acces-reseau.md

IMPORTANT

Pi-hole = Split-DNS pour le confort local, PAS une protection contre l'accès externe.

La vraie protection = restrictions nginx (allow/deny) + .htaccess O2switch. Voir acces-reseau.md pour les détails.

Architecture réelle

┌─────────────────────────────────────────────────────────────────────────────┐
│                           ACCÈS DEPUIS INTERNET                              │
│                                                                              │
│  Visiteur externe                                                            │
│       │                                                                      │
│       ▼                                                                      │
│  DNS Public (O2switch)                                                       │
│  *.33800.nowhere84.com → 82.65.119.221 / 2a01:e0a:2c:a320::1               │
│  *.86000.nowhere84.com → 82.67.42.47 / 2a01:e0a:fb8:78c0::1                │
│       │                                                                      │
│       ▼                                                                      │
│  Freebox (port forward 80/443)                                               │
│       │                                                                      │
│       ▼                                                                      │
│  Nginx (192.168.1.104)                                                       │
│       │                                                                      │
│       ├─── allow/deny → REFUSE si IP non autorisée (403 Forbidden)          │
│       │                                                                      │
│       └─── Si autorisé → Service Docker                                      │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│                         ACCÈS DEPUIS RÉSEAU LOCAL                            │
│                                                                              │
│  Client local (192.168.1.x)                                                  │
│       │                                                                      │
│       ▼                                                                      │
│  Pi-hole (192.168.1.12:53)                                                   │
│  *.33800.nowhere84.com → 192.168.1.104 (nginx local, pas via Freebox)       │
│       │                                                                      │
│       ▼                                                                      │
│  Nginx (192.168.1.104)                                                       │
│       │                                                                      │
│       └─── IP locale autorisée → Service Docker                              │
└─────────────────────────────────────────────────────────────────────────────┘

IPs autorisées (nginx + O2switch)

Qui IPv4 IPv6
LAN 33800 192.168.1.0/24 2a01:e0a:2c:a320::/64
Localhost 127.0.0.1 ::1
Raph (86000) 82.67.42.47 2a01:e0a:fb8:78c0::/64
Rhinov (bureau) 130.180.208.74 -
Rhinov (bureau) 92.154.124.233 -

Services publics (SEUL Jellyfin)

Service URL Pourquoi public
Jellyfin https://jellyfin.33800.nowhere84.com Streaming médias pour famille/amis

Tous les autres services sont privés (restrictions nginx).

Pi-hole

Emplacement : prod-portainer (192.168.1.12) - Docker container pihole

Web UI : http://192.168.1.12:8080/admin Password : MyUlia75

DNS upstream : 1.1.1.1, 1.0.0.1 (Cloudflare)

Configuration Split-DNS

Fichier : /etc/dnsmasq.d/02-local-domains.conf (dans le container)

# Wildcard - réseau local pointe directement vers nginx (évite de sortir sur internet)
address=/33800.nowhere84.com/192.168.1.104

# Machines locales
address=/pve.local/192.168.1.4
address=/proxmox.local/192.168.1.155
address=/prod-portainer.local/192.168.1.12
address=/gitlab.local/192.168.1.196
address=/nginx.local/192.168.1.104
address=/dev-portainer.local/192.168.1.51
address=/jellyfin.local/192.168.1.199
address=/vscode.local/192.168.1.154
address=/win11.local/192.168.1.30

# Réseau stockage 10G
address=/pve-speed.local/10.10.10.10
address=/prod-portainer-speed.local/10.10.10.12

Avantage du Split-DNS

Pour le réseau local, Pi-hole résout *.33800.nowhere84.com directement vers nginx local :

⚠️ RÈGLE CRITIQUE : Toujours utiliser les domaines HTTPS, JAMAIS d'IP:port

Grâce au split-DNS, tous les services sont accessibles via https://xxx.33800.nowhere84.com depuis le réseau local comme depuis l'extérieur.

Par conséquent :

Exemples : | MAUVAIS (IP:port) | BON (domaine HTTPS) | |---|---| | http://192.168.1.12:5403/api/... | https://connectors.33800.nowhere84.com/api/... | | http://192.168.1.12:5501/api/... | https://ai-orchestrator.33800.nowhere84.com/api/... | | http://192.168.1.12:5300/api/... | https://notifications.33800.nowhere84.com/api/... |

Incident 01/02/2026 : Le callback webhook de l'AI orchestrator utilisait http://192.168.1.12:5400 (mauvais port + IP). Le webhook échouait silencieusement. Corrigé en utilisant https://connectors.33800.nowhere84.com.

Notes