Wireguard настройка mac os

Обновлено: 07.07.2024

Безопасный удаленный доступ к сервисам в локальной сети.

VPN (англ. Virtual Private Network, «виртуальная частная сеть») — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например Интернет).

Наиболее популярные решения с открытым исходным кодом для построения виртуальных частных сетей — «OpenVPN» и «IPSec». В релиз ядра Linux 5.6, который состоялся 30 марта 2020 года, вошла еще одна реализация технологии VPN — «WireGuard». Это молодой набирающий популярность проект.

Основные преимущества «WireGuard»:

  • Высокая производительность (бенчмарки можно посмотреть тут)
  • Простая настройка
  • Современная криптография
  • Качественный код

В этой инструкции мы настроим VPN-туннель в локальную сеть с помощью «WireGuard» и обеспечим доступ из интернета к узлам LAN с различных устройств.

Адресация в LAN - 192.168.100.0/24, VPN-сети назначим диапазон 10.0.0.0/24.

Для размещения сервера потребуется VPS. При выборе необходимо обратить внимание на технологию виртуализации: предпочтительно KVM, можно XEN, а вот OpenVZ следует избегать. Дело в том, что в WireGuard реализован как модуль ядра, а в OpenVZ ядро очень старое. Я буду использовать самый дешевый виртуальный сервер c операционной системой Ubuntu 20.04 (KVM 512 МБ RAM 20 ГБ SSD 1 CPU - такая конфигурация вполне подойдет).

Залогинимся на сервер с правами пользователя root и выполним следующие команды:

Создадим конфигурационный файл /etc/wireguard/wg0.conf со следующим содержимым:

[Interface] Address = 10.0.0.1/24 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 51820 PrivateKey = <SERVER_PRIVATE_KEY>

Параметры PostUp/PostDown содержат правила iptables, которые будут применены при запуске/остановке сервиса. Обратите внимание на название сетевого интерфейса — оно должно соответствовать общедоступному сетевому адаптеру, в моем случае это eth0. Вывести список адаптеров можно командой:

Выберите из списка тот, которому соответствует внешний IP-адрес. <SERVER_PRIVATE_KEY> - заменяем содержимым файла /etc/wireguard/privatekey.

Запустим VPN-сервис и добавим его в автозагрузку:

Убедимся, что служба запустилась корректно:

Если ваш роутер поддерживает WireGuard (Zyxel KeeneticOS >=3.3, Mikrotik RouterOS >=7.1beta2, OpenWRT) — можно настроить VPN-клиент прямо на нем. Я буду использовать для этой цели сервер Ubuntu 20.04 (локальный адрес 192.168.100.7).

Первый этап настройки аналогичен конфигурации серверной части. Выполняем с правами root-пользователя:

[Interface] PrivateKey = <PEER_LAN_PRIVATE_KEY> Address = 10.0.0.2/32 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wlp2s0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wlp2s0 -j MASQUERADE [Peer] PublicKey = <SERVER_PUBLIC_KEY> Endpoint = <SERVER_IP>:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 20

<PEER_LAN_PRIVATE_KEY> — заменяем содержимым /etc/wireguard/privatekey, <SERVER_PUBLIC_KEY> — /etc/wireguard/publickey с сервера, <SERVER_IP> — внешний IP-адрес сервера. Правила iptables в PostUp/PostDown необходимы для того, чтобы наш клиент выступал в роли шлюза в LAN. Указываем в правилах тот сетевой интерфейс, на который назначен локальный адрес (192.168.100.7, в моем случае это wlp2s0). Уточните его путем исполнения команды:

В параметре AllowedIPs задаются адреса, маршрутизация к которым будет осуществляться через VPN-интерфейс. В поле PersistentKeepalive — периодичность проверки доступности соединения в секундах. Запускаем службу и добавляем в автозагрузку:

На сервере добавляем в файл /etc/wireguard/wg0.conf блок:

Где <PEER_LAN_PUBLIC_KEY> — /etc/wireguard/publickey клиента. Перезапустим службу и убедимся, что все настроено корректно:

Проверим теперь с клиента:

Сборки WireGuard доступны для основных платформ: Linux, Windows, Mac, Android, FreeBSD, OpenWRT и др. Рассмотрим настройку VPN-клиента на десктопах под управлением Linux и Windows, а так же на Android-смартфоне.

На клиенте выполняем с правами root:

Конфигурационный файл /etc/wireguard/wg0.conf:

<PEER_1_PRIVATE_KEY> — заменяем содержимым /etc/wireguard/peer_1_privatekey, <SERVER_PUBLIC_KEY> — /etc/wireguard/publickey с сервера.

Обратите внимание на строку «AllowedIPs = 0.0.0.0/0» - в данной конфигурации весь трафик будет маршрутизироваться через VPN-адаптер. Это может понадобиться для сокрытия реального IP при работе в интернет или для защиты трафика при подключении к недоверенным сетям (например публичные Wi-Fi точки доступа). В этом случае указываем «DNS = 8.8.8.8» (8.8.8.8 - DNS-сервер Google), чтобы DNS-запросы выполнялись через защищенное VPN-соединение.

Если VPN-туннель необходим только для доступа к LAN 192.168.100.0/24 - убираем строчку «DNS = 8.8.8.8» и в параметре AllowedIPs меняем «0.0.0.0/0» на «10.0.0.0/24, 192.168.100.0/24».

На сервере в конфигурационный файл /etc/wireguard/wg0.conf добавляем блок:

. [Peer] PublicKey = <PEER_1_PUBLIC_KEY> AllowedIPs = 10.0.0.3/32

Где <PEER_1_PUBLIC_KEY> — содержимое файла /etc/wireguard/peer_1_publickey клиента и перезапускаем службу:

Возвращаемся на клиент и проверяем доступность узлов в LAN через VPN-туннель:

Итак, в этом ролике я буду рассказывать про WireGuard. WireGuard это такая новая технология VPN.

Сейчас VPN нужен вообще почти всем. И не только даже для того чтобы получить доступ к заблокированным ресурсам, но и для того чтобы нормально организовать свою сеть. Ну чуть позже расскажу про преимущества

И если раньше VPN решения были тяжелыми, их было сложно настраивать, они были медленными, то сейчас с WireGuard все поменялось.

Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art.

Он очень прост с использовании. Он гораздо легче, там раз в десять меньше кода.

Он использует современную криптографию: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF и т.д.

Ну а самое главное, он очень быстрый. Это вообще была основная проблема любой VPN. Что скорость в ней падала довольно сильно (речь про OpenVPN). А быстрый он потому, что реализован он в пространстве ядра, а не в пользовательском пространстве как OpenVPN.

-s7nhkifwroycqegjpk_3chca1c

Что мы получим

Давайте теперь коротко, про преимущества, которые мы получим.

Безопасность

Во-первых это безопасно, весь трафик внутри этой сети шифруется.

Разблокировать заблокированное

Во-вторых меньше проблем с заблокированными ресурсами. Все начнет работать: LinkedIn, PornHub, RuTracker и все остальное.

Удобная сеть

В третьих это очень удобно, вы всегда будете иметь доступ к ресурсам из своей локалки.

Например, у меня в моей локалке есть куча сервисов, которые внутри нее:

Куча распберри паев

И если у вас настроен VPN, то даже если вы взяли с собой ноутбук и уехали в путешествие, то в любом месте вы получите доступ к своей локалке.

Вообще идеально если ваш роутер поддерживает WireGuard. В этом случае вам не нужно будет заморачиваться с каждым клиентом. Но даже если роутер не поддерживает, то все равно можно все настроить, но потратите больше времени.

Установка на DigitalOcean

Давайте перейдем к установке. Я буду использовать DigitalOcean для того чтобы там все установить. Для того чтобы это все работало нам хватит самого дешевого сервера который там стоит $5 в месяц. (Если вы из РФ, то вроде бы там еще налог и всего будет $6 в месяц)

SSH KEY

После того как зарегистрировались я рекомендую сразу же добавить свой SSH ключ в DigitalOcean. Это делается в разделе Settings -> Security.

Если вы его добавите, то в дальнейшем вам будет значительно проще подключаться к серверам, которые вы создадите. Ну и это значительно безопаснее, чем подключение через пароль. Так что рекомендую.

New Droplet

Теперь нам нужно создать новый сервер. В DigitalOcean это называется Дроплетом.

Нам нужно просто нажать на кнопку “Create” вверху и там выбрать “Droplet”

