Как связать Pi-hole с OpenVPN, чтобы заблокировать рекламу и повысить конфиденциальность в Ubuntu / Debian Linux — Information Security Squad
Как связать Pi-hole с OpenVPN, чтобы заблокировать рекламу и повысить конфиденциальность в Ubuntu / Debian Linux

Ранее мы рассмотрели:

Установка и настройка сервера OpenVPN в Fedora 29 / CentOS 7

Идем дальше 🙂

Как я могу установить Pi-hole, чтобы блокировать рекламу, уменьшить мой трафик 4G / 3G / LTE на том же сервере Debian или Ubuntu Linux?

Pi-hole — это бесплатное программное обеспечение с открытым исходным кодом для блокировки рекламы и отслеживания домена.

Он выпущен в соответствии с GNU General Public License.

Самым большим преимуществом является блокировка рекламы на всех устройствах в сети от вашего смартфона до планшетов, включая все настольные компьютеры.

Он даже блокирует рекламу приложений на устройствах iOS и Android / Windows. Преимущества заключаются в следующем:

  • Блокирует всю рекламу, используя DNS-блокировку на уровне сети.
  • Работает как с приложениями, так и с веб-сайтами независимо от операционной системы.
  • Вы можете связать свою Pi-hole с программным обеспечением VPN, таким как OpenVPN, для блокировки рекламы на ходу и сэкономить на данных 3G / 4G / LTE.
  • Вы можете улучшить конфиденциальность и безопасность за счет блокировки рекламы и кодов отслеживания.

В этом руководстве приведены пошаговые инструкции по настройке сервера OpenVPN в Debian или Ubuntu Linux v14.04 / 16.04 LTS, включая программное обеспечение для блокировки рекламы Pi-hole. Шаги следующие.

Установите OpenVPN

Введите следующие две команды:

$ wget https://git.io/vpn -O openvpn-install.sh
$ sudo bash openvpn-install.sh

Установка Pi-hole на сервер Linux

На этом этапе я предполагаю, что у вас есть работающий сервер OpenVPN.

Клиент также настроен на OpenVPN на устройствах OSX / Windows / Linux / FreeBSD / iOS / Andriod.

Запишите IP-адрес вашего сервера OpenVPN

Введите следующую команду:

$ ip a show dev tun0

Пример вывода

Пожалуйста, запишите 10.8.0.1/24 IP-адрес.

Вам также необходимо указать tun0 в качестве имени интерфейса, включая IP-адрес шлюза по умолчанию, например 192.168.2.254:

$ ip r | grep default
default via 192.168.2.254 dev br0 onlin

НАША ОБРАЗЕЦ НАСТРОЙКИ

Pi-hole был разработан для оборудования Raspberry PI, но работает с дистрибутивами Linux на основе Ubuntu и Debian.

В этом примере я настраивался на сервере Ubuntu 16.04 LTS.

Установите PI-HOLE

Запустите команду установки следующим образом:

$ wget -O basic-install.sh https://install.pi-hole.net
$ sudo bash basic-install.sh

Вы увидите прогресс на экране следующим образом:

Этот установщик превратит ваше устройство в сетевой блокировщик рекламы.

Pi-hole — это СЕРВЕР, поэтому для правильной работы ему необходим статический IP-адрес.

ВЫБЕРИТЕ ИНТЕРФЕЙС ДЛЯ PI-HOLE

ВЫБЕРИТЕ ПРОТОКОЛЫ ДЛЯ DNS-СЕРВЕРА

УСТАНОВИТЬ СТАТИЧЕСКИЙ IP-АДРЕС (ВЫБЕРИТЕ НЕТ)

Вы должны установить статический IP-адрес, и он должен совпадать со статическим IP-адресом tun0 / OpenVPN.

Затем введите IP-адрес сервера OpenVPN следующим образом:

Подтвердите настройки:

НАСТРОЙКА UPSTREAM DNS IP АДРЕС

И вы сделали:

Протестируйте

Введите следующую команду в Pi-hole, чтобы увидеть, работает DNS или нет:

