Как-легко-запустить-свой-сервер-VPN-используя-WireGuard

Как легко запустить свой сервер VPN используя WireGuard

Рубрики:

Microsoft, Сети Linux

Метки:

, , , ,

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

Содержание:

  1. Что такое WireGuard
  2. Преимущества WireGuard
  3. Создаем WireGuard VPN-сервер
    1. Поддерживаемые WireGuard дистрибутивы Linux
    2. Пример используемой системы
    3. Проверяем настройки сети сервера
    4. Устанавливаем WireGuard
    5. Подключаем клиентов к серверу VPN
    6. Устанавливаем WireGuard на ОС Windows
    7. Устанавливаем WireGuard на Android
  4. Выводы

Что такое WireGuard

Технология VPN использует шифрование при передаче данных по туннелю от устройства к серверу. Но проблема заключается в том, что алгоритмы шифрования безнадежно устарели, так как появились несколько десятков лет назад. Следовательно, они не оптимизированы для современных устройств, которые используют 64-битную архитектуру. Получалось, что если пользователю нужно безопасное и надежное подключение, то ему придется мириться с низкой скоростью передачи данных.

Но в 2020 году канадский специалист Jason A. Donenfeld решил эту проблему, подарив миру WireGuard. Решение оказалось настолько удачным, что Линус Торвальдс включил WireGuard в ядро Linux. Благодаря этому WireGuard получил широкое распространение и стал настоящей находкой для пользователей во всем мире.

Преимущества WireGuard

Среди основных преимуществ WireGuard VPN стоит отметить:

  • удобство и простота в использовании;
  • современная криптография (Curve25519, SipHash24, Noise protocol framework, HKDF, Poly1305, ChaCha20, BLAKE2);
  • высокая производительность;
  • проработанная спецификация;
  • компактный и легкочитаемый код.

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

На сегодняшний день наибольшие преимущества в производительности WireGuard заметны на дистрибутивах Linux, поскольку VPN включен в само ядро. Однако уже сейчас WireGuard поддерживает работу на macOS, Windows, Android, iOS, FreeBSD и OpenBSD.

Создаем WireGuard VPN-сервер

Давайте вместе выполним всю последовательность действий, необходимых для создания VPN-сервера с помощью WireGuard.

Поддерживаемые WireGuard дистрибутивы Linux:

  • Ubuntu >= 16.04;
  • Debian 10;
  • Fedora;
  • CentOS;
  • Arch Linux.

Пример используемой системы

В качестве примера мы будем использовать следующую операционную систему GNU / Linux:

Проверяем настройки сети сервера

Проверяем настройки сети нашего сервера. Сделать это можно следующим образом:

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

Загрузите WireGuard, дайте скрипту права на выполнение и запустите его. Все действия следует выполнять от имени администратора — root (например, используя команду sudo).

 

WireGuard

При установке необходимо выполнить первичную нам настройку:

  1. Введите свой публичный (белый / внешний) IP-адрес (его можно узнать по методу из предыдущего шага, где мы проверяли настройки сети нашего сервера).
  2. Настройте публичный интерфейс сети, который подключен к провайдеру.
  3. Укажите имя нового интерфейса для WireGuard.
  4. Впишите ipv4-адрес WireGuard сервера во внутренней сети.
  5. Задайте ipv6-адрес WireGuard сервера во внутренней сети.
  6. Выберите порт WireGuard сервера (по умолчанию используется любой свободный UDP-порт в диапазоне от 1 до 65535).
  7. Задайте два DNS-сервера для клиентов.

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

 

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Также после установки необходимо указать настройки клиента:

  1. Имя клиента.
  2. Адрес ipv4 клиента во внутренней сети.
  3. Адрес ipv6 клиента во внутренней сети.

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

 

Скрипт сгенерирует файл конфигурации и QR-код для автоматической настройки клиента.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Для создания новых клиентов или удаления старых достаточно еще раз запустить скрипт.

Подключаем клиентов к серверу VPN

Самый простой способ подключиться к серверу — отсканировать QR-код приложением WireGuard.

Версии клиента для разных операционных систем можно скачать здесь:

Кроме того, можно скопировать файл настройки созданного нами клиента.

Устанавливаем WireGuard на ОС Windows

Давайте попробуем установить клиент WireGuard на популярную ОС Windows. Скачивам клиент из официального источника: https://www.wireguard.com/install/. Устанавливаем его. При установке все настройки оставляем по умолчанию, запускаем.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Добавляем пустой туннель.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Все стандартные настройки вытираем.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Настройки клиента берем из файла конфигурации клиента. Для этого вводим следующую команду:

 

