Поради липса на статичен IP адрес от страна на интернет доставчика ми, търсих лесен и елегантен начин за достъп до моите локални услуги и Docker контейнери. След няколко неуспешни опита с различни решения, открих комбинацията Pi-hole + Nginx Proxy Manager, която се оказа идеалното решение за моите нужди.
Проблемът с динамичния IP
Като много домашни потребители, нямах достъп до статичен IP адрес от доставчика си. Това означаваше, че всеки път когато рутерът се рестартира, IP адресът ми се променя. За достъп до домашните ми услуги като Portainer, Jellyfin, Nextcloud и други, това беше истински кошмар.
Първоначално използвах Cloudflare Tunnel, което работеше отлично, но имаше един сериозен недостатък – всички мои услуги бяха достъпни от интернет, което не беше желателно от гледна точка на сигурността.
Решението: Pi-hole като локален DNS
Откриването, че Pi-hole може да работи не само като блокер на реклами, но и като локален DNS сървър, беше истинско откровение! Оказа се, че мога да настроя локални домейни, които да работят само в домашната ми мрежа.
В Admin панела на Pi-hole отидох в Local DNS > DNS Records и добавих следните записи:
Nginx Proxy Manager за разпределение
След като Pi-hole разрешава локалните домейни към IP адреса на моя сървър, Nginx Proxy Manager поема отговорността за разпределението на заявките към правилните контейнери.
За всеки домейн създадох отделен Proxy Host:
Избор на локален домейн
Първоначално мислех, че трябва задължително да използвам .local
домейни, но оказа се, че имам пълна свобода в избора!
Популярни варианти за локални домейни:
.homelab
– моят избор, ясно показва предназначението.local
– традиционен стандарт.home
– лесен за запомняне.lan
– класически за локални мрежи.dev
– внимание: Chrome изисква HTTPS!
Проблем със SSL сертификатите
При тестването открих интересен проблем – достъпът до Proxmox чрез новия домейн не работеше поради SSL сертификата. Proxmox използва self-signed сертификат за оригиналното hostname/IP и отхвърля връзки от други домейни.
Най-лесните начини за решаване:
Предимства на това решение
- Пълна локалност – услугите не са достъпни от интернет
- Лесни за запомняне домейни – вместо IP адреси и портове
- Гъвкавост – лесно добавяне на нови услуги
- Не изисква статичен IP – работи с всеки домашен рутер
- Използва съществуваща инфраструктура – Pi-hole вече го имах за реклами
Практични съвети
Полезни команди за тестване:
Заключение
Комбинацията Pi-hole + Nginx Proxy Manager се оказа идеалното решение за моите нужди. Получих удобен достъп до всички домашни услуги с красиви домейни, запазвайки същевременно сигурността чрез локален достъп само.
Настройката отне буквално минути, а резултатът е професионално изглеждаща homelab среда.