Устали от постоянной рекламы при каждом посещении интернета или использовании мобильных приложений? Есть отличное решение — Pi-hole, который, по сути, выступает в роли... интеллектуальный DNS-фильтрСамое приятное то, что вам не нужно устанавливать ничего на каждое устройство в вашем доме; система работает из ядра вашей сети, перехватывая и блокируя нежелательный контент еще до того, как он попадет на ваш экран.
Для настройки этой системы сегодня наиболее разумным вариантом является использование Docker. Разместив Pi-hole в контейнере, вы избегаете загромождения операционной системы вашего компьютера, значительно упрощаете обновления и можете максимально эффективно использовать оборудованиеБудь то Raspberry Pi, старый сервер или даже виртуальная машина на Ubuntu или Debian, без конфликтов между сервисами.
Предварительные условия и подготовка площадки
Прежде чем мы начнём, стоит отметить, что Pi-hole — чрезвычайно лёгкое приложение. Для его безупречной работы вам понадобится всего несколько устройств. 512 МБ оперативной памяти и от 2 до 4 ГБ встроенной памяти. на диске. Что касается операционной системы, она прекрасно работает с дистрибутивами, использующими systemd или sysvinit, такими как Debian, Ubuntu, Fedora или Raspberry Pi OS.
Критически важным моментом является сеть. Для стабильной работы системы Pi-hole требуется сеть. статический IP-адресЕсли вы не хотите усложнять себе жизнь ручной настройкой сервера, вы можете зарезервировать IP-адрес на своем маршрутизаторе, чтобы он всегда назначал один и тот же адрес компьютеру, на котором находится контейнер.
Развертывание Pi-hole с использованием 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 и запустите команду pihole -a -p установить пароль, который вам будет легко запомнить, но который будет сложно запомнить другим.
Фильтрация исходящих запросов и оптимизация DNS
Чтобы Pi-hole мог определить, к кому обращаться, если не распознает адрес, необходимо настроить вышестоящий DNS-сервер. Очень надежный вариант — это Quad9Выбрав фильтруемые серверы (например, 9.9.9.9) на вкладке настроек DNS, вы можете повысить уровень безопасности и конфиденциальности при просмотре веб-страниц.
В основе Pi-hole лежат списки блокировки. Если вы хотите начать с чего-то надежного, вы можете добавить список... Стивен БлэкПри каждом изменении списков, будь то удаление записей с помощью SQLite3 или добавление новых URL-адресов, необходимо перейти в раздел «Инструменты» и запустить соответствующую команду. Обновить гравитацию чтобы база данных обновилась и изменения вступили в силу.
Расширенные советы: Локальные домены и управление
Если у вас дома несколько сервисов, вы можете создать локальные доменные имена чтобы избежать необходимости запоминать IP-адреса. Для этого создайте файл с именем... local.list На смонтированном томе Pi-hole укажите формат IP-адреса и домена. Затем создайте конфигурационный файл для dnsmasq, который будет ссылаться на этот список, и перезапустите контейнер.
Для управления системой без доступа к веб-сайту можно использовать очень полезные команды, которые можно запускать с хоста. Например, чтобы добавить домен в черный список, используйте pihole -b mydomain.com Или, чтобы временно отключить фильтрацию на 10 минут, вы можете использовать Отключение Pihole на 10 мЭто очень полезно, когда легитимный веб-сайт по ошибке блокируется.
Взять под контроль домашнюю рекламу вполне реально, если сочетать скромное оборудование с гибкостью Docker, убедиться, что порт 53 свободен, и правильно настроить тома для сохранения данных. После настройки DNS на маршрутизаторе и оптимизации списков Gravity вы получите более чистую и гораздо более быструю сеть на всех ваших устройствах.