$ host itsecforu.ru 10.8.0.1

Пример вывода:

itsecforu.ru has address 31.31.196.119
itsecforu.ru mail is handled by 10 emx.mail.ru.

Теперь попробуйте найти IP-адрес рекламного сервера:

$ host pagead2.googlesyndication.com 10.8.0.1

Пример вывода:

Using domain server:
Name: 10.8.0.1
Address: 10.8.0.1#53
Aliases: 

pagead2.googlesyndication.com has address 10.8.0.1

Как вы видите, 10.8.0.1 не является действительным общедоступным IP-адресом, поэтому любые объявления со страницы pagead2.googlesyndication.com будут обслуживаться нашей собственной Pi-hole.

Обновите конфигурацию OpenVPN, чтобы запустить наш сервер PI-hole dns

Введите следующую команду:

$ sudo vi /etc/openvpn/server.conf

Удалите или закомментируйте существующие записи DNS:

#Stop using Google DNS for our OpenVPN
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option DNS 8.8.4.4"

Затем добавьте наш IP-адрес PI-Hole DNS:

push "dhcp-option DNS 10.8.0.1"

Сохраните и закройте файл. Перезапустите сервер OpenVPN:

$ sudo systemctl restart openvpn@server

Откройте порты 53 и 80 для нашей подсети OpenVPN

Введите следующие команды:

$ ufw allow proto tcp from 10.8.0.0/24 to 10.8.0.1 port 80
$ ufw allow proto tcp from 10.8.0.0/24 to 10.8.0.1 port 53
$ ufw allow proto udp from 10.8.0.0/24 to 10.8.0.1 port 53

Теперь переподключите все клиенты OpenVPN, и вы сможете просматривать все без рекламы на своих мобильных устройствах.

Вы можете просмотреть статистику PI-hole на следующем URL:

http://10.8.0.1/admin/

Пример страницы:

Вы можете занести в белый или черный список определенные домены.

 

12 комментария на “Как связать Pi-hole с OpenVPN, чтобы заблокировать рекламу и повысить конфиденциальность в Ubuntu / Debian Linux

  1. Большое спасибо за статью все очень понравилось
    Возник вопрос как правильно растроить
    $ ufw allow proto tcp from 10.8.0.0/24 to 10.8.0.1 port 80
    $ ufw allow proto tcp from 10.8.0.0/24 to 10.8.0.1 port 53
    $ ufw allow proto udp from 10.8.0.0/24 to 10.8.0.1 port 53
    для CentOS 7 через iptables а то без этого OpenVPN не хочет работать

      1. Как данные правила адаптировать для iptables для CentOS 7

        P.S.
        данные команды в статье для Debain ?

  2. Здравствуйте. Бьюсь с проблемой уже который день. После установки по инструкции при тестировании работы выдает «connection timed out; no servers could be reached».

    Не подскажите, как ее устранить и куда копать?

      1. Теперь все получилось. Это выдавало на ubuntu 18. Поставил 16 и все сделал по инструкции. Однако теперь DNS недоступен и сайты не открываются.

        Сначала не хотел подключаться к openvpn. Потом я отключил брэндмауэр и подключилось. Но DNS недоступны и ничего не работает.

  3. В общем, все получилось. Но скорость никакая. Это сервак с 512 оперативки. Для openvpn хватает, но для еще и pi hole нет. Ошибка была на выборе интерфейса.

  4. Еще дополнение — попробовал на другом VPS и теперь все летает. Что я сделал? Установил все по этой же инструкции, однако размеры буферов в server.conf vpn увеличил. Не знаю, полвлияло ли это как-то.

  5. sndbuf 524288
    rcvbuf 524288
    push «sndbuf 524288»
    push «rcvbuf 524288»

    Вот это прописал. В вашей статье не написано, где взять пароль для доступа в Pi-hole.

  6. Короче, как оказалось, pi-hole установлен но он не работает. Если вводить pagead2.googlesyndication.com, то выдает has address 0.0.0.0. А я то думаю, почему яндекс директ не блокирует.

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

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

5e7fa976b0640d40