Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Raspberry Pi 3. Установка и настройка блокировщика рекламы Pi-hole

Дата Автор 12 комментариев 26 074 просмотров

В этой статье будет рассмотрен вариант использования одноплатных компьютеров вроде Raspberry Pi в качестве аппаратного аналога утилит для блокирования рекламы вроде Adblock или AdGuard.

Для этого будет задействован пакет Pi-hole, а микрокомпьютер будет использоваться в качестве DNS-сервера внутри локальной сети.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

В этой статье будет описан процесс установки и настройки Pi-hole на примере Raspberry Pi 3 и операционной системы Raspbian, но аналогичным путем можно установить утилиту практически на любое устройство под управлением Linux, включая роутеры с прошивкой OpenWRT.

Почему я против блокирования рекламы

Существование сайтов в интернете невозможно без получения прибыли. Можно по пальцам пересчитать проекты, которые существуют на голом энтузиазме их создателей — да и то, скорее всего окажется, что владельцы таких ресурсов все равно извлекают из них какие-то выгоды (например, продвигают свой личный бренд, используют профессиональный блог или тематический сайт как площадку для взаимодействия с потенциальными работодателями или клиентами).

Размещение блоков рекламы — самый простой способ заставить сайт приносить доход. Прибыль с блоков рекламы падает с каждым годом из-за того, что все больше и больше людей начинают пользоваться блокировщиками рекламы. И если она продолжит снижаться — владельцы ресурсов начнут переходить на другие способы извлечения прибыли.

Например, вместо контекстной рекламы от Google или Яндекса будет так называемая нативная реклама (то, что в журналистике называется «джинса», а в литературе и кинематографе «product placement»). Или доступ к содержимому сайта станет осуществляться по платной подписке.

И то, и другое уже происходит. Некоторые СМИ уже начали переходить на подписную модель («Хакер», «Ведомости»), ну а материалы от прямых рекламодателей публикуют уже практически все посещаемые ресурсы.

И чем активнее будет продолжаться падение доходов с традиционных форматов рекламы (из-за роста числа пользователей блокировщиков) — тем больше сайтов перейдет на альтернативные варианты извлечения прибыли.

Установка и настройка Pi-hole на Raspberry Pi

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Pi-hole работает по принципу локального DNS-сервера. Когда какое-то устройство в локальной сети посылает DNS-запрос (запрос на преобразование доменного адреса вида www.site.com в IP-адрес сервера), роутер передает этот запрос на Pi-hole и там отфильтровываются все запросы доменов, используемых рекламными сетями для показа объявлений. Остальные запросы передаются на DNS-сервер в интернете, а ответы с него возвращаются обратно на устройства локальной сети.

Установка полностью автоматизирована и выполняется при помощи bash-скрипта. При этом все недостающие пакеты будут добавлены в систему автоматически, поэтому Pi-hole можно ставить прямо на «чистую» установку Raspbian:

sudo curl -sSL https://install.pi-hole.net | bash

Эта команда — всё, что нужно для запуска установки.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Установщик предупредит о необходимости присвоения Raspberry Pi статического IP-адреса для корректной работы.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Также будет предложено выбрать вышестоящий DNS-сервер.

Можно указать произвольный IP-адрес (Custom) — например, если ваш провайдер имеет собственные DNS-сервера. В остальных случаях можно особо не заморачиваться и выбирать DNS-сервер от Google.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Еще нужно будет выбрать поддерживаемые протоколы: IPv4 и IPv6.

Актуальный список провайдеров, поддерживающих IPv6 можно посмотреть по этой ссылке, и если ваш провайдер к их числу не относится — «галку» с IPv6 можно смело снимать.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Будет задан вопрос о добавлении веб-интерфейса и ведении логов (если они включены, то в веб-интерфейсе будет вестись статистика заблокированных доменов и рисоваться всякие красивые графики).

Добавляем или отказываемся, вне зависимости от принятого решения Pi-hole будет нормально работать на стандартных настройках.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Непосредственно установка проходит в автоматическом режиме.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

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

Либо сменить по горячим следам на собственный вариант при помощи команды:

pihole -a -p

На этом установка завершена и больше никаких манипуляций с Raspberry Pi проводить не нужно.

Настройка Pi-hole на роутере

Для начала использования Pi-hole его нужно прописать в качестве DNS-сервера в настройках роутера. Где искать эти настройки — зависит от конкретного производителя и модели устройства, т.к. структура интерфейса у всех отличается.

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Например, на моем D-Link нужно зайти в «Сеть» -> «WAN» и прописать там нужный IP-адрес.

После применения настройки все DNS-запросы выходящих в интернет через наш роутер устройств будут отправляться на Raspberry Pi, а после фильтрации от рекламных доменов перенаправляться на вышестоящий DNS-сервер в интернете.

