Na společné krabici s Pi-hole a VPN se pletou dvě věci: rodina distribuce, kterou jste nainstalovali, a vydání plus architektura, které komponenty skutečně podporují. Deska, která nabootuje image, dokazuje, že jádro běží; nedokazuje, že binárka FTL od Pi-hole a váš instalátor VPN míří do stejného uživatelského prostoru. Skutečná zkouška je čtyřcestný průnik podpory desky, větve vydání, architektury balíčků a cesty aktualizace, kterou zvládnete sami. Ztratíte kteroukoli ze čtyř nohou a zařízení tento týden funguje, a pak vás nechá ve štychu u další bezpečnostní aktualizace.

Podporu určuje větev vydání, ne jméno rodiny

Zeptejte se, proti kterému vydání projekt ještě testuje, a odpověď zapište jako řetězec verze, ne jako Debian. Stránka s předpoklady Pi-hole uvádí podporované operační systémy a předem sestavené architektury FTL jako dva samostatné požadavky, omezuje podporu na vydání, která sama distribuce ještě udržuje, a varuje, že varianty nebo neobvyklé konfigurace mohou selhat i uvnitř podporovaného seznamu. Tahle formulace je důležitá: podporovaná rodina nepokrývá každého svého člena.

Starý image, který na vašem Pi ještě nabootuje, není důkazem podpory. Deska je v pořádku, index balíčků je zastaralý a nesoulad se projeví později, když instalátor stáhne závislost, kterou vydání už nedokáže uspokojit.

Strana VPN má víc částí, každá s vlastním oknem: daemon tunelu, instalační pomocník, který píše jeho konfiguraci, klientská aplikace poskytovatele a integrační balíček distribuce jsou čtyři samostatné projekty. Instalátor, který rozpozná vaši distribuci, a instalátor, který vytvoří službu, jež vydání dokáže udržet v běhu, jsou dvě různá tvrzení. Podívejte se na vlastní seznam platforem daemonu a pak na to, zda byl pomocník, který chcete spustit, od vydání té verze vůbec upraven. Kde projekt uvádí podporu jen do pojmenovaného vydání, berte to následující jako neotestované, dokud ho sami nenabootujete.

Slaďte binární cíl s uživatelským prostorem, který máte

Architektura je tišší selhání. 64bitové jádro s 32bitovým uživatelským prostorem je skutečná, podporovaná kombinace na několika deskách a spouští 32bitovou binárku FTL bez stížností, až do chvíle, kdy nainstalujete něco publikovaného jen pro arm64. Vytiskněte obě poloviny, než vyberete image, a výstup si nechte u poznámek.

uname -m
dpkg --print-architecture
grep -E '^(PRETTY_NAME|VERSION_ID)=' /etc/os-release
apt-cache policy pihole-ftl

Pokud se ty dva řádky architektury neshodují, jste na smíšeném uspořádání: použitelném pro samotný Pi-hole, křehkém, jakmile si druhá služba vyžádá nativní knihovny. Přeflashování na čistý 64bitový image je obvykle rychlejší než přestavba nástrojového řetězce, který nesoulad vytvořil.

Marketing desky to také nevyřeší. Velikost paměti a model CPU neříkají nic o tom, proti které libc se vaše balíčky linkují, takže rozhodujte podle vytištěných hodnot, nikdy podle produktové stránky.

Jedna krabice, dvě služby, jeden vlastník sítě

Rozhodněte, kdo vlastní adresování, resolver a tunel, než se nahraje první balíček, protože jinak si dvě služby nárokují stejnou povinnost a ani jedna nevyhraje čistě. Dejte Pi statickou adresu mimo DHCP pool, který rozdává váš router, a držte tunel na vlastní podsíti: 192.168.50.10 pro Pi a 10.42.0.0/24 pro tunel je jedno proveditelné rozdělení a samotná čísla jsou libovolná, pokud se nesrazí s tím, co váš router už obsluhuje. Pak zapište, která komponenta odpovídá na portu 53, která rozdává DHCP, pokud ho používáte, a která vlastní výchozí trasu, dokud je tunel nahoře. Na image bez displeje patří ten poslední úkol NetworkManageru nebo systemd-networkd a instalace klientské aplikace poskytovatele, která také přepisuje konfiguraci resolveru je způsob, jak lidé skončí s živým tunelem a mrtvým DNS.

Sdílet krabici je v pořádku. Sdílet roli ne. Pi-hole chce být jediný posluchač na portu 53 a daemon VPN chce klientům protlačit vlastní nastavení DNS, takže vyberte, kterému z těch dvou mají klienti věřit, a druhý nastavte tak, aby nepřekážel.

Držte administrativní cestu mimo tunel, kde můžete. Pokud resolver a tunel selžou společně, pořád chcete mít SSH dostupné na LAN adrese, a to znamená, že služba správy nesmí záviset ani na jednom z nich.

Udělejte z příští aktualizace součást volby

Vydání, které nedokážete aktualizovat, je strop podpory, který jste už přijali. Otestujte mechaniku aktualizace na náhradní kartě, než zařízení ponese DNS vaší domácnosti, a přečtěte si, co projekty říkají o přeskakování větví, místo abyste předpokládali, že aktualizace balíčku stačí.

sudo apt update
apt-mark showhold
sudo apt full-upgrade
pihole -up

Přidržené balíčky jsou obvyklým důvodem, proč aktualizace vypadá úspěšně a nic nezmění. Zrušte přidržení záměrně, jedno po druhém, a poznamenejte si, která služba pin potřebovala.

Před skokem exportujte konfiguraci Pi-hole, statické lease a všechny profily tunelu a potvrďte, že je dokážete obnovit na čistý image. Po skoku otestujte běžný DNS klientů, soukromý zdroj za tunelem, opětovné připojení a jakékoli pravidlo přesměrování na bráně. Krabice, která nabootuje a odpoví na ping, neprošla téměř ničím.

Když žádné jediné vydání nesedí na obě služby

Někdy je průnik prázdný: pomocník VPN přešel na novější vydání, než jaké je balíček Pi-hole, který můžete nainstalovat, nebo image výrobce desky zaostává za oběma. V takovém případě role oddělte, místo abyste upravovali metadata vydání, aby se instalátor uklidnil. Dvě malá zařízení, nebo jedno zařízení plus kontejner pro druhou službu, stojí méně než zařízení, jehož příběh podpory stojí na lži.

Falšování verze je jediná zkratka, kterou je třeba rovnou odmítnout. Správci balíčků věří tomu, co říká soubor vydání, takže podvržený identifikátor vám dá instalaci, se kterou vám ani jeden z obou projektů nepomůže ladit.

Pokud dvě aktuální vydání splňují všechno, vyberte to, jehož poznámky k aktualizaci zvládnete sledovat bez hádání, a přestaňte hledat. Pak zapište verzi, architekturu, vlastníky služeb a krok obnovy na jedno místo, protože další člověk, který se dotkne SD karty, bude potřebovat všechny čtyři.

Související články