Я буду использовать Ubuntu 20.04 (LTS) x64, но вы можете использовать любой другой дистрибутив на ваш вкус.

Для этих целей нам хватит самого дешевого сервера, который тут стоит $5.

После того как нажмете кнопку “Создать” он будет создаваться примерно секунд 40.

После того как наш с вами сервер создался можно скопировать его IP адрес и пойти в консоль.

Update and Upgrade Ubuntu

Вводим в консоль

Где это айпишник вашего сервера и мы должны подключиться к нашему серверу

Теперь обновим нашу убунту и для этого вводим команды

Install WireGuard

И теперь можно установить WireGuard

разрешаем проброс пакетов

Проверям, добавилось или нет

Configure WireGuard on Server

Теперь генерируем публичный и приватный ключ на сервере

Теперь нам нужно создать конфиг

И добавим в него следующее

Теперь запустим интерфейс:

И запустим сервис:

Теперь можно посмотреть работает ли wireguard:

Кроме того можно посмотреть работает ли служба:

Если вдруг у вас будут проблемы то сначала сделайте

А потом перезапустите сервис

После этого посмотрите статус

И скорей всего все будет хорошо

Configure WireGuard on Client (Mac OS)

Давайте теперь приконнектимся к серверу.

Для начала на сервере нужно выполнить команду

И теперь обновим на сервере файл wg0.conf

И добавим туда новый раздел с новым клиентом

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

Ну и лушче сразу же проверить что сервис работает и активный:

И теперь сделаем конфигурационный файл для клиента, назовем его как-нибудь mac.conf:

После этого сохраните этот файл и загрузите его через приложение WireGuard, которое можете скачать из апстора

После этого в клиенте это выглядит примерно так:

sdfsdf

Ну а еще можете посмотреть на то, как это выглядит на сервере.

Введите вот эту команду и увидите все ваши коннекшены

123123

Маршрутизируем весь траффик

Есть вдруг вам нужно маршрутизировать весь трафик, то нужно сделать небольшие изменения в конфиге клиента.

Либо можете сделать два конфига и переключаться между ними при необходимости.

Посмотрите на строку

Обратите внимание на строку AllowedIPs - Тут все выставлено в нули. В конфиге это значит, что абсолютно весь трафик будет маршрутизироваться через сервер. Это может быть полезно если нужно скрыть ваш IP или если нужно защитить ваш трафик если вы работаете в каких-то непроверенных публичных Wi-fi сетях. В этом случае нужно обязательно указать DNS. Тут можете указать DNS гугла или любой другой.

Configure WireGuard on Client (Windows)

Абсолютно точно так же все делается для Windows клиента

Configure WireGuard on Mobile (iOS or Android)

Приложение для iOS или Android доступно в сторах. И там и там оно называется WireGuard.

Для того чтобы использовать WireGuard на смартфоне нам нужно на сервере сначала сгенерировать ключи:

И теперь добавим в файл /etc/wireguard/wg0.conf на сервере следующее:

Перезапустим службу чтобы изменения вступили в силу:

Теперь создадим пустой файл конфигурации

Теперь нам нужно перенести этот конфиг на смартфон. И можно конечно как-то кинуть этот файл, но значительно удобнее использовать QR код.

Для этого нужно установить qrencode

И потом выбрать конфиг и сгенерировать из него QR код

После этого в консоли мы увидим QR код и нам остается только отсканировать его через WireGuard на мобильном приложении.

Нужен безопасный, а главное очень быстрый VPN сервер? Тогда вам необходимо обратить внимание на WireGuard, который работает на Windows, macOS, Linux, Android и iOS! Создаем свой VPN сервер за 5 минут!

Выбор провайдера VPS

Есть два отличных хостинг провайдера для создания VPS, чтобы в дальнейшем на него установить VPN WireGuard — это Vultr и DigitalOcean! Специально для посетителей сайта Android +1 работает акция:

    в подарок на 60 дней (мин. стоимость VPS от $2.5/месяц) в подарок на 60 дней (мин. стоимость VPS от $5/месяц)