Выделяем содержимое, при этом оно скопируется в буфер обмена

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Вставляем настройки в клиент WireGuard для Windows.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Нажимаем на кнопку «Подключить» — и в результате туннель должен заработать.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Его статус должен измениться на «Подключен». В противном случае Вы допустили ошибку на одном из предыдущих этапов.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

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

Также Вам может показаться полезным использовать клиент WireGuard на устройстве под управлением Android. Прежде всего, скачиваем из Google Play официальное приложение: https://play.google.com/store/apps/details?id=com.wireguard.android.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Запускаем его, нажимаем на синий плюсик в правом нижнем углу.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

 

Выбираем вариант подключения через сканирование QR-кода.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Еще раз запускаем скрипт для создания конфигурации нового клиента.

 

Сканируем QR-код, указываем имя туннеля. В результате должна добавиться конфигурация.

Как установить и настроить WireGuard VPN-сервер на Ubuntu / Debian / CentOS за 5 минут

Выводы

Как видите, установить и настроить свой WireGuard VPN сервер, а также подключить к нему клиенты для разных устройств под управлением различных операционных систем — довольно просто. С данным руководством этот процесс не займет у Вас много времени и сил. Тогда как в результате Вы сможете получить быстрый и надежный VPN.

Спасибо за время, которое Вы уделили прочтению статьи!

Если у Вас возникли вопросы — задавайте их в комментариях!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Microsoft, Сети Linux

Метки:

, , , ,

Больше похожих постов

11 комментариев. Оставить новый

  • Александр
    19 февраля 2021 14:02

    а есть ли уже какие то ГУИ на сервер для управления юзерами и мониторинга состояния WG ?

    Ответить
  • ошибочка вышла, все работает, только нужно исправить сам скрипт — откуда он берет его (ссылка бита)
    и обязательно нужно перезагрузить сам сервер после установки и настройки.
    Не пойму зачем вначале видео добавляли поддомен и его прописывали если он нигде не используется? Возможно для ручной настройки?

    Ответить
  • wireguard ustonovilsa poklyuchayetsa no ping ne idyot i netu interneta. chto mojno zdelat v etom sluchay?

    Ответить
  • как пропустить через него только свой список сайтов или ip адресов
    например
    *.yandex.ru
    vc.ru
    122.67.5.*

    Ответить
  • Здравствуйте, у меня есть вопрос? почему на андроиде
    Через определенно времени сам выключается WireGuard VPN

    Ответить
  • Здравствуйте, помогите решение проблемы. Я создал VPN L2TP/IPSEC на ubuntu 20.04 .
    Vpn выключаться примерно через 2 минуты
    в чём может быть причина?

    Ответить
  • У кого всё установилось, но интернет не идёт,
    вероятно нужно включить в системе форвардинг.

    Для начала проверьте команду:
    cat /proc/sys/net/ipv4/ip_forward
    Если в ответ выдаёт 1, то форвардинг включен, а если 0, то выключен.
    Либо командой:
    sysctl net.ipv4.ip_forward

    Форвардинг нужно включить, поправив системный файл sysctl.conf
    Набираете команду:
    vi /etc/sysctl.conf
    Затем жмёте букву i чтобы перейти в режим редактирования,
    и найдите строку с таким содержимым:
    net.ipv4.ip_forward=0.
    Если в начале строки стоит решётка #, то её нужно убрать, а 0 нужно поменять на 1.

    Если такого не нашли, то просто добавьте строку
    net.ipv4.ip_forward=1

    Затем жмёте ESC чтобы выйти из режима редактирования,
    а для сохранения и выхода нужно нажать SHIFT+ж (там где двоеточие),
    потом напечатать wq и нажать ENTER.

    Для вступления изменений в силу нужна команда:
    sysctl -p /etc/sysctl.conf

    Ответить
  • Добавлю, что если установлен ufw (Ubuntu 22)
    то необходимо открыть порт , который скрипт предложил при установке.
    как пример
    sudo ufw allow 61999 comment ‘Wireguard Open Port 61999’

    Ответить
  • подскажите есть vps и 3 ip адреса на eth0. Вопрос как можно сделать чтобы использовать разные ip для выхода в интернет с openvpn. Скажем клиент один ip 1 клиент 2 ip 2

    Ответить

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню