Назад

Шифруемся и предохраняемся вместе с AdGuard Home и WireGuard VPN

В этой статье мы подружим Wireguard VPN и AdGuard Home — создадим безопасный шифрованный канал для выхода в интернет и порежем 90%+ рекламы, метрик и прочих следящих штук, которые просто не дойдут до вашего компьютера, смартфона, телевизора и заблокируются еще на уровне запроса DNS.

Зачем это все и какую ценность мы получим?

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

Adguard Home — режет рекламу на уровне DNS т.е. он ее просто не загружает на устройство, в отличии например, от блокировщика рекламы в браузере. На данный момент, это наиболее эффективный инструмент против рекламы, который поддерживает все плюшки DNS — DNS Over HTTPS и т.д.

Вопрос тут стоит — не зачем это нужно, а почему вы все это еще не используете?

Выбор хостинга для VPN

Racknerd

Американский хостер предлагает отличные тарифы для VPN, но только при условие аренды акционных серверов (ссылка на акцию). Тарифы без акций — напротив, сильно дорогие. Я пользуюсь уже несколько лет данным хостингом и покупаю именно акционные тарифы. Для РФ есть возможность оплаты через крипту, как бы сейчас это не проблема завести кошелек на Huobi или Kucoin.

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

Speedtest показывает скорость Download 420 — 760Mbit/s, Upload 750 — 790 Mbit/s и Packet loss: 0 % — что является отличным результатом. Хотя просадки по скорости трафика бывают. Минимальная сумма для пополнения счета — 10 — 20 $ за 1 год.

Aeza

Хостер предлагает очень хорошие тарифы с оплатой от 1-го часа и расположением в Европе и СНГ. Хорошее железо, простая и удобная панель управления. Не находятся в юрисдикции РФ, при этом и никаких персональных данных не просят. Часто анонсирует промо-тарифы на хорошие сервера по 105 рублей.

Speedtest показывают скорость Download 678 — 735 Mbit/s, Upload 632 — 668 Mbit/s и Packet Loss: 3 % — отличный результат! Кроме пожалуй Packet Loss, с ним я столкнулся практически на всех локациях Aeza.

Минимальная стоимость сервера под VPN — 391 и 105 рублей за промо тариф. Минимальная сумма для пополнения счета — от 105 рублей. При регистрации по ссылке, у вас будет wellcome бонус +15% к первому пополнению счета, за первые 24 часа.

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

Устанавливаем WireGuard

wget -O wireguard.sh https://get.vpnsetup.net/wg && bash wireguard.sh

Скрипт в процессе установки нам предложит:

  1. Выбрать порт — выбирайте любой из диапазона от 5 знаков до значения в 65535. Например, 54562, но не стандартный. Внимание! Запишем номер порта, далее, мы откроем ему доступ через фаервол
  2. Дать название первому юзеру (любое)
  3. Выбрать DNS-сервер. Пишем только IP адрес нашего сервера,
  4. Enter secondary DNS server (Enter to skip) — Enter

В итоге скрипт сгенерирует QR-код и даст ссылку на conf файл, которые используются как ключи для приложений (подробнее по ссылке)

Чтобы посмотреть всех клиентов WireGuard, устанавливаем Midnight Commander и смотрим конфиги по адресу etc/wireguard/cliens.

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

bash wireguard.sh

Скачать все ключи можно через SFTP, либо открыть файл редактором, как указано ниже, скопировать код и вставить его в приложение WireGuard:

nano /root/user.conf

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

Если у нас не работают обновления сервера после установки Wireguard, это проверить просто — apt update, то действуем согласно схеме ниже:

nano /etc/default/ufw

Изменить параметр на ACCEPT

DEFAULT_FORWARD_POLICY="ACCEPT"

Сохраняем нажимая — CTRL + X, Y и Enter

nano /etc/ufw/sysctl.conf

Убрать ‘#’ перед этими значениями:

net.ipv4.ip_forward=1
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1

Перезапускаем фаервол.

 ufw reload

Установка AdGuard Home

Выполняем команды в консоли:

apt install dnsutils
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

Далее, переходим в браузер http://IP_сервера:3000 или на домен, если уже прилинковали его к IP и проходим квест установщика.

Внимание! В полях 'Веб-интерфейс администрирования' надо выбрать сетевой интерфейс (примеры ens1, eth0) с IP адресом нашего сервера, аналогично выбираем в 'DNS-сервер'.

После прохода установщика, жмем CTRL + C. Adguard Home у нас установлен.

