WireGuard ба ядрои Linux "меояд" - чаро?

Дар охири моҳи июл, таҳиягарони нақби WireGuard VPN пешниҳод карданд маҷмӯи патч, ки нармафзори нақби VPN-и онҳоро як қисми ядрои Linux хоҳад кард. Аммо санаи дақиқи татбиқи «идея» маълум нест. Дар зер буриш мо дар бораи ин асбоб муфассалтар сӯҳбат хоҳем кард.

WireGuard ба ядрои Linux "меояд" - чаро?
/ сурат Тамбако Ягуар CC

Дар бораи лоиҳа мухтасар

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 "меояд" - чаро?
/ сурат Андерс Ҳойбжерг CC

Барои насб кардан ба шумо тақсимот бо ядрои 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

Радиои Озодӣ истифода намебарад интерфейс барои кор бо провайдери крипто CryptoAPI. Ба ҷои ин, рамзи ҷараён истифода мешавад ЧаКаXНумX, криптографӣ варақаи тақлид Poly1305 ва функсияҳои хэши криптографии хусусӣ.

Калиди махфӣ бо истифода аз он тавлид мешавад Протоколи Диффи-Хелман дар асоси каҷи эллиптикӣ Курсӣ25519. Ҳангоми ҳашинг, онҳо истифода мебаранд функсияҳои hash Блейк2 и SipHash. Аз сабаби формати тамғаи вақт TAI64N протокол бастаҳоро бо арзиши тамғаи вақт камтар мепартояд, ба ин васила пешгирии DoS- и ҳамлаҳои такрорӣ.

Дар ин ҳолат, WireGuard функсияи ioctl-ро барои идоракунии I/O (қаблан истифода мешуд netlink), ки кодро тозатар ва соддатар мекунад. Шумо метавонед инро тавассути дидан тафтиш кунед рамзи конфигуратсия.

Нақшаҳои таҳиякунанда

Дар айни замон, WireGuard як модули ядрои берун аз дарахт аст. Аммо муаллифи лоиҳа Ҷейсон Доненфелд мебошад мегӯяд, ки вақти татбиқи пурра дар ядрои Linux расидааст. Чунки он нисбат ба дигар ҳаллиҳо соддатар ва боэътимодтар аст. Ҷейсон дар ин бора дастгирӣ мекунад ҳатто худи Линус Торвалдс рамзи WireGuard-ро "асари санъат" номид.

Аммо касе дар бораи санаҳои дақиқи ворид кардани WireGuard ба ядро ​​​​сухан намегӯяд. ВА душвор ин бо баровардани ядрои августи Linux 4.18 рӯй медиҳад. Аммо, эҳтимол дорад, ки ин дар ояндаи наздик рӯй диҳад: дар версияи 4.19 ё 5.0.

Вақте ки WireGuard ба ядро ​​илова карда мешавад, таҳиягарон мехоҳед барномаро барои дастгоҳҳои Android анҷом диҳед ва ба навиштани барнома барои iOS оғоз кунед. Инчунин нақшаҳо мавҷуданд, ки татбиқҳоро дар Go ва Rust анҷом дода, онҳоро ба macOS, Windows ва BSD интиқол диҳанд. Инчунин татбиқи WireGuard барои "системаҳои экзотикӣ" ба нақша гирифта шудааст: DPDK, FPGA, инчунин бисьёр чизҳои ҷолиб. Ҳамаи онҳо дар рӯйхат оварда шудаанд рӯйхати кор муаллифони лоиҳа.

PS Чанд мақолаи дигар аз блоги корпоративии мо:

Самти асосии фаъолияти мо пешниҳоди хидматҳои абрӣ мебошад:

Инфрасохтори виртуалӣ (IaaS) | Хостинги PCI DSS | Абри ФЗ-152 | Хостинги SAP | Нигоҳдории виртуалӣ | Рамзгузории маълумот дар абр | Нигоҳдории абрӣ

Манбаъ: will.com

Илова Эзоҳ