UNIXAWESOME

Установка блокировщика рекламы на Orange Pi Zero

#orangepi #adguardhome #armbian

Имеется одноплатный компьютер Orange Pi Zero с 512 мегабайтами оперативной памяти. Задача состоит в том, чтобы запустить на нём блокировщик рекламы на уровне DNS, который будет использоваться в домашней локальной сети и блокировать нежелательную рекламу, трекеры и прочую гадость.

Запись образа на карту

Для начала нужно установить ОС. Я буду устанавливать Armbian, так как он в основе своей Debian, а он мне нравится. Переходим на страницу загрузки, выбираем нашу плату и скачиваем необходимую нам версию системы. https://www.armbian.com/download/

После скачивания необходимо распаковать образ.

Для записи берём microSD карту памяти минимум на 16 Гб и при помощи программы etcher или подобной, записываем образ системы на карту. Я буду делать это при помощи dd.

Перед записью обязательно смотрим каким устройством отображается карта памяти в системе, если конечно у вас linux. У меня это /dev/sdb

1sudo dd bs=4M if=Armbian_20.11_Orangepizero_buster_current_5.8.16.img of=/dev/sdb conv=fsync

После записи образа на карту вставляем её в Orange Pi и подключаем питание. Первый старт системы может занять чуть больше времени, где-то около 2 минут. Во время загрузки ip адрес будет получен по dhcp, поэтому заходим на наш роутер и смотрим какую айпишку взяла наша Orange Pi. У меня это 192.168.0.110

Базовые настройки системы

Далее подключаемся по ssh. Логин: root, пароль: 1234

1ssh root@192.168.0.110

Ставим обновления

1apt update
2apt upgrade

Доставляем необходимые пакеты

1apt install mc vim net-tools nmap

И перезагружаемся.

Смотрим статус беспроводных интерфейсов

1nmcli radio wifi

Если необходимо, то отключаем wifi модуль. Так как он мне не нужен.

1nmcli radio wifi off

Отключаем wpa_supplicant.

1systemctl stop wpa_supplicant
2systemctl disable wpa_supplicant

Делаем запуск исполняемых файлов из /usr/sbin от обычного пользователя. Не обязательно, но так удобней.

Для этого просто в файле .bashrc в конце добавляем строку

1export PATH="${PATH}:/usr/sbin"

Выбор блокировщика рекламы

Есть несколько неплохих решений:

Оба решения блокируют запросы на уровне DNS по специальным спискам адресов или правилами фильтрации. У каждого конечно же есть свои плюсы и минусы. Доступна установка как из докер образа, так и со скрипта.

Я остановлю выбор на AdGuardHome, так как я его ещё не пробовал устанавливать и использовать. И у него больше интересного функционала которого нет у pi-hole

Установка AdGuardHome

1apt install curl
1curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh

Далее 5 простых шагов в инсталяторе и Готово.

Делаем systemd сервис для автоматического старта AdGuardHome.

Создаём файл /etc/systemd/system/AdGuardHome.service со следующим содержанием:

 1[Unit]
 2Description=AdGuardHome
 3After=network.target
 4
 5[Service]
 6Type=simple
 7WorkingDirectory=/opt/AdGuardHome
 8ExecStart=/opt/AdGuardHome/AdGuardHome
 9Restart=always
10
11[Install]
12WantedBy=multi-user.target
1systemctl daemon-reload
2systemctl start AdGuardHome
3systemctl status AdGuardHome
4systemctl enable AdGuardHome

Дополнительные чёрные списки DNS можно взять здесь https://firebog.net/

Также не забываем указать ip адрес Orange Pi на нашем роутере, что бы клиенты нашей сети при подключении к ней получали адрес нашего DNS сервера.

Reply to this post by email ↪