И обратите внимание, что если прилинковываем домен и хотим шифровать запросы DNS, то к IP нужно прилинковать домен и выпустить для него сертификат через certbot.

Установка сертификата выглядит так:

cd /opt/AdGuardHome
./AdGuardHome -s stop
apt install snapd
snap install core; snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --standalone

Пишем название нашего домена — dns.domain.com (пример) и нам будет выпущен сертификат

Автоматический перевыпуск сертификата:

sudo certbot renew --dry-run
./AdGuardHome -s start

Добавляем сертификаты в Adguard Home, они находятся по адресу:

/etc/letsencrypt/live/dns.domain.ru/fullchain.pem
/etc/letsencrypt/live/dns.domain.ru/privkey.pem

Если вы добавили домен и получили сертификат. То теперь можем его добавить в AdGuard, для этого переходим в панель управления по адресу http://IP_сервера:3000 или http://домен.ru, переходим в настройки, настройки шифрования и добавляем в поле оба ключа, которые находятся по адресам:

/etc/letsencrypt/live/вашдомен.ru/fullchain.pem

/etc/letsencrypt/live/вашдомен.ru/privkey.pem

Дальше мы можем выбрать фильтры AdGuard и сделать ваш интернет, намного более чище и безопасней!

Теперь трафик проходящий через WireGuard не только шифруется и передается по защищённому протоколу, но и чистится от рекламы, трекеров и т.п.

Так же можно использовать отдельно DNS сервер, чтобы фильтровать трафик без VPN. На ПК с Windows мы указываем адрес DNS в программе Yoga DNS и пускаемся трафик по DNS over HTTPS.

Для смартфона на Android или iOS есть нативная поддержка DNS over HTTPS и сервер можно поменять в настройках. Но это верно не для всех версий Android и не для всякого трафика, поэтому для Android рекомендую использовать приложение Intra для фильтрации трафика или WireGuard с нашими настройками DNS.

DNS сервер и VPN можно установить в роутере, например я приобрел Keenetic, теперь весь трафик шифруется и чистится, перед тем как зайти в мой дом.

Бонусная часть — настройка безопастности сервера

С самого начала мы обезопасим сервер от брутфорса и закроем порты, которые не будем использовать:

apt install fail2ban -y && apt install ufw -y && apt install nano -y && apt update && apt upgrade -y
touch /etc/fail2ban/jail.local && nano /etc/fail2ban/jail.local

Откроется редактор, вставим в него код:

[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200

Нажимаем ctlr + x, далее Y и enter, чтобы сохранить.

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

 nano /etc/ufw/before.rules

Меняем концовку следующего выражения с ACCEPT на DROP:

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Нажимаем ctlr + x, далее y + enter, чтобы сохранить.

Прописываем правила в фаервол и включаем его

1. Обратите внимание, что мы оставляем открытым порт SSH, который по-умолчание на 22 порту. Если у вас другой порт назначен, поменяйте его.
2. ufw allow 45456/udp порт Wireguard, уже не стандартный. В сетапе обязательно укажите его или любой в диапазоне 40000 - 65535
ufw allow 3000/tcp && ufw allow 80/tcp && ufw allow 53/udp && ufw allow 45456/udp && ufw allow 22/tcp

В конце нас спросят, включать ли фаервол нажимаем Y и enter

На этом установка закончена. Если есть вопросы — пишите их в комментариях!

Atlant
Atlant
http://vpneasy.pro
Пишу только о VPN и современных протоколах защиты и передачи данных. Проект не монетизируется и не направлен на извлечение выгоды. Миссия этого проекта — дать доступ к технологиям защиты собственных данных.
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
8 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Имя
Имя
1 год назад

Сделал все по описанию, но смущает надпись в журнале везде «Нешифрованный DNS» — это нормально?

Имя
Имя
Ответить на  Atlant
1 год назад

Добрый день! Жду с нетерпением!

Константин
Константин
1 год назад

Добрый день, а можно связать решение от wg-easy с adguard home? В том решении есть удобный WebUI для управления профилями wireguard

Cергей
Cергей
1 год назад

Здравствуйте! У vdsina.ru есть возможность сразу установить сервер с WireGuard VPN на
Ubuntu 22. Накатил сверху AdGuard Home, но трафик не идёт через него, уже часа 4 мучаюсь. Интересно было бы увидеть статью, по настройке.

Владимир
Владимир
1 год назад

Как можно проверить что трафик действительно шифруется?