Очередная статья про VPN
Добрый день. Статья сложнее чем установка VPN в 2 клика, но позволяет создать свой, более-менее, защищенный VPN сервер на связке WireGuard + Adguard Home. Связка, вам скажу - бомбическая. Мы не только шифруем трафик, а еще и чистим его от тонны всякого овна.
И это позволяет создать, во всех смыслах, безопасный интернет для вас и вашей семьи.
Статья разбиты на 3 раздела:
Часть 1: VPS сервер
Для начала нужно арендовать VPS сервер. Так как в РФ VPN не особо жалуют власти, то арендуем сервер не в РФ. Кстати, так получается намного дешевле. Подобрать дешевый VPS можно на сайте Lowendbox. Я например, в прошлом году арендовал сервер от RackNerd за 11 USD. И за 1 год, ни разу не получил каких-либо проблем. Для наших нужд нам хватит самый дешевый вариант, с 1 CPU и 1 Gb RAM.
Update: с некоторых пор оплатить хостинг за $ стало крайне сложно, поэтому рекомендую уже хостинг VPS на VDSina (реферальная ссылка, если хотите отблагодарить автора). Сервера дешевые (11 рублей в сутки), находятся в Голландии, IP мне выдал чистый по проверки в спам-базах.
Обязательно проверяем IP сервера, по наличию в спам-базах. Делается это просто, через сервис 2IP.
Купили сервер, начинаем его настройку.
Update 2: в качестве ОС я использую Ubuntu Server, статья написана именно под эту систему.
Для начала создадим ключ, для беспарольного доступа к серверу, для этого скачиваем утилиту PuTTYgen и генерируем в ней публичный и приватный ключи. Оба ключа сохраняем. Приватный ключ нам потребуется для входа на сервер, публичный вставляем в настройки SSH на сервере, как указано ниже.
Если мы используем хостинг от VDSina, публичный ключ вставляем в разделе Мои серверы -> SSH ключи.
После этого, можем заходить на наш сервер через SSH и производить настройку. Для SSH доступа, порекомендую приложение от MobaXterm, оно бесплатное и очень клевое.
Начинаем настройку сервера:
Внимание! Ниже кусок раздела применимый для других серверов, для VDSina мы уже добавили наш ключ, как указано выше.
Добавляем наш ключ на сервер:
Меняем порт на котором работает SSH и отключаем авторизацию по паролю:
Открываем только те порты, которые нам понадобятся и закрываем порт 22:
После ребута не забываем поменять номер порта, который поменяли, в настройках SHH-клиента.
Часть 2. Устанавливаем WireGuard
Далее, запускается мастер установки, соглашаемся со всем кроме:
Which DNS provider would you like to use?
1) Unbound (Recommended)
2) Custom (Advanced)
Выбираем вариант 2.
Далее, соглашаемся с DNS сервером по дефолту.
В итоге, скрипт сгенерирует QR-код, который можно отсканировать, например, в мобильном приложение WireGuard, и даст ссылку на .conf файл, в которым зашиты настройки для приложения.
Чтобы посмотреть всех клиентов WireGuard, устанавливаем Midnight Commander и смотрим конфиги по адресу etc/wireguard/cliens.
Для того, чтобы совершить какие-то настройки над WireGuard, например, добавить новых клиентов, используем команду:
Все, WireGuard установлен и настроен, но на некоторых серверах клиент не будет получать трафик, если еще не произвести несколько манипуляций с фаерволом UFW. Это раздел для VDSina, на других серверах у меня все и так работало.
Сохраняем — CTRL + X, Y и Enter.
Сохраняем — CTRL + X, Y и Enter.
Откроется файл, необходимо вставить код ниже, ДО начала данных файла. т.е. вставленные данные у нас будут идти самыми первыми.
Перезапускаем фаервол:
Часть 3. Установка AdGuard Home
Выполняем команды в консоли:
Далее, переходим в браузер http://IP_сервера:3000 или на домен, если уже прилинковали его к IP и проходим квест установщика.
Кстати, домен можно бесплатно парковать у хостинга Beget, они крутые ребята.
Внимание! В полях ‘Веб-интерфейс администрирования‘ и ‘DNS-сервер’, выбираем сетевой интерфейс с IP адресом нашего сервера, это важно.
После прохода установщика, жмем CTRL + C и далее, вводим команды.
И обратите внимание, что если прилинковываем домен и хотим шифровать трафик, то к IP нужно прилинковать домен и выпустить для него сертификат через certbot.
Все, заходим на адрес вашего сервера http://IP_сервера:3000 или http://домен.ru, выбираем и при желание доустанавливаем фильтры (настройка Adguard Home — тема для отдельной статьи) и наслаждаемся более быстрым и безопасным интернетом.
В конфиге клиента VPN, в поле DNS = 1.1.1.1 (например), мы можем указать IP адрес нашего сервера с VPN ,и трафик будет фильтроваться от рекламы и шифроваться. Такое 2 в 1.
Так же можно использовать отдельно DNS сервер, чтобы фильтровать трафик без VPN. На ПК с Windows мы указываем адрес DNS в программе Yoga DNS и пускаемся трафик по DNS over HTTPS.
Для смартфона на Android или iOS есть нативная поддержка DNS over HTTPS и сервер можно поменять в настройках. Но это верно не для всех версий Android и не для всякого трафика, поэтому для Android рекомендую использовать приложение Intra для фильтрации трафика или WireGuard с нашими настройками DNS.
DNS сервер и VPN можно установить в роутере, например я приобрел Keenetic, теперь весь трафик шифруется и чистится, перед тем как зайти в мой дом.
Если будут вопросы, предложения и конструктивная критика — пишите в комментариях. Спасибо!
Автор не упомянул самое главное. Установить Wireguard не всюду получится. Centos 8 Stream, Centos 8 и выше, AlmaLinux 9 требуют модуль kmod-wireguard, который не везде есть, а если версии ниже - то ядро старое.
Пробуем Debian - у моего провайдера только 10, в backports ничего нет, пришлось обновляется полностью до Debian 11. И только тогда смог поставить. Ubuntu не пробовал, но не думаю, что меньше чем на 20 встанет без бубна.
Далее не забываем, чтобы была правильная виртуализация...
Автор указал, что статья написано под Ubuntu Server. И кстати, статья обновлена, я публикуюсь теперь только на своем блоге.
Так автор мог бы указать, что нужно использовать Ubuntu server не ниже 20 версии. Не все провайдеры поддерживают актуальные версии осей, мало лишь кто, но некоторые пользователи пользуются другими иностранными провайдерами, которые без проблем принимают рубли.
И не знаю, где ваш блог, но в этом вашем интернете видел пару статей с такой же проблемой, что "не встаёт" по инструкции. Впрочем не переживайте, на официальном сайте wireguard инструкции тоже хромают.
А смысл мне переживать, я одинаково ставил по своей инструкции на Ubuntu 18-22, никаких проблем не испытывал.
на своем блоге - это здесь или где-то в другом месте?
У меня в профиле ссылка висит, здесь шансы что статью прочитать - самый минимум