Создаем и настраиваем сервер

  • В зависимости какого вы выбрали провайдера, продолжаем создавать сервер, с такими параметрами
    • на Vultr выбрать вкладку Application, выбрать Docker, тарифный план $5, страна по желанию
    • на DigitalOcean выбрать вкладку Marketplace, выбрать Docker, тарифный план $5, страна по желанию

    Подключаемся к серверу

    Для того, чтобы как-то управлять сервером (командная строка), необходим какой-то инструмент, в нашем случае это утилита PuTTY, которую надо скачать и установить.

    VPN WireGuard

    После установки запускаем PuTTY, указываем IP адрес и нажимаем кнопку OPEN

    Внимание при вводе пароля, строка остается пустой, как будто ничего не вводите

    1. Далее вам необходимо ввести логин (root)
    2. Придуманный пароль

    Настройка сервера для VPN WireGuard

    После перезагрузки, вам остается лишь скопировать файл конфигурации WireGuard VPN.

    Скачиваем скрипт установщика WireGuard VPN на ваш сервер:

    И запустим установку:

    После установки перезагрузить сервер:

    Получение файла конфигурации
    VPN WireGuard и настройка клиентов

    Установите FTP и скачайте файл конфигурации /root/client-wg0.conf на компьютер.

    VPN WireGuard

    У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!

    Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Linux. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!

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


    Особенности WireGuard VPN

    WireGuard VPN это программное обеспечение для создать виртуальную частную сеть (VPN) чрезвычайно прост в настройке , очень быстро (быстрее, чем IPsec и OpenVPN) и использует самая современная криптография по умолчанию , без необходимости выбирать между различными алгоритмами симметричного шифрования, асимметричным и хешированием. Цель WireGuard VPN состоит в том, чтобы стать стандартом, и для большего числа домашних пользователей и предприятий, чтобы начать использовать его, вместо использования IPsec или популярного OpenVPN, которые более сложны в настройке и медленнее. Это программное обеспечение предназначено для использования всеми пользователями, как для домашних пользователей, так и для суперкомпьютеров.

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

    Эта медитация Программное обеспечение L3 VPN то есть использует только туннелирование , это не происходит как OpenVPN, где у нас есть возможность работать в транспортном режиме или туннельном режиме. В этом случае мы всегда будем использовать туннельный режим, кроме того, он совместим с обоими Сети IPv4 и сети IPv6 Кроме того, он может инкапсулировать пакеты IPv4 в IPv6 и наоборот. Протокол транспортного уровня, используемый WireGuard: UDP Таким образом, нам нужно будет открыть определенный порт (чтобы его можно было изменить) в нашем маршрутизаторе, который выполняет NAT.

    Совместимость с операционными системами

    Это новое программное обеспечение VPN было впервые выпущено для Linux Ядро, но это кросс-платформенной , поскольку он совместим с Windows, Linux, MacOS, FreeBSD, Android , а также Ios операционные системы , Одной из сильных сторон этого программного обеспечения является то, что конфигурация клиента и сервера в разных операционных системах одинакова, используется один и тот же синтаксис, поэтому вы можете настроить сервер и клиенты в Linux, а затем «передать» конфигурацию другим устройствам с помощью другие операционные системы внутри.

    Криптография используется

    При использовании протоколов IPsec и OpenVPN необходимо, чтобы и клиенты, и сервер «согласовали» используемые криптографические протоколы как на этапе 1 и этапе 2 (IPsec), так и в канале управления и передачи данных (OpenVPN). ), иначе соединение не будет установлено правильно. WireGuard предоставляет весь криптографический «пакет» , обеспечивая связь без необходимости выбирать что-либо. Если в какой-то момент один из криптографических протоколов, используемых этой VPN, считается небезопасным, это так же просто, как запуск второй версии WireGuard с новым протоколом, который не имеет изъянов безопасности, и между клиентами и сервером он будет указали, что используют «версию 2», будучи полностью прозрачными для нас.

    Еще одна очень важная деталь заключается в том, что этот VPN использует очень маленький исходный код , По сравнению со StrongSwan или OpenVPN очень мало строк кода, поэтому аудит может быть выполнен за очень короткое время, также будет легче найти возможные уязвимости или недостатки безопасности. С меньшим количеством строк кода поверхность возможной атаки на программирование VPN также становится меньше.

    WireGuard VPN в настоящее время использует ChaCha20 для симметричного шифрования, аутентифицируется с Poly1305 , используя конструкцию AEAD. Он также использует Curve25519 для ECDH, BLAKE2 для хеширования, SipHash24 для хеш-таблица ключи и HKDF для получения ключа, что означает, что мы используем самые современные криптографические алгоритмы с целью обеспечения максимальной безопасности и производительности.

    Поддержка роуминга и Kill Switch

    Это программное обеспечение предназначено для бродить легко и быстро , если наше устройство меняет сети и логически меняет общедоступный IP-адрес, например, когда мы переходим из сети Wi-Fi и сети 4G / LTE нашего оператора, VPN-соединение будет отменено, поскольку они быстро повторно аутентифицируются с помощью VPN сервер, так что мы всегда будем подключены к VPN.

    Мы также можем включить Kill-Switch на устройстве таким образом, если VPN-соединение будет прервано, само программное обеспечение также будет отвечать за прерывание всего сетевого трафика до тех пор, пока VPN-соединение не будет восстановлено, чтобы не было навигации без защиты, которую нам предоставляет эта VPN.

    Установка WireGuard VPN

    Установка этого программного обеспечения очень проста, нам просто нужно перейти на официальный сайт WireGuard и загрузите исполняемый файл для операционных систем Windows или MacOS. Если вы используете операционную систему на основе Linux с соответствующими репозиториями, вам, вероятно, придется добавить определенные репозитории WireGuard, поскольку в настоящее время она не находится в «стабильной» ветке по умолчанию.

    Например, мы установили VPN-сервер в последней версии Debian, чтобы установить его, мы выполнили шаги, указанные на официальном сайте. Разрешения суперпользователя необходимы для правильной установки.

    Мы не должны забывать, что этот VPN также совместим с операционными системами, такими как FreeBSD, OpenBSD и даже с OpenWRT для маршрутизаторов, поскольку просто установите его через «opkg», поскольку обычно устанавливается все дополнительное программное обеспечение.

    Если вы собираетесь установить VPN-клиент на свой смартфон с Android или iOS, в настоящее время у нас есть официальные приложения, поэтому вы можете установить его без проблем из Гугл игры и App Store соответственно:

    Конфигурация WireGuard: открытый, закрытый ключи и файлы конфигурации

    После того, как мы правильно установили WireGuard, как на компьютере, который работает как сервер, так и на всех клиентах, которые мы хотим подключить, необходимо его настроить. Первое, что мы должны сделать, это создать пару открытый-закрытый ключ, как на сервере, так и на всех клиентах, к которым мы хотим подключиться. Мы использовали операционную систему Debian для генерации ключей, а также для настройки сервера, однако мы могли бы сделать это непосредственно в программном обеспечении Windows.

    Маршрут для запуска сервера WireGuard в Debian - / etc / wireguard /, поэтому мы пойдем по этому маршруту с помощью следующей команды:

    Четная генерация открытого и закрытого ключа для сервера

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

    wg genkey | tee claveprivadaservidor | wg pubkey > clavepublicaservidor

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

    • Закрытый ключ: 6JcquylvtJsHNCdWrYMj28XsLIFJUVjlr2y5o27rO2c =
    • Открытый ключ: xeTkJjjBUyp8paxTgajwDa + qWjrD2RpXlJRSHMwcGDQ =

    Эти ключи мы будем использовать для «сервера» WireGuard VPN.

    Четная генерация публично-приватного ключа для клиента

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

    wg genkey | tee claveprivadacliente1 | wg pubkey > clavepublicacliente1

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

    • Закрытый ключ: yPMpP2raY4FoCEJkmzQMlxzm / 6RBIW9HkjY6pVFIOnI =
    • Открытый ключ: 6c12jLkKzgU9len1kQ / 6Fc61xm + LL98TPPlLsri8klE =

    Эти ключи мы будем использовать для VPN-клиента WireGuard.

    Файл конфигурации сервера

    Конфигурация сервера WireGuard довольно проста по сравнению с серверами IPsec или OpenVPN, однако мы должны принять во внимание несколько вещей, которые мы объясним ниже.

    На сервере мы должны иметь Интерфейс В этом разделе мы можем указать частный IP-адрес который идентифицирует сервер при подключении клиентов. Мы должны помнить, что это VPN L3, поэтому мы можем указать любой частный IP-адрес, который не используется в любой момент времени. Например, в OpenVPN подсетью по умолчанию является 10.8.0.0/24, здесь мы также можем поместить ту же или любую другую подсеть 192.168.2.0/24 (а 192.168.2.1 - это сам сервер, а другие IP-адреса, которые являются клиентами) , С синтаксисом « Адрес »Мы разместим подсеть VPN, которую мы хотим.

    В " PrivateKey »Нам нужно будет ввести закрытый ключ, который мы ранее сгенерировали для сервера. В " Listenport »Мы добавим UDP-порт, который мы хотим использовать для сервера, этот порт будет тем, который нам позже придется« открыть »в NAT, если мы находимся за маршрутизатором с NAT.

    Наконец, в этом разделе «Интерфейс» мы также можем определить команды, которые будут выполняться после снятия виртуального интерфейса с «PostUp» и после выброса виртуального интерфейса с «PostDown». Как вы можете видеть, мы прокомментировали это, поскольку мы не хотим использовать NAT для этого интерфейса, но это может быть сделано идеально.

    В разделе » вглядываться », Где нам нужно будет разместить список клиентов, которым мы разрешаем подключаться. В этом случае мы будем подключать только «одноранговый узел», поэтому мы определим ваш открытый ключ с помощью « PublicKey »Что мы создали ранее (или что клиент предоставил нам, так как возможно, что он был сгенерирован им), а также мы можем указать, разрешаем ли мы соединяться этому клиенту с определенным IP-адресом. С « Разрешенные IP-адреса »Мы можем отфильтровать исходные IP-адреса, если мы введем 0.0.0.0/0, это означает, что мы разрешаем любой IP-адрес.

    Адрес [Interface] = 192.168.2.1/24
    PrivateKey = 6JcquylvtJsHNCdWrYMj28XsLIFJUVjlr2y5o27rO2c =
    ListenPort = 51820

    [Peer] PublicKey = 6c12jLkKzgU9len1kQ / 6Fc61xm + LL98TPPlLsri8klE =
    AllowedIPs = 0.0.0.0/0

    Если мы хотим добавить больше «пиров», просто определите их индивидуально в файле конфигурации следующим образом:

    Адрес [Interface] = 192.168.2.1/24
    PrivateKey = 6JcquylvtJsHNCdWrYMj28XsLIFJUVjlr2y5o27rO2c =
    ListenPort = 51820

    [Peer] PublicKey = 6c12jLkKzgU9len1kQ / 6Fc61xm + LL98TPPlLsri8klE =
    AllowedIPs = 0.0.0.0/0

    [Peer] PublicKey = открытый ключ клиента 2
    AllowedIPs = 0.0.0.0/0

    [Peer] PublicKey = открытый ключ клиента 3
    AllowedIPs = 0.0.0.0/0

    Файл конфигурации может называться «wg0.conf», поскольку WireGuard создает виртуальные интерфейсы с этим именем, идеально подходящие для их отличного различия. Чтобы запустить этот файл конфигурации, просто запустите:

    Когда вы запустите его, WireGuard будет отвечать за создание виртуального интерфейса, размещение IP-адреса, MTU и даже создание соответствующих маршрутов в таблице маршрутизации:

    Файл конфигурации для клиентов

    Конфигурация клиента WireGuard довольно проста по сравнению с серверами IPsec или OpenVPN, однако мы должны принять во внимание несколько вещей, которые мы объясним ниже.

    В клиенте нам нужно будет иметь » Интерфейс В этом разделе мы можем указать частный IP-адрес это идентифицирует клиента, когда мы соединяемся. Мы должны помнить, что это VPN L3, поэтому мы можем указать любой частный IP-адрес, который не используется в любой момент времени. Например, в OpenVPN подсетью по умолчанию является 10.8.0.0/24, здесь мы также можем поместить ту же или любую другую подсеть 192.168.2.0/24 (а 192.168.2.1 - это сам сервер, а адрес 192.168.2.2 - с этого момента). быть клиентами, с синтаксисом Адрес «Мы разместим подсеть VPN, которую мы хотим.

    В " PrivateKey »Нам нужно будет ввести закрытый ключ, который мы ранее сгенерировали для клиента.

    Наконец, с « Конечная точка »В директиве мы определим публичный IP-адрес сервера, на котором работает WireGuard VPN, за которым следуют две точки (:) используемого порта UDP. Мы должны помнить, что WireGuard использует UDP, поэтому мы не должны фильтровать его на брандмауэрах.

    Программное обеспечение и связь с WireGuard стараются пройти максимально незамеченными, если они не используются, то есть они не отправляют данные через VPN непрерывно, чтобы туннель оставался активным, что идеально подходит для экономии заряда батареи и мобильных данных на смартфонах. В большинстве обычных конфигураций это работает отлично, но если мы находимся за NAT или брандмауэр, возможно, что связь прервана из-за того, что данные не передаются, поэтому необходимо настроить «поддержку активности». Чтобы настроить Keep Alive, просто укажите директиву «PersistentKeepAlive» и введите целое число, которое означает секунды сохранения активности. Согласно официальной документации, установки 25 секунд достаточно для большинства межсетевых экранов и систем NAT, если мы установим 0, это отключает эту функцию. Если мы находимся за NAT или межсетевым экраном и хотим получать входящие соединения после долгого времени без трафика, эта директива будет необходима, в противном случае мы не сможем ее поставить.

    [Interface] PrivateKey = yPMpP2raY4FoCEJkmzQMlxzm / 6RBIW9HkjY6pVFIOnI =
    Адрес = 192.168.2.2/32

    [Peer] PublicKey = xeTkJjjBUyp8paxTgajwDa + qWjrD2RpXlJRSHMwcGDQ =
    AllowedIPs = 0.0.0.0/0
    Конечная точка = 10.10.2.86:51820

    В операционных системах Windows мы можем импортировать эту же конфигурацию, и она будет готова к подключению, хотя мы можем подключиться с нуля к клиенту, но мы должны «передать» сгенерированный открытый ключ на сервер WireGuard.


    Также очень важно просмотреть журналы WireGuard, чтобы убедиться, что VPN-соединение установлено правильно. Мы не можем поместить в раздел «Интерфейс / Адрес» частный IP-адрес, который уже используется в клиентах Windows, так как у нас будет ошибка в соединении.


    Как вы уже видели, конфигурация WireGuard VPN действительно проста и быстра

    Производительность WireGuard VPN по сравнению с L2TP / IPsec и OpenVPN

    В RedesZone мы проверили производительность WireGuard VPN по сравнению с L2TP / IPsec и OpenVPN, тесты проводились в локальной сети, чтобы избежать проблем с оператором, поэтому мы можем измерить реальную максимальную производительность, которая может предоставить нам аппаратное обеспечение

    • QNAP TS-1277: процессор AMD Ryzen 7 2700; Оперативная память: 64GB RAM DDR4; Сетевое подключение: QNAP QXG-10G2T-107 со скоростью 10 Гбит / с с кабелем Cat7 и Переключатель D-Link DXS-1210-10TS .
    • Программное обеспечение VPN для L2TP / IPsec и OpenVPN (с использованием UDP) - QVPN 2 от QNAP
    • Во втором тесте с OpenVPN (используя UDP) и AES-256-GCM мы использовали Virtualization Station с Debian.
    • iperf3 устанавливается вручную в QTS, а также в виртуализированном Debian.


    • ПК с процессором AMD Ryzen 7 3800x; Оперативная память: 32 ГБ оперативной памяти DDR4 3200 МГц; Сетевое подключение: ASUS XG-C100C на скорости 10 Гбит / с с кабелем CAT7 и Переключатель D-Link DXS-1210-10TS для соединения обоих устройств , Операционная система, использованная в тестах: Windows 10 1909.
    • Windows 10 L2TP / IPsec клиент
    • Последняя версия OpenVPN (2.4.8)
    • iperf 3 в Windows 10.

    Результаты, полученные в ходе испытаний, следующие:


    Как видите, реальная скорость WireGuard в два раза выше, чем у L2TP / IPsec или OpenVPN, поэтому мы можем сказать, что этот VPN действительно быстрый.

    Мы надеемся, что это руководство по установке поможет вам, и вы можете легко развернуть серверы и клиенты WireGuard для безопасного подключения к нашему дому, бизнесу или Интернету из любого места безопасным способом.

    Читайте также: