В конце июля разработчики VPN-туннеля WireGuard предложили набор патчей , что сделает их программное обеспечение для туннелирования VPN частью ядра 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 самостоятельно справляется со всеми остальными задачами: нет необходимости беспокоиться о маршрутизации, контроле состояния и т. д. Дополнительные усилия по настройке окажутся лишь незначительными.
требуется, если вы хотите использовать симметричное шифрование.
/ Фото Андерс Хойбьерг СС
Для установки вам понадобится дистрибутив с ядром Linux старше 4.1. Его можно найти в репозиториях основных дистрибутивов Linux.
Как отмечают редакторы xakep.ru, самостоятельная сборка из исходных текстов также несложна.$ sudo add-apt-repository ppa:hda-me/wireguard $ sudo apt update $ sudo apt install wireguard-dkms wireguard-tools
Достаточно открыть интерфейс и сгенерировать публичный и приватный ключи: $ 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
-
Yahoo Приобрела Домен Flicker.com
19 Oct, 24 -
Так Что Же Такое «Техническая Спецификация»?
19 Oct, 24 -
Эсперанто, Эльфийский И Клингонский
19 Oct, 24 -
Linkmeup. Выпуск 1
19 Oct, 24