Это настройка данного туннеля Wireguard.
Для эффективной и безопасной передачи пакетов IP через сеть общего пользования.
Обе стороны соединения, теоретически, формально равнозначны. Но в практических задачах, как правило, одна из сторон заведомо является отвечающей (сервером), а другая вызывающей (клиентом), и параметры, критически необходимые в том и в другом случае, различаются. Настройка туннеля состоит из двух основных частей, соответствующих разделам Interface и Peer конфигурационного файла Wireguard:
interface
описываются параметры интерфейса Wireguard данного хоста (кроме Address).peer
описываются параметры партнёра, с которым должен совокупляться данный хост. Интерфейс Wireguard может иметь одновременно несколько таких партнёров, т.е. работать по схеме "точка-многоточка" как для отвечающей стороны (типичная постановка задачи в роли сервера), так и для вызывающей.Помимо этого, необходимо настроить работу с данным интерфейсом Wireguard со стороны системы:
ifAddress
определить IP-префикс данного интерфейса обычным образом. Эта настройка заменяет собой Address в разделе Interface конфигурационного файла Wireguard. Поскольку интерфейс работает с каждым из партнёров в режиме "точка-точка", то корректное описание подключённой сети по существу необязательно, достаточно указать единственный локальный адрес с маской /32.ip.route
создать маршруты на все подсети, указанные в параметрах allowed-ips
для всех партнёров данного интерфейса, через dev wgНОМЕР
. Маршрутизация выполняется в 2 этапа. Сначала по общей таблице маршрутизации пакет, отправляемый в одну из партнёрских подсетей, должен попасть в выходной интерфейс Wireguard. Далее, в самом Wireguard ищется партнёр, в подсеть которого попадает IP-адрес назначения пакета. Если такой партнёр найден, пакет зашифровывается закрытым ключом данного хоста и отправляется ему.Наиболее сложной на практике частью настройки является аутентификация сторон. Для аутентификации используются асимметричные ключи, т.е. каждая сторона должна иметь свою пару ключей: закрытый (приватный) и открытый (публичный), итого 4 ключа. Свой открытый ключ является принадлежностью своего интерфейса и указывается в узле interface
. Свой открытый ключ хранится там же, но для работы данного хоста он не требуется; его необходимо извлечь и поместить на удалённую сторону в раздел peer
, и наоборот. Обмен ключами производится вручную до начала работы туннеля.
ВНИМАНИЕ! Для обмена ключами необходимо использовать только безопасные методы передачи.
Подробнее см. справку по вложенным узлам, а также man wg.
© Network Systems Group 2015–2024 | Отдел документации |