Wireguard

Общие сведения

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

Настройка Wireguard на нашей стороне состоит из следующих основных компонентов:

  • Соединения - в конфигурации Wireguard они называются «интерфейсами» и описывают, как виртуальное устройство wgX на нашей стороне настроено с точки зрения адресации и криптографии.

  • Пиры - это клиенты, которым разрешено подключаться к нам, описываемые их удалённым адресом (опциональным), включая сети, которые разрешено проходить через туннель. Пиры принадлежат одному или нескольким экземплярам.

Соединения

Чтобы настроить соединение, сначала добавляем его в веб-интерфейсе и генерируем пару ключей. Публичный ключ требуется для другого конца туннеля (узла). Также требуется свободный порт для прослушивания. Адреса туннеля настраиваются на устройстве wgX (которое всегда отображается в разделе Интерфейсы ‣ Обзор).

По умолчанию, если параметр Отключить маршруты не установлен, для каждого подключенного узла создаются маршруты к сетям, выбранным в поле Разрешённые IP-адреса. Также можно настроить и только один маршрута шлюза.

Примечание

При выборе адресов туннеля убедитесь, что в заданной сети присутствуют адреса, используемые узлами. Например, при выборе диапазона 10.0.0.1/24 экземпляр wgX будет иметь этот адрес в настройках и сможет принимать узлы, использующие диапазон 10.10.0.2/32.

Совет

Не забудьте создать правило МСЭ, разрешающее трафик на настроенный порт и внутри туннеля.

Пиры

Пиры (узлы) определяют хосты, с которыми будет происодить обмен информации, которые могут быть как мобильными устройствами (road warrior), так и статическими адресами. В последнем случае, необходимо либо указать, либо пропустить параметры Адрес конечной точки и Порт конечной точки. В минимальной конфигурации, потребуется публичный ключ другой стороны. В качестве дополнительной меры безопасности можно использовать предварительно согласованный ключ. Параметр Разрешённые IP-адреса определяет сети, которым разрешён проход через туннель.

Примечание

В большинстве случаев, Разрешённые IP-адреса содержит список сетей, используемых на удалённом хосте и адрес узла (адрес соединения/туннеля), настроенный на другом конце.

Совет

Если требуется устойчивое соединение при прохождении NAT и МСЭ, можно использовать параметр Интервал поддержания соединения (Keepalive), чтобы обмениваться пакетами через заданные интервалы времени для гарантии того, что соединения будет поддерживаться в активном состоянии.

Генератор узлов

При создании учётных данных для авторизации для нескольких клиентов, доступен более удобный способ их генерации - Генератор узлов. Он предлагает простой выбор соединения, для которого надо сгенерировать учётные данные, и сохраняет соответствующие поля, такие как адрес конечной точки, для дальнейшего использования. Он также помогает назначать IP-адреса клиентам на оснвое сети, заданной в соединении.

Предупреждение

Так как IP-адреса сохраняются только при сохранении профиля пользователям (и рассчитываются заранее), невозможно создать пользователей для одного и того же соединения одновременно.

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

Примечание

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

После ввода данных для входа клиента, можно скопировать QR-код или текст из поля Конфигурация, чтобы настроить клиент.

Не забудьте нажать кнопку Сохранить и сгенерировать следующий, чтобы сохранить публичные данные в брандмауэре, а также нажать Применить на странице Узлы, чтобы клиент смог войти в систему.

Высокая доступность (с использованием CARP)

При использовании Wireguard в кластерах высокой доступности актив/пассив (active/passive) только один экземпляр может взаимодействовать с другой стороной. В TING это можно реализовать, выбрав vhid для отслеживания в качестве экземпляра (опция Зависит от (CARP)).

Если экземпляр зависит от vhid CARP, он запросит текущее состояние и определит, должен ли интерфейс быть доступен (в случае ВЕДУЩЕЕ УСТРОЙСТВО); состояние интерфейса (up/down) будет изменено соответствующим образом.

Примечание

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

Совет

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

Диагностика и отладка

В разделе VPN ‣ WireGuard ‣ Статус вы можете найти сконфигурированные соединения и узлы, включая их последнее известное рукопожатие и объёме данных обмена. Для экземпляров также можно увидеть, находится ли соответствующее устройство (wgX) в рабочем состоянии или нет, в зависимости от статуса CARP (описанного в предыдущем разделе).

Совет

Хотя сам WireGuard предоставляет очень ограниченные возможности журналирования, наша процесс настройки фиксирует ошибки и уведомляет о некоторых событиях. При возникновении проблем с настройкой экземпляра или узла, всегда сначала надо проверять журналы в разделе VPN ‣ WireGuard ‣ Журнал.

Предупреждение

При возникновении проблем с обменом пакетами между обоими концами туннеля, надо проверить, содержатся ли в списке Разрешённые IP-адреса в настройках узлов нужные сети. Если входящий трафик не разрешён, он будет незаметно отбрасываться (не отобразится в записях перехвата). Примерно также будет и с исходящим трафиком: в записи перехвата он будет отображаться, но во внешнюю сеть ничего не будет отправлено.

Примечание

Отладка во время работы возможна из консоли с помощью ifconfig (руководство по команде ).

Примеры