Июль айынын аягында WireGuard VPN туннелин иштеп чыгуучулар сунушташкан патч топтому, бул алардын VPN туннелдик программалык камсыздоосун Linux ядросунун бир бөлүгү кылат. Бирок, “идеянын” ишке ашырыла турган так датасы белгисиз бойдон калууда. Төмөндө биз бул курал жөнүндө кененирээк сүйлөшөбүз.
WireGuard – бул Edge Security компаниясынын башкы директору Джейсон А. Доненфельд тарабынан түзүлгөн жаңы муундагы VPN туннели. Долбоор катары иштелип чыккан жөнөкөйлөтүлгөн жана OpenVPN жана IPsec үчүн тез альтернатива. Продукциянын биринчи версиясында 4 миң сап код гана болгон. Салыштыруу үчүн, OpenVPN 120 миңге жакын линияга ээ, ал эми IPSec - 420 миң.
боюнча сөздөр иштеп чыгуучулар, WireGuard конфигурациялоо оңой жана протоколдун коопсуздугу камсыз кылынат далилденген криптографиялык алгоритмдер аркылуу. Тармакты өзгөртүүдө: Wi-Fi, LTE же Ethernet ар дайым VPN серверине кайра туташуу керек. WireGuard серверлери, колдонуучу жаңы IP дарегин алган күндө да, байланышты токтотпойт.
WireGuard алгач Linux ядросу үчүн иштелип чыккандыгына карабастан, иштеп чыгуучулар камкордукка алынган жана Android түзмөктөрү үчүн куралдын көчмө версиясы жөнүндө. Тиркеме толук иштелип чыга элек, бирок сиз аны азыр сынап көрүүгө болот. Бул үчүн сизге керек сыноочулардын бири болуп саналат.
В расмий документтер (18-бет) WireGuard өткөрүү жөндөмдүүлүгү OpenVPNге караганда төрт эсе жогору экени белгиленген: 1011 Мбит/с каршы 258 Мбит/сек. WireGuard Linux IPsec үчүн стандарттуу чечимден да алдыда турат - ал 881 Мбит/сек. Ал ошондой эле орнотуунун жеңилдиги боюнча андан ашып кетет.
Ачкычтар алмаштырылгандан кийин (VPN туташуусу SSH сыяктуу эле инициализацияланат) жана байланыш орнотулгандан кийин, WireGuard бардык башка тапшырмаларды өз алдынча чечет: маршрутизация, мамлекеттик башкаруу ж.б. жөнүндө тынчсыздануунун кереги жок. Кошумча конфигурация аракеттери симметриялык шифрлөөнү колдонгуңуз келсе, талап кылынат.
xakep.ru редакторлору белгилегендей, булак тексттеринен өзүн өзү чогултуу да оңой. Интерфейсти ачып, ачык жана купуя ачкычтарды түзүү жетиштүү:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard колдонбойт крипто провайдери менен иштөө үчүн интерфейс CryptoAPI. Анын ордуна, агым шифри колдонулат ЧаЧа20, криптографиялык имитация салуучу Poly1305 жана менчик криптографиялык хэш функциялары.
Бул учурда, WireGuard I/O башкаруу үчүн ioctl функциясын колдонот (мурда колдонулган netlink), бул кодду тазараак жана жөнөкөй кылат. Сиз муну карап текшере аласыз конфигурация коду.
Иштеп чыгуучунун пландары
Азырынча, WireGuard дарактан тышкаркы ядро модулу. Бирок долбоордун автору Джейсон Доненфельд Ал сүйлөйт, Linux ядросунда толук ишке ашырууга убакыт келди. Анткени ал башка чечимдерге караганда жөнөкөй жана ишенимдүү. Бул жагынан Джейсон тирөөчү атүгүл Линус Торвалдс өзү WireGuard кодун "көркөм чыгарма" деп атаган.
Бирок WireGuard ядросуна киргизүүнүн так даталары жөнүндө эч ким айтпайт. ЖАНА араң эле бул август Linux ядросунун 4.18 чыгышы менен болот. Бирок, бул абдан жакынкы келечекте болушу мүмкүн: версия 4.19 же 5.0.
WireGuard ядрого кошулганда, иштеп чыгуучулар каалоо Android түзмөктөрү үчүн тиркемени жыйынтыктап, iOS үчүн тиркемени жаза баштаңыз. Ошондой эле Go жана Rust программаларын ишке ашырууну аяктоо жана аларды macOS, Windows жана BSDге өткөрүү пландары бар. Ошондой эле WireGuard дагы "экзотикалык системалар" үчүн ишке ашыруу пландаштырылууда: DPDK, FPGA, ошондой эле башка көптөгөн кызыктуу нерселер. Алардын баары тизмеде көрсөтүлгөн кылуу тизмеси долбоордун авторлору.
PS Биздин корпоративдик блогубуздан дагы бир нече макала: