Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: [Гайд] Тестируем Pi-hole локально за 10 минут  (Прочитано 3605 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн The Green Side

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
    • Просмотр профиля
Этот гайд для тех, кто хочет:
а) локально попробовать работу фильтра DNS запросов Pi-hole перед покупкой отдельного устройства
или
б) хочет использовать Pi-hole локально, только на одном устройстве

Pi-hole - это блокировщик рекламы и трекеров на уровне DNS, с открытым исходным кодом. Он используется как дополнение к расширениям браузера, а также как единственный метод блокировки рекламы на заблокированных производителем устройствах.
Альтернативно он может использоваться в корпоративном секторе с вашими списками блокировки, в том числе и для сбора статистики по запросам к доменам.

Мы будем использовать для установки контейнер LXD
Этот метод позволит веб-интерфейсу Pi-hole не конфликтовать с имеющимся веб-сервером или DNS резолвером (напр. stubby), а также упростит удаление после окончания тестирования.

Установим LXD
v. 3.0, Ubuntu 18.04
sudo apt install lxdили
v. 3.18, Ubuntu 18.04 или более свежая
sudo snap install lxd
Выполним первоначальную настройку. Ответим на все вопросы умолчаниями.
lxd init
На этом про команду lxd можно забыть, далее мы используем lxc
Создадим и запустим контейнер с Ubuntu 18.04, назовём его pihole
lxc launch ubuntu:18.04 pihole
Проверим, что он успешно запущен и получил IP адрес.
lxc list
Получим доступ к контейнеру и установим в нём Pi-hole *
Работа в контейнере по умолчанию выполняется от пользователя root, нас это устраивает в данном случае.
lxc exec pihole -- /bin/bash
#сначала установим корректный часовой пояс
dpkg-reconfigure tzdata
curl -sSL https://install.pi-hole.net | bash

Ответим на все вопросы установщика умолчаниями, в одном пункте необходимо выбрать апстрим DNS сервер.
Это сервер, который будет отвечать на запросы, не заблокированные Pi-hole.
На этом установка завершена **, по окончании установщик сообщит пароль для доступа в веб-интерфейс Pi-hole, который находится на 80м порту вашего контейнера:
http://ip-контейнера/admin
В веб-интерфейсе можно подключать собственные списки блокировок (пример), смотреть статистику и блокировать подозрительные домены прямо из лога.

Отключаемся от контейнера - Ctrl + D

Теперь переключим нашу систему на использование нового DNS ***
Достаточно в свойствах интернет-подключения снять галку "Автоматический DNS" и прописать IP контейнера.
Напомнить себе IP можно так:
lxc list
Перезапустите интернет-подключение и браузер, зайдите на ваш любимый сайт с рекламой, затем откройте веб-интерфейс Pi-hole, авторизуйтесь, и можете блокировать домены прямо в логе (Query Log).

Официальный мануал (дополнительные функции) доступен по адресу https://docs.pi-hole.net/

Удаление
Откатите изменения в интернет-подключении.
Удалите контейнер:
lxc stop pihole
lxc delete pihole
Опционально, удалите LXD, в зависимости от метода установки
sudo apt purge lxd
или
sudo snap remove lxd

* Для тех, кто хочет изучить скрипт перед запуском:
wget -O basic-install.sh https://install.pi-hole.net
less basic-install.sh
bash basic-install.sh

** Если решение планируется постоянно использовать, я обычно отключаю автообновление. Оно может помешать диагностировать возможные ошибки. В контейнере выполняем:
apt purge unattended-upgrades

*** Если девайс переносной и часто использует разные интернет-подключения, опционально можно назначить DNS сервер для всех подключений.
Ниже инструкция для NetworkManager.
Редактируем /etc/NetworkManager/NetworkManager.conf
Добавляем:
[main]
dns=none

Этот параметр сообщит NetworkManager, что нет необходимости управлять содержимым файла /etc/resolv.conf
Перезапустим сервис:
sudo systemctl restart NetworkManager
Теперь отредактируем /etc/resolv.conf
Если в вашей системе он является ссылкой на другой файл (используется systemd-resolved), ссылку нужно удалить и создать обыкновенный файл.
Необходимо удалить всё содержимое, и добавить только:
nameserver ip-контейнера
« Последнее редактирование: 27 Июня 2020, 11:49:04 от The Green Side »
Debian 11 (Gnome), Ubuntu Server 18.04

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2611
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #1 : 10 Октября 2020, 13:26:52 »
К инструкции есть замечание.
В интернете не рекомендуется редактировать файл /etc/resolv.conf. Так как после перезагрузки изменения могут слететь. Я рекомендую делать так
sudo nano /etc/resolvconf/resolv.conf.d/headВ файле прописать нужные dns в виде
nameserver 8.8.8.8
nameserver 8.8.4.4
Где гугловские dns заменить на IP Raspberry.

Оффлайн The Green Side

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #2 : 10 Октября 2020, 13:37:11 »
Странно, у меня слетали только в двух случаях:
1) если я не удалил симлинк на файл, управляемый systemd
2) если не указал в настройках NetworkManager, что файл не надо перезаписывать
Сейчас на 3х системах всё стабильно.
Видимо, от дистрибутива зависит
Debian 11 (Gnome), Ubuntu Server 18.04

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2611
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #3 : 10 Октября 2020, 13:38:45 »
Большое количество фильтров для pihole доступно на https://firebog.net/

Пользователь добавил сообщение 10 Октября 2020, 13:41:35:
контейнер LXD поднимется на raspberry os?
« Последнее редактирование: 10 Октября 2020, 13:41:35 от Dzhoser »

Оффлайн mahinist

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 3508
  • Ubuntu-20.04, Archlinux, Gentoo
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #4 : 10 Октября 2020, 23:03:29 »
Видимо, от дистрибутива зависит
От версии или же ОС ?
31-регион

Оффлайн The Green Side

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #5 : 10 Октября 2020, 23:24:10 »
контейнер LXD поднимется на raspberry os?
Там снапы поддерживаются?
Если нет, можно поискать по словосочетанию lxc и raspberry

От версии или же ОС ?
Думаю от того и другого.
Если не ошибаюсь, на Debian 9 XFCE не было ни systemd-resolved, ни NetworkManager
Но сейчас уже не скажу наверняка
Debian 11 (Gnome), Ubuntu Server 18.04

Оффлайн mahinist

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 3508
  • Ubuntu-20.04, Archlinux, Gentoo
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #6 : 10 Октября 2020, 23:32:22 »
Если не ошибаюсь, на Debian 9 XFCE не было ни systemd-resolved, ни NetworkManager
Но сейчас уже не скажу наверняка
Ну там уже 10-й пошёл, тема интересная, прикреплю пока.
31-регион

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2611
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #7 : 11 Октября 2020, 07:34:35 »
Там снапы поддерживаются?
Снапы поддерживаются

Пользователь добавил сообщение 11 Октября 2020, 07:36:41:
lxc launch ubuntu:18.04 pihole
Можно ли как-то посмотреть список доступных операционок?
« Последнее редактирование: 11 Октября 2020, 07:36:41 от Dzhoser »

Оффлайн The Green Side

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #8 : 11 Октября 2020, 07:52:43 »
Снапы поддерживаются
Тогда попробуйте поставить снап, там должна быть минимальная зависимость от ОС

список доступных операционок?
Официальные образы тут
« Последнее редактирование: 11 Октября 2020, 07:57:44 от The Green Side »
Debian 11 (Gnome), Ubuntu Server 18.04

Оффлайн soarin

  • Старожил
  • *
  • Сообщений: 1850
  • ubuntu 20.04
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #9 : 11 Октября 2020, 07:53:39 »
Мне кажется, так проще будет на потыкать

docker run --rm --name pihole --hostname pihole -p80:80 -p53:53 pihole/pihole:latest
PS: Не пробовал.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27804
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #10 : 11 Октября 2020, 15:31:10 »
sudo nano /etc/resolvconf/resolv.conf.d/head
Сработает только если DNS управляется через resolvconf. Что не есть истина начиная с 18.04.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2611
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #11 : 12 Октября 2020, 18:44:46 »
AnrDaemon, и что нам мешает включить?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27804
    • Просмотр профиля
Re: [Гайд] Тестируем Pi-hole локально за 10 минут
« Ответ #12 : 12 Октября 2020, 23:22:00 »
А на[зачем]?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.072 секунд. Запросов: 25.