Wireguard «Приедет» В Ядро ​​Linux — Почему?

В конце июля разработчики VPN-туннеля WireGuard предложили набор патчей , что сделает их программное обеспечение для туннелирования VPN частью ядра Linux. Однако точная дата реализации «идеи» остается неизвестной.

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



WireGuard «приедет» в ядро ​​Linux — почему?

/ Фото Тамбако Ягуар СС



Коротко о проекте

WireGuard — это VPN-туннель нового поколения, созданный Джейсоном А.

Доненфельдом, генеральным директором Edge Security. Проект был разработан как упрощенный и быстрая альтернатива OpenVPN и IPsec. Первая версия продукта содержала всего 4 тысячи строк кода.

Для сравнения, у OpenVPN около 120 тысяч линий, а у IPSec — 420 тысяч.

К слова разработчики, WireGuard легко настраивается и обеспечивается безопасность протокола с помощью проверенных криптографических алгоритмов .

При смене сети : Wi-Fi, LTE или Ethernet необходимо каждый раз повторно подключаться к VPN-серверу.

Серверы WireGuard не разрывают соединение, даже если пользователь получил новый IP-адрес.

Несмотря на то, что WireGuard изначально разрабатывался для ядра Linux, разработчики взят под опеку и о портативной версии инструмента для устройств Android. Приложение еще не до конца разработано, но вы можете опробовать его уже сейчас.

Для этого вам нужно стань одним из тестировщиков .

В целом WireGuard довольно популярен и даже был реализован несколько провайдеров VPN, таких как Mullvad и AzireVPN. Опубликовано в Интернете большое количество руководства по настройке это решение.

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



Технические детали

В официальная документация (стр.

18) отмечается, что пропускная способность WireGuard в четыре раза выше, чем у OpenVPN: 1011 Мбит/с против 258 Мбит/с соответственно.

WireGuard также опережает стандартное решение для Linux IPsec — у него 881 Мбит/с.

Он также превосходит его по простоте настройки.

После обмена ключами (VPN-соединение инициализируется так же, как SSH) и соединения установлено, WireGuard самостоятельно справляется со всеми остальными задачами: нет необходимости беспокоиться о маршрутизации, контроле состояния и т. д. Дополнительные усилия по настройке окажутся лишь незначительными.

требуется, если вы хотите использовать симметричное шифрование.



WireGuard «приедет» в ядро ​​Linux — почему?

/ Фото Андерс Хойбьерг СС Для установки вам понадобится дистрибутив с ядром Linux старше 4.1. Его можно найти в репозиториях основных дистрибутивов Linux.

  
   

$ sudo add-apt-repository ppa:hda-me/wireguard $ sudo apt update $ sudo apt install wireguard-dkms wireguard-tools

Как отмечают редакторы xakep.ru, самостоятельная сборка из исходных текстов также несложна.

Достаточно открыть интерфейс и сгенерировать публичный и приватный ключи:

$ sudo ip link add dev wg0 type wireguard $ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard не использует интерфейс для работы с криптопровайдером КриптоAPI .

Вместо этого используется потоковый шифр.

ЧаЧа20 , криптографический имитация вставки Poly1305 и собственные криптографические хэш-функции.

Секретный ключ генерируется с помощью Протокол Диффи-Хеллмана на основе эллиптической кривой Кривая25519 .

При хешировании они используют хеш-функции БЛЕЙК2 И СипХэш .

Из-за формата временной метки ТАЙ64Н протокол отбрасывает пакеты с меньшим значением временной метки, тем самым предотвращение DoS- И повторные атаки .

В этом случае WireGuard использует функцию ioctl для управления вводом/выводом (ранее использовавшаяся Нетлинк ), что делает код чище и проще.

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



Планы разработчиков

На данный момент WireGuard представляет собой внешний модуль ядра.

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

Джейсон в этом отношении поддерживает даже сам Линус Торвальдс назвал код WireGuard «произведением искусства».

Но о точных сроках внедрения WireGuard в ядро никто не говорит. И едва ли это произойдет с выпуском августовского ядра Linux 4.18. Однако есть вероятность, что это произойдет в самое ближайшее время: в версии 4.19 или 5.0. Когда WireGuard добавляется в ядро, разработчики хотеть доработать приложение для Android-устройств и приступить к написанию приложения для iOS. Также планируется завершить реализацию на Go и Rust и перенести их на macOS, Windows и BSD. Также планируется реализовать WireGuard для более «экзотических систем»: ДПДК , ПЛИС , а также много других интересных вещей.

Все они перечислены в список дел авторы проекта.




P.S. Еще несколько статей из нашего корпоративного блога: Облачные технологии в финансовом секторе: опыт российских компаний Тестирование дисковой системы в облаке Что скрывается за термином vCloud Director – взгляд изнутри


Основным направлением нашей деятельности является предоставление облачных услуг: Виртуальная инфраструктура (IaaS) | PCI DSS-хостинг | Облако ФЗ-152 | SAP-хостинг | Виртуальное хранилище | Шифрование данных в облаке | Облачное хранилище Теги: #linux #разработка Linux #Системное администрирование #Системный анализ и проектирование #конфигурация Linux #ядро #WireGuard #it-grad
Вместе с данным постом часто просматривают: