В края на юли разработчиците на VPN тунела WireGuard предложиха , които ще направят техния софтуер за организация на VPN тунели част от ядрото на Linux. Въпреки това точната дата на реализиране на „идеята“ все още остава неизвестна. Под кат ще говорим по-подробно за този инструмент.
/ фото
Кратко за проекта
WireGuard е VPN тунел от ново поколение, създаден от Джейсън Доненфельд (Jason A. Donenfeld), ръководител на компанията Edge Security. Проектът е разработван като и бърза алтернатива на OpenVPN и IPsec. Първата версия на продукта съдържаше само 4000 реда код. За сравнение, OpenVPN има около 120000 реда, а IPSec — 420000.
Според разработчици, 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.
$ 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 интерфейс за работа с криптографски доставчик . Вместо него, се използва потоково шифроване , криптографичен Poly1305 и собствени криптографски хеш-функции.
Тайнственият ключ се генерира с помощта на на базата на елиптични криви . При хеширането се използват и . Благодарение на формата на времевата печатка протоколът отхвърля пакети с по-малка стойност на времевия печат, по този начин и .
При това WireGuard използва функция ioctl за контрол на входа/изхода (преди това се използваше ), което прави кода по-чист и прост. Можете да се уверите в това, като погледнете .
Плановете на разработчиците
Все още WireGuard е модул на ядрото без дерево. Но авторът на проекта Джейсън Доненфелд , че вече е време за пълна реализация в ядрото на Linux. Тъй като той е по-прост и надежден от другите решения. Джейсън в това отношение дори самият Линус Торвалдс — той нарече кода на WireGuard "произведение на изкуството".
Но за точните дати на внедряване на WireGuard в ядрото все още никой не говори. И това ще се случи с излизането на августовското ядро на Linux 4.18. Въпреки това, има вероятност това да се случи в най-близко бъдеще: в версия 4.19 или 5.0.
Когато WireGuard бъде добавен в ядрото, разработчиците да подобрят приложението за Android устройства и да започнат да пишат приложение за iOS. Освен това, планират да завършат реализациите на Go и Rust и да ги портят на macOS, Windows и BSD. Също така планират реализация на WireGuard за по-"екзотични системи": , , както и множество други интересни неща. Всички те са изброени в на авторите на проекта.
P.S. Няколко статии от нашия корпоративен блог:
Основната насоченост на нашата дейност е предоставяне на облачни услуги:
| | | | | |
Източник: habr.com
