Pi-hole обертка для dnsmasq в docker-контейнере
Известно, что dnsmasq отлично работает в качестве обратного (проксирующего) DNS-сервера и DHCP сервера. Два в одном, так сказать. Он широко используется в различного рода маршрутизаторах, таких как OpenWrt и других подобных решениях. И вот, вероятно от скуки, наткнулся случайно, будучи в поисках готового решения объединяющего DNS и DHCP серверы в одном docker-контейнере, на проект под названием Pi-hole…
Проект позиционирует себя как DNS-AdBlock для Raspberry Pi, но и без последнего прекрасно работает. У меня уже было как-то желание внедрить подобный AdBlock в виде плагина для OpenWrt, но там что-то это все не очень хорошо заработало, да и плюс ко всему железо, на котором работает мой OpenWrt, весьма ограничено в ресурсах, что усугубило практику использования сего инструмента.
Ну и в общем, решил попробовать. Сам проект можно найти на Github’e и Docker Hub’e в виде готового образа контейнера для Docker.
Пришлось немного модифицировать предлогаемый разработчиками файл docker-compose.yml
чтобы выделить отдельный IP-адрес для данного сервиса моей локальной сети. В итоге получилось так:
|
|
Интерфейс br0
настроен через netplan
с файлом конфигурации /etc/netplan/00-installer-config.yaml
, который имеет следующее содержание:
|
|
В итоге мы получаем “dashboard”, который можно найти по адреску: http://192.168.0.15/admin/
и используя пароль MyMegaSecurePassword
авиризоваться.
На текущий момент, у меня, это виглядит так:
Так же можно легко настроить следующие параметры:
- выбрать DNS-серверы, которые мы будем форвардить
- включить и настроить DHCP сервер
- управление собственными локальными DNS-именами
- так же быстро настроить черные/белые списки блокировки
- управлять списками блокировок, которые берутся с внешних ресурсов
- сохранение/восстановление резервной копии конфигурации Pi-hole