Что это такое?
Это настройка туннелей Wireguard.
Зачем это нужно?
Для эффективной и безопасной передачи пакетов IP через сеть общего пользования.
Особенности туннеля Wireguard и требования для его создания:
Wireguard — один из наиболее современных протоколов для построения безопасных туннелей, разработанный с учётом опыта всех предшествующих типов VPN, присущих им достоинств и недостатков.
- По туннелю передаются любые пакеты IP, с любым содержимым вышестоящих уровней.
- Интерфейс Wireguard может работать как в режиме "точка-точка", так и в режиме "точка-многоточка" как для вызывающей, так и для отвечающей стороны.
- В качестве нижележащего протокола используется UDP. Номер используемого порта должен быть известным и постоянным только на отвечающей стороне туннеля, но если необходимо (например, для настройки фильтров), то он может быть зафиксирован и на вызывающей стороне.
- Для отвечающей стороны необходим статический IP-адрес. Она может находиться за Destination NAT, но в этом случае в NAT должен быть настроен проброс нужного порта UDP.
- IP-адрес вызывающей стороны может быть произвольным, в т.ч. динамическим и/или приватным. Клиент может находиться за Source NAT или Masquerading.
- Для защиты данных используются современные высоконадёжные и эффективные алгоритмы: шифр ChaCha20 (256 бит), аутентификация данных Poly1305 (128 бит), асимметричные ключи на основе эллиптических кривых Curve25519 (256 бит). При этом по производительности (время ping, пропускная способность) Wireguard превосходит IPsec на 20%, а OpenVPN — приблизительно в 4 раза. (Данные не совсем полны, поскольку при измерениях не удалось достичь для WireGuard 100% загрузки процессора, трафик был ограничен пропускной способностью канала Gigabit Ethernet.)
- Структура безопасности разработана с учётом известных типов сетевых атак. Предусмотрена возможность дополнительного шифрования с симметричным ключом (256 бит), что предположительно должно выдерживать попытки подслушивания трафика и подбора ключей к нему путём "грубой силы" даже после появления квантовых компьютеров в сколько-либо обозримом будущем.
- Конфигурация WireGuard максимально упрощена. В частности, она избегает ненужного дублирования и конфликтов с общими системными настройками (IP-адреса, маршруты).
Более подробная информация о Wireguard представлена на сайте разработчика.
Как это настроить?
Для добавления интерфейсов Wireguard используйте команды +
, _new
или _insert
. Имя следует вводить в формате wgНомер
или только целочисленный номер. Данный список является именованным и не упорядочивается автоматически. Для удаления используйте команду -
или _remove
. Подробнее см. справку во вложенных узлах.
Что делать, если это не работает?
- Проверить итоговый конфигурационный файл и средства отладки для данного экземпляра Wireguard.
- Проверить распределение IP-адресов и наличие маршрутов, относящихся к данному туннелю, на обеих сторонах соединения.