W moim homelabie DNS jest rozwiązany w oparciu o:
10.10.20.10) – filtr reklam + lokalne rekordy DNS.Dzięki temu:
*.lab (np. portainer.lab, gitea.lab, docs.lab),10.10.20.10 (w głównej podsieci 10.10.20.0/24)*.lab.Panel WWW Pi-hole jest dostępny z LAN (np. przez IP lub za Traefikiem – zależnie od konfiguracji):
http://10.10.20.10/adminW sieci LAN za adresację odpowiadają routery MikroTik (np. MT1 jako główny).
W konfiguracji DHCP Mikrotika ustawiam:
10.10.20.10 (adres Pi-hole),Przykładowa logika (uogólniona):
10.10.20.0/24,10.10.20.10:53.*.lab,W Pi-hole mam dodane lokalne rekordy typu A dla podstawowych usług homelabu:
portainer.lab → 10.10.20.10gitea.lab → 10.10.20.10docs.lab → 10.10.20.10grafana.lab → 10.10.20.10kuma.lab → 10.10.20.10loki.lab → 10.10.20.10traefik.lab → 10.10.20.10Dzięki temu:
http://portainer.labhttp://gitea.labhttp://docs.labHost, potrafi przekierować ruch HTTP/HTTPS do właściwych kontenerów.Do szybkiej weryfikacji poprawnego działania DNS w LAN używam poleceń typu:
nslookup portainer.lab
nslookup gitea.lab
nslookup docs.lab
Oczekiwane odpowiedzi:
10.10.20.10portainer.lab → 10.10.20.10gitea.lab → 10.10.20.10docs.lab → 10.10.20.10Jeśli odpowiedzi są inne (np. zewnętrzny DNS), oznacza to, że:
Pi-hole zapewnia mapowanie nazw *.lab na IP rpi5, a Traefik zajmuje się rozdzielaniem ruchu HTTP/HTTPS do kontenerów.
Przykładowy przepływ dla http://gitea.lab:
gitea.lab → pyta Pi-hole (10.10.20.10).gitea.lab = 10.10.20.10.10.10.20.10:80 z nagłówkiem Host: gitea.lab.Host("gitea.lab"),Analogicznie działa to dla:
portainer.labdocs.labgrafana.labPi-hole na rpi5 (10.10.20.10):
*.lab.MikroTik (MT1/MT2/MT3):
10.10.20.10).Traefik:
*.lab z DNS do kierowania ruchu HTTP/HTTPS na konkretne usługi.W efekcie cały DNS w homelabie jest scentralizowany, łatwy do monitorowania i rozbudowy (nowe usługi → nowe rekordy *.lab w Pi-hole + odpowiednie reguły w Traefiku).