Ссылка скрыта от гостей
Это DNS сервер, блокирующий рекламу и трекинг на сетевом уровне. Его функция в том, чтобы дать вам полный контроль над сетью и всеми вашими устройствами, и при этом он не требует установки никаких клиентских приложений. В то же время, AdGuard Home предоставляет веб-интерфейс, с помощью которого можно легко управлять процессом фильтрации.
Перед началом нам необходимо выполнить несколько важных условий
Получить белый IP адрес
Иметь устройство, например роутер-маршрутизатор с функцией DDNS, DynDNS на случай получения белого IP адреса из динамического диапазона
Иметь минимальный опыт настройки домашних маршрутизаторов
Возможность зафиксировать локальный IP адрес устройства на котором будет развернут DNS сервер AdGuard Home, например по MAC-адресу
Роутер или маршрутизатор должны уметь работать с сервисом NO-IP или другими доступными конкретно для вас сервисами
Краткий план предстоящих работ:
Регистрация Hostname на сервисе
Ссылка скрыта от гостей
Установка пакетов и запуск веб сервера -
Ссылка скрыта от гостей
Создание доменного имени на основе зарегистрированного Hostname
Получение сертификата безопастности с помощью сервиса
Ссылка скрыта от гостей
Установка AdGuard Home на наше устройство
Создание пользователя и базовые настройки для начала работы сервиса
Подключение доменного имени и сертификата безопастности к сервису AdGuard Home
Настройка Upstream DNS серверов - DOT, DOH и DNScrypt
Начать раздачу локального адреса DNS сервера через DHCP сервер нашего роутера-маршрутизатора
Проверка результата выполненных действий
Важная информация про сервисы
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
Переходим на главную страницу сервиса
Нажимаем кнопку Sign Up на верхней части страницы
- Указываем Email
- Задаем Пароль
- Отмечаем пункт Create my hostname later
- На конце страницы отмечаем пункт I agree to the Terms of Service and Privacy Policy. I also agree that I will only create one free account.
- Нажимаем Free Sign Up
Проходим авторизацию нажав кнопку Log In на правой верхней части страницы
После авторизации переходим на
Нажимаем кнопку зеленого цвета - Create Hostname
- В поле Hostname печатаем уникальное выражение, в моем примере используется - codeby
- В поле Domain выбираем одну из понравившихся доменных зон для вашего Hostname из списка доступных с пометкой Free Domains
- Пункт Record Type оставляем на своем месте - DNS Host (A)
Внизу страницы нажимаем Create Hostname
Получаем наш результат
Ссылка скрыта от гостей

Нажимаем кнопку Sign Up на верхней части страницы
- Указываем Email
- Задаем Пароль
- Отмечаем пункт Create my hostname later
- На конце страницы отмечаем пункт I agree to the Terms of Service and Privacy Policy. I also agree that I will only create one free account.
- Нажимаем Free Sign Up
Проходим авторизацию нажав кнопку Log In на правой верхней части страницы
После авторизации переходим на
Ссылка скрыта от гостей
страницу для создания нашего hostnameНажимаем кнопку зеленого цвета - Create Hostname

- В поле Hostname печатаем уникальное выражение, в моем примере используется - codeby
- В поле Domain выбираем одну из понравившихся доменных зон для вашего Hostname из списка доступных с пометкой Free Domains
- Пункт Record Type оставляем на своем месте - DNS Host (A)

Внизу страницы нажимаем Create Hostname
Получаем наш результат

Bash:
apt install net-tools nano wget iptables iptables-persistent certbot python-certbot-nginx nginx bind9-host

Во время установки пакет iptables-persistent задаст два вопроса
Отвечаем на них Yes
Или же No если понимаете для чего это нужно


По завершению установки всех пакетов
Проверим список запущенных сервисов
Bash:
netstat -npl

Nginx стартовал и готов к работе
Можем открыть наш Внешний-белый IP или локальный адрес в браузере, чтобы убедится в этом

Открываем файл конфигурации Nginx и удаляем решетку в начале строчки перед server_tokens off;
Сохраняем результат комбинацией клавиш
И закрываем редактор nano комбинацией клавиш
Открываем следующий файл
Приводим отмеченные строчки к такому виду
В строке server_name _; вместо нижнего _ подчеркивания прописываем наш hostname из NO-IP
Сохраняем результат комбинацией клавиш
И закрываем редактор nano комбинацией клавиш
И перезапускаем веб сервер
Bash:
nano /etc/nginx/nginx.conf

