На сумешчанай скрынцы Pi-hole і VPN блытаюцца дзве рэчы: сямейства дыстрыбутыва, якое вы ўсталявалі, і выпуск разам з архітэктурай, якія фактычна падтрымліваюць кампаненты. Плата, якая загружаецца з вобраза, даказвае, што ядро працуе; яна не даказвае, што бінарнік FTL ад Pi-hole і ваш усталёўшчык VPN нацэлены на адну і тую ж прастору карыстальніка. Сапраўдная праверка — гэта чатырохбаковае перасячэнне падтрымкі платы, галіны выпуску, архітэктуры пакетаў і шляху абнаўлення, які вы можаце правесці самі. Страціце любую з гэтых чатырох ног, і прылада прапрацуе гэты тыдзень, а потым кіне вас на наступным абнаўленні бяспекі.

Падтрымку вызначае галіна выпуску, а не назва сямейства

Спытайце, супраць якога выпуску праект яшчэ тэстуецца, і запішыце адказ як радок версіі, а не як Debian. Старонка папярэдніх умоў Pi-hole пералічвае падтрымоўваныя аперацыйныя сістэмы і папярэдне сабраныя архітэктуры FTL як два асобныя патрабаванні, абмяжоўвае падтрымку выпускамі, якія сам дыстрыбутыў яшчэ падтрымлівае, і папярэджвае, што варыянты або незвычайныя канфігурацыі могуць не працаваць нават у межах падтрымоўванага спісу. Гэтая фармулёўка важная: падтрымоўванае сямейства не ахоплівае кожнага свайго члена.

Стары вобраз, які яшчэ загружаецца на вашым Pi, не з’яўляецца доказам падтрымкі. Плата ў парадку, індэкс пакетаў састарэў, а неадпаведнасць выявіцца пазней, калі ўсталёўшчык пацягне залежнасць, якую выпуск ужо не можа задаволіць.

У VPN болей частак, і ў кожнай сваё акно: дэман тунеля, дапаможнік усталявання, які піша яго канфігурацыю, кліенцкая праграма правайдара і інтэграцыйны пакет дыстрыбутыва — гэта чатыры асобныя праекты. Усталёўшчык, які пазнае ваш дыстрыбутыў, і ўсталёўшчык, які стварае службу, якую выпуск можа ўтрымліваць у працы, — розныя заявы. Паглядзіце ўласны спіс платформаў дэмана, затым паглядзіце, ці краналі дапаможнік, які вы збіраецеся запусціць, з моманту выхаду таго выпуску. Калі праект заяўляе падтрымку толькі да названага выпуску, лічыце наступны неправераным, пакуль самі яго не загрузіце.

Узгадніце мэту бінарніка з вашай прасторай карыстальніка

Архітэктура — гэта больш ціхая памылка. 64-бітнае ядро з 32-бітнай прасторай карыстальніка — рэальная, падтрымоўваная камбінацыя на некалькіх платах, і яна запускае 32-бітны бінарнік FTL без скаргаў, аж да моманту, калі вы ўсталюеце нешта, што публікуецца толькі для arm64. Надрукуйце абедзве паловы перад выбарам вобраза і трымайце вывад побач з нататкамі.

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

Калі гэтыя два радкі архітэктуры не супадаюць, вы на змешанай канфігурацыі: працаздольнай для аднаго Pi-hole, крохкай, як толькі другая служба захоча натыўныя бібліятэкі. Перазапіс на чысты 64-бітны вобраз звычайна хутчэйшы, чым перабудова ланцуга інструментаў, які стварыў неадпаведнасць.

Маркетынг платы таксама гэтага не вырашае. Памер памяці і мадэль CPU нічога не кажуць пра тое, супраць якой libc звязваюцца вашыя пакеты, таму вырашайце па надрукаваных значэннях, а ніколі па старонцы прадукту.

Адна скрынка, дзве службы, адзін уладальнік сеткі

Вызначце, хто валодае адрасацыяй, рэзалверам і тунелем, перш чым усталяваць першы пакет, бо інакш дзве службы пачнуць прэтэндаваць на адзін абавязак і ні адна не пераможа чыста. Дайце Pi статычны адрас па-за пулам DHCP, які выдае ваш маршрутызатар, і трымайце тунель у асобнай падсетцы: 192.168.50.10 для Pi і 10.42.0.0/24 для тунеля — працаздольнае размеркаванне, а самі лікі адвольныя, пакуль яны не сутыкаюцца з тым, што ваш маршрутызатар ужо абслугоўвае. Затым запішыце, які кампанент адказвае на порце 53, які выдае DHCP, калі вы ім карыстаецеся, і які валодае маршрутам па змаўчанні, пакуль тунель падняты. На бескансольным вобразе апошні абавязак належыць NetworkManager або systemd-networkd, і усталяванне кліента правайдара, які яшчэ і перапісвае канфігурацыю рэзалвера — гэта шлях, якім людзі прыходзяць да жывога тунеля і мёртвага DNS.

Дзяліць скрынку можна. Дзяліць ролю — не. Pi-hole хоча быць адзіным слухачом на порце 53, а дэман VPN хоча праштурхоўваць сваю наладу DNS кліентам, таму абярыце, якому з двух кліенты павінны давяраць, і наладзьце другі так, каб ён не перашкаджаў.

Трымайце шлях адміністравання па-за тунелем, дзе можаце. Калі рэзалвер і тунель зламаюцца разам, вы ўсё яшчэ хочаце мець SSH даступным па адрасе LAN, а гэта значыць, што служба кіравання не павінна залежаць ні ад аднаго з іх.

Зрабіце наступнае абнаўленне часткай выбару

Выпуск, які вы не можаце абнавіць, — гэта столак падтрымкі, які вы ўжо прынялі. Праверце механіку абнаўлення на запасной карце, перш чым прылада пачне несці DNS вашай гаспадаркі, і прачытайце, што праекты кажуць пра пераход паміж галінамі, замест таго каб меркаваць, што абнаўлення пакета досыць.

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

Утрыманыя пакеты — звычайная прычына таго, што абнаўленне выглядае паспяховым і нічога не змяняе. Здымайце ўтрыманне наўмысна, па аднаму, і адзначце, якой службе патрэбна была фіксацыя.

Перад пераходам экспартуйце канфігурацыю Pi-hole, статычныя арэнды і любыя профілі тунеля і пацвердзіце, што можаце аднавіць іх на свежым вобразе. Пасля пераходу праверце звычайны DNS кліентаў, прыватны рэсурс за тунелем, перападключэнне і любое правіла перанакіравання на шлюзе. Скрынка, якая загружаецца і адказвае на ping, не прайшла амаль нічога.

Калі ні адзін выпуск не падыходзіць для абедзвюх службаў

Часам перасячэнне пустое: дапаможнік VPN перайшоў на больш новы выпуск, чым пакет Pi-hole, які вы можаце ўсталяваць, або вобраз вытворцы платы адстае ад абодвух. У такім выпадку раздзяліце ролі замест таго, каб правіць метаданыя выпуску дзеля задавальнення ўсталёўшчыка. Дзве малыя прылады, або адна прылада плюс кантэйнер для другой службы, каштуюць менш за прыладу, гісторыя падтрымкі якой трымаецца на хлусні.

Падробка версіі — адзіны кароткі шлях, ад якога трэба адмовіцца наадрэз. Мэнэджары пакетаў вераць таму, што напісана ў файле выпуску, таму падроблены ідэнтыфікатар дасць вам усталяванне, з адладкай якога не дапаможа ні адзін праект.

Калі два бягучыя выпускі задавальняюць усё, абярыце той, чые нататкі аб абнаўленні вы можаце выконваць без здагадак, і спыніцеся шукаць. Затым запішыце версію, архітэктуру, уладальнікаў службаў і крок аднаўлення ў адным месцы, бо наступнаму чалавеку, які возьме SD-карту, спатрэбяцца ўсе чатыры.

Падобныя артыкулы