Поэтому важно, чтобы IP-адрес Raspberry Pi с установленным Pi-hole был статическим, т.к. при его изменении роутер будет слать DNS-запросы на ставший неверным IP-адрес, а при отсутствии ответов на эти запросы не будет работать интернет.

Проверим работу Pi-hole на примере данного сайта:

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Слева — реклама показывается (и то не всегда, бывает что сама система контекстной рекламы не может подобрать релевантное объявление), справа — Pi-hole блокирует показ рекламы.

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

Установка и настройка блокировщика рекламы Pi-hole на Raspberry Pi 3

Можно зайти в веб-интерфейс по адресу http://ip-адрес-raspberry-pi/admin и посмотреть статистику.

Там же можно осуществить некоторые дополнительные настройки, например вручную добавить какие-либо домены в «черный список», либо наоборот — внести в «белый список» адреса сайтов, на которых вы не хотите чтобы блокировался показ рекламы.

Настройка Pi-hole на отдельных устройствах

Фильтрацию рекламы посредством Pi-hole можно подключить на отдельных устройствах без прописывания его в качестве DNS-сервера на роутере. В частности, это может оказаться полезным, если вы не являетесь администратором в локальной сети и не имеете доступа к настройкам роутера.

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

  • Windows: «Сетевые подключения» — «Параметры сети и Интернет» — «Свойства» используемого сетевого адаптера — «IP версии 4» — «Свойства» — «Использовать следующие адреса DNS-серверов»
  • iOS: «Настройки» — «Wi-Fi» — (название сетевого подключения) — «DHCP» — «DNS»
  • Linux (граф.интерфейс): «System» — «Preferences» — «Network Connections» — (название сетевого подключения) — «Edit» — «IPv4 Settings» — «DNS servers»
  • Linux (консоль): отредактировать строку nameserver в /etc/resolv.conf
  • Android: «Настройки» — «Wi-Fi» — (название сетевого подключения) — «Свойства» — «Настройки IP» — «DNS»

Заключение

Вот таким способом можно превратить Raspberry Pi или другой микрокомпьютер в программно-аппаратный блокировщик рекламы.

Пользоваться блокировщиками рекламы или нет — решать каждому самостоятельно. Свое отношение к явлению я описал в начале данной статьи.

Также хочу отметить, что производительность Raspberry Pi 3 для работы локального DNS-сервера является избыточной, и для работы Pi-hole можно использовать и более дешевые одноплатные ПК вроде Orange Pi Zero или Raspberry Pi Zero W.

Автор статьи:
Дмитрий
Руководитель отдела в IT-компании. Веду этот блог с 2013 года, пишу о гаджетах и домашней автоматизации, обозреваю одноплатные компьютеры, неспешно собираю «умный дом».

12 комментария на «Raspberry Pi 3. Установка и настройка блокировщика рекламы Pi-hole»

  1. Спасибо огромное! Установил на Orange Pi Zero 512 mb и очень счастлив, 25% трафика блокируетсяю

  2. Добрый день! Сейчас Raspberry Pi3 используется как медиасервер в квартире (благодаря вашим статьям), в том числе и для закачки торент. Иногда я использую стационарный компьютер/телефон для скачивания торент, так как скорость от провайдера 250, а у raspberry 100. Если на малинку поставить Pi-Hole, стационарный компьютер будет качать торент на скорости 100 или сможет разогнаться до 250?

    • Добрый день.

      Pi-hole работает как локальный DNS-сервер, а не как прокси. Так что скорее всего на скорость скачивания торрентов это никак не повлияет.

  3. Добрый день!
    А не подскажете, я ведь правильно понимаю, что это по сути обычный DNS сервер и он может выполнять свою прямую роль — отдавать IP адреса по имени и наоборот? Я вижу в интернете тонны инструкций по установке, но не могу нагуглить ни на чем базируется PiHole ни как вносить изменения в веб интерфейс или добавлять свои собственные списки в DNS.

    • Добрый день.
      Да, все правильно понимаете, он работает как DNS-сервер. Собственные списки можно добавлять как через веб-интерфейс (в Settings), так и через редактирование файла /etc/pihole/adlists.list

  4. Здравствуйте! У меня вопрос. Нужно ли будет заходить в админку и как-то обновлять базу данных рекламы Pi-hole или всё происходит в автоматическом режиме?

    • Нет, не нужно. Она автоматически обновляется с какой-то периодичностью, раз в неделю вроде бы.

    • В LAN или по Wi-Fi, как любое другое устройство в локальной сети. Его не нужно подключать между роутером и кабелем от провайдера, если вы про это. Достаточно чтобы в настройках роутера или отдельного клиентского устройства было указано, что обращаться нужно не к дефолтным DNS-серверам от провайдера, а к Pi-hole.

        • Если регулярно обновлять списки рекламных доменов для блокировки, то должен блокировать. На гитхабе некоторые пользователи выкладывают свои блоклисты конкретно по ютубу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

[Хамство, оскорбления и попытки крауд-маркетинга будут удалены]