Сохраняем результат комбинацией клавиш
Ctrl + O
И закрываем редактор nano комбинацией клавиш
Ctrl + X
Открываем следующий файл
Bash:
nano /etc/nginx/sites-available/default
Приводим отмеченные строчки к такому виду

В строке server_name _; вместо нижнего _ подчеркивания прописываем наш hostname из NO-IP
Сохраняем результат комбинацией клавиш
Ctrl + O
И закрываем редактор nano комбинацией клавиш
Ctrl + X
И перезапускаем веб сервер
Bash:
systemctl restart nginx
Bash:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
и сохраняем настройки iptables
Bash:
dpkg-reconfigure iptables-persistent
Выполняем команду
Bash:
certbot --nginx

- Указываем Email
- Соглашаемся с лицензией
- Отклоняем просьбу поделиться нашим Email для получения рассылок
- Выбираем номер нашего домена из списка
- Выбираем номер 2 для перенаправления с http:// на https://
Сертификат получен
Можем проверить наличие сертификата открыв наш hostname в браузере

И отключить наш веб сервер
Bash:
systemctl disable nginx
systemctl stop nginx
Скачиваем свежие версии здесь
Перемещаемся в директорию где будем располагать сервис AdGuard Home
И выполняем
Наблюдаем надпись [info] Go to
Делаем вывод, что необходимо открыть порт под номером 3000
Веб сервер ? - Наверняка TCP
Открываем порт 3000
И открываем в браузере
Мы попали в Веб интерфейс AdGuard Home
Перемещаемся в директорию где будем располагать сервис AdGuard Home
И выполняем
Bash:
wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
tar xvf AdGuardHome_linux_amd64.tar.gz
cd AdGuardHome
sudo ./AdGuardHome -s install

Bash:
./AdGuardHome -s uninstall
./AdGuardHome -s start
./AdGuardHome -s stop
./AdGuardHome -s restart
./AdGuardHome -s status
Наблюдаем надпись [info] Go to
Ссылка скрыта от гостей
Делаем вывод, что необходимо открыть порт под номером 3000
Веб сервер ? - Наверняка TCP
Открываем порт 3000
Bash:
iptables -A INPUT -p TCP --dport 3000 -j ACCEPT
И открываем в браузере
http://192.168.0.180:3000
Мы попали в Веб интерфейс AdGuard Home
Нажимаем Get Started
Если наблюдаем похожую картину, нажимаем кнопку Fix
Нам дают понять, что в системе какой-то из существующих сервисов уже использует порт под номером 53
Ничего криминального
Указываем данные для дальнейшей авторизации
- Username
- Password
- Password
Пользователь создан
После нажатия на последнюю кнопку Open Dashboard
Нас перенесет на основной IP адрес, который мы зафиксировали для AdGuard Home
В дальнейшем он будет работать на порту под номером 80, и не будет нуждаться в открытом порте под номером 3000
Закроем порт под номером 3000
и сохраним настройки iptables, чтобы они не удалились после перезагрузки

Если наблюдаем похожую картину, нажимаем кнопку Fix
Нам дают понять, что в системе какой-то из существующих сервисов уже использует порт под номером 53
Ничего криминального

Указываем данные для дальнейшей авторизации
- Username
- Password
- Password

Пользователь создан
После нажатия на последнюю кнопку Open Dashboard

Нас перенесет на основной IP адрес, который мы зафиксировали для AdGuard Home
В дальнейшем он будет работать на порту под номером 80, и не будет нуждаться в открытом порте под номером 3000
Закроем порт под номером 3000
Bash:
iptables -D INPUT -p TCP --dport 3000 -j ACCEPT
и сохраним настройки iptables, чтобы они не удалились после перезагрузки
Bash:
dpkg-reconfigure iptables-persistent
Перед нами открыт веб интерфейс на странице авторизации
Проходим авторизацию
На верхней части страницы наблюдаем навигационный бар
Открываем Settings - Encryption settings
Заполняем поля для ввода и отмечаем нужные чекбоксы
Отмечаем чекбокс Enable Encryption (HTTPS, DNS-over-HTTPS, and DNS-over-TLS)
Server name - прописываем наш hostname из NO-IP
Отмечаем чекбокс Redirect to HTTPS automatically
Блок Certificates
Выбираем Set a certificates file path
Выбираем Set a private key file
Обращаем внимание на Status в обеих случаях и нажимаем Save Config
Проходим авторизацию

На верхней части страницы наблюдаем навигационный бар
Открываем Settings - Encryption settings

Заполняем поля для ввода и отмечаем нужные чекбоксы
Отмечаем чекбокс Enable Encryption (HTTPS, DNS-over-HTTPS, and DNS-over-TLS)
Server name - прописываем наш hostname из NO-IP
Отмечаем чекбокс Redirect to HTTPS automatically
Блок Certificates
Выбираем Set a certificates file path
/etc/letsencrypt/live/codeby.servebeer.com/fullchain.pem
Выбираем Set a private key file
/etc/letsencrypt/live/codeby.servebeer.com/privkey.pem

Обращаем внимание на Status в обеих случаях и нажимаем Save Config
После предыдущего этапа нам стал доступен веб интерфейс через https
открываем его
Проходим авторизацию и в дальнейшем будем работать через него
Открываем Settings - DNS settings
Отмечаем чекбокс Use parallel queries to speed up resolving by simultaneously querying all upstream servers
Заполняем поле Upstream DNS servers
Блок под названием Bootstrap DNS servers нужен на случай, если в верхнем списке будут присутствовать сервера такого вида
Жмём Apply
открываем его
https://codeby.servebeer.com
Проходим авторизацию и в дальнейшем будем работать через него
Открываем Settings - DNS settings
Отмечаем чекбокс Use parallel queries to speed up resolving by simultaneously querying all upstream servers
Заполняем поле Upstream DNS servers
Код:
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
tls://1.1.1.1
tls://1.0.0.1
https://dns.adguard.com/dns-query
tls://dns.adguard.com
sdns://AQIAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzMDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20

Блок под названием Bootstrap DNS servers нужен на случай, если в верхнем списке будут присутствовать сервера такого вида
Код:
https://dns.adguard.com/dns-query
tls://dns.adguard.com

Жмём Apply
Чтобы начать пользоваться DNS сервером нам необходимо открыть для него порты
Чтобы посторонние люди не имели доступа к вашему DNS серверу необходимо закрыть обращения к серверу не из внутренней сети
Указав источники, кому разрешено использовать DNS сервер
Здесь указывайте свою подсеть, которую раздаёт ваш DHCP сервер
Настройте DHCP сервер для раздачи адреса DNS сервера, перезагрузите маршрутизатор.
Адрес указывать тот, через который вы создавали пользователя, без номера порта.
В таком виде
Bash:
iptables -A INPUT -p TCP --dport 53 -j ACCEPT
iptables -A INPUT -p UDP --dport 53 -j ACCEPT
dpkg-reconfigure iptables-persistent
Чтобы посторонние люди не имели доступа к вашему DNS серверу необходимо закрыть обращения к серверу не из внутренней сети
Указав источники, кому разрешено использовать DNS сервер
Здесь указывайте свою подсеть, которую раздаёт ваш DHCP сервер
Bash:
iptables -A INPUT -s 192.168.0.0/24 -p TCP --dport 53 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p UDP --dport 53 -j ACCEPT
dpkg-reconfigure iptables-persistent
Настройте DHCP сервер для раздачи адреса DNS сервера, перезагрузите маршрутизатор.
Адрес указывать тот, через который вы создавали пользователя, без номера порта.
В таком виде
192.168.0.180
Сервис NO-IP предоставляет бесплатные услуги, но требует подтверждать актуальность созданного Hostname один раз в месяц.
Чтобы избежать проблем с уже настроенным DNS сервером, при регистрации указывайте доступный Email адрес, который до срока окончания действия hostname будет вас предупреждать о необходимости в ручную продлить срок действия. Подтверждение не занимает много времени. Достаточно будет сохранить данные авторизации на своем смартфоне, и сразу после получения сообщения от NO-IP заходить на сайт и нажимать кнопку Подтвердить рядом с ранее созданным hostname.
И про сервис Certbot
Так же как и NO-IP нуждается в продлении сертификата безопастности раз в 3 месяца.
Для этого будет необходимо проделать следующие шаги
Чтобы избежать проблем с уже настроенным DNS сервером, при регистрации указывайте доступный Email адрес, который до срока окончания действия hostname будет вас предупреждать о необходимости в ручную продлить срок действия. Подтверждение не занимает много времени. Достаточно будет сохранить данные авторизации на своем смартфоне, и сразу после получения сообщения от NO-IP заходить на сайт и нажимать кнопку Подтвердить рядом с ранее созданным hostname.
И про сервис Certbot
Так же как и NO-IP нуждается в продлении сертификата безопастности раз в 3 месяца.
Для этого будет необходимо проделать следующие шаги
Bash:
cd AdGuardHome
./AdGuardHome -s stop
systemctl start nginx
certbot renew --dry-run
systemctl stop nginx
cd AdGuardHome
./AdGuardHome -s start
Последнее редактирование: