Омръзнало ли ви е да бъдете бомбардирани с реклами всеки път, когато сърфирате в интернет или използвате мобилно приложение? Е, има едно фантастично решение, наречено Pi-hole, което по същество действа като интелигентен DNS филтър . Най-хубавото е, че не е нужно да инсталирате нищо на всяко устройство в дома си; системата работи от ядрото на вашата мрежа, прихващайки и блокирайки нежелано съдържание, преди то дори да достигне до екрана ви.
За да настроите тази система, най-умният вариант днес е да използвате Docker. Като поставите Pi-hole в контейнер, избягвате претрупването на операционната система на компютъра си, правите актуализациите невероятно лесни и извличате максимума от хардуера си – независимо дали става въпрос за Raspberry Pi, по-стар сървър или дори виртуална машина, работеща с Ubuntu или Debian – без никакви конфликти на услуги.
Предварителни изисквания и подготовка на обекта
Преди да се потопим в това, заслужава да се отбележи, че Pi-hole е изключително лек. За да работи безпроблемно, ви трябват само около 512 MB RAM и между 2 и 4 GB дисково пространство. Що се отнася до операционната система, тя работи перфектно с дистрибуции, които използват systemd или sysvinit, като Debian, Ubuntu, Fedora или Raspberry Pi OS.
Критичен момент е мрежата. За да бъде системата стабилна, Pi-hole изисква статичен IP адрес . Ако не искате да се занимавате с ръчно конфигуриране на сървъра, можете да резервирате IP адрес на вашия рутер, така че той винаги да присвоява един и същ адрес на компютъра, на който се намира контейнерът.
Разгръщане на Pi-hole с помощта на Docker
Най-лесният начин да настроите това е чрез файл docker-compose.yml . Този метод ви позволява да дефинирате цялата конфигурация наведнъж. Изключително важно е да съпоставите томовете (като /etc/pihole и /etc-dnsmasq.d) с локални папки на вашия хост, така че ако актуализирате образа на контейнера, да не загубите всичките си конфигурации или черни списъци.
В конфигурационния файл обърнете внимание на портовете. Порт 53 е сърцето на DNS и трябва да е свободен. Ако видите, че контейнерът не се стартира, вероятно systemd-resolved или dnsmasq използва този порт на хоста. В тези случаи ще трябва да деактивирате конфликтната услуга или да конфигурирате мост, който да пренасочва трафика.
Ако решите да използвате Pi-hole и като DHCP сървър, не забравяйте да добавите възможността NET_ADMIN в секцията cap_add на compose и за предпочитане използвайте мрежовия режим на хоста (network_mode: host), за да избегнете проблеми с връзката.
Първоначална настройка и управление на достъпа
След като изпълните командата docker-compose up -dСистемата ще бъде активна. За да получите достъп до контролния панел, свържете се с IP адреса на вашия сървър чрез порта, който сте задали (80 по подразбиране, въпреки че можете да го промените на 8080 или 89, за да избегнете конфликти с други уеб сървъри). Ако не сте дефинирали парола в променливата на средата... УЕБПАРОЛАСистемата ще генерира произволно такова, което можете да намерите, като проверите лог файловете с командата docker logs pihole | grep random.
За допълнителна сигурност е най-добре да промените тази парола бързо. Можете да получите достъп до контейнерния терминал, използвайки docker exec -it pihole /bin/bash и изпълнете командата пихоле -а -п да зададете парола, която е лесна за запомняне от вас, но трудна за другите.
Филтриране нагоре по веригата и DNS оптимизация
За да сте сигурни, че Pi-hole знае към кого да отправи запитване, когато не разпознае адрес, трябва да конфигурирате DNS сървър нагоре по веригата. Много надеждна опция е Quad9 ; просто изберете неговите филтрирани сървъри (като 9.9.9.9) в раздела с настройки на DNS. Това добавя допълнителен слой сигурност и поверителност към вашето сърфиране.
Сърцето на Pi-hole са неговите блок-листи. Ако искате да започнете с нещо солидно, можете да добавите списъка на StevenBlack . Всеки път, когато променяте списъците, независимо дали чрез изтриване на записи със SQLite3 или добавяне на нови URL адреси, е важно да отидете в Tools (Инструменти) и да стартирате Update Gravity (Актуализиране на Гравитацията) , за да се обнови базата данни и промените да влязат в сила.
Разширени съвети: Локални домейни и управление
Ако имате няколко услуги у дома, можете да създадете локални имена на домейни за да избегнете запомнянето на IP адреси. За да направите това, създайте файл с име local.list на монтирания Pi-hole том, като дефинирате IP адреса и формата на домейна. След това създайте конфигурационен файл за dnsmasq, който препраща към този списък, и рестартирайте контейнера.
За да управлявате системата без достъп до уебсайта, има много полезни команди, които можете да изпълнявате от хоста. Например, за да добавите домейн към черния списък, използвайте `pihole -b mydomain.com` или за да деактивирате временно филтрирането за 10 минути, можете да използвате `pihole disable 10m` , което е много удобно, когато легитимен уебсайт е погрешно блокиран.
Поемането на контрол върху домашното рекламиране е напълно осъществимо чрез комбиниране на скромен хардуер с гъвкавостта на Docker, осигуряване на свободен порт 53 и правилно конфигуриране на томове за съхранение на данни. След като настроите DNS на вашия рутер и оптимизирате списъците на Gravity, ще се радвате на по-чиста и много по-бърза мрежа на всички ваши устройства.
