WireGuard Линукс цөмд "ирнэ" - яагаад?

XNUMX-р сарын сүүлээр WireGuard VPN туннелийн хөгжүүлэгчид санал болгов нөхөөсийн багц, энэ нь тэдний VPN туннелийн програм хангамжийг Линуксийн цөмийн нэг хэсэг болгоно. Гэсэн хэдий ч "санаа" яг хэрэгжих хугацаа тодорхойгүй хэвээр байна. Зүсэлтийн доор бид энэ хэрэгслийн талаар илүү дэлгэрэнгүй ярих болно.

WireGuard Линукс цөмд "ирнэ" - яагаад?
/ гэрэл зураг Тамбако Ягуар CC

Төслийн талаар товчхон

WireGuard бол Edge Security-ийн гүйцэтгэх захирал Жейсон А.Доненфэлдийн бүтээсэн шинэ үеийн VPN туннель юм. Төслийг боловсруулсан хялбаршуулсан мөн OpenVPN болон IPsec-ийн хурдан хувилбар. Бүтээгдэхүүний эхний хувилбар нь ердөө 4 мянган мөр код агуулсан байв. Харьцуулбал, OpenVPN нь 120 мянга, IPSec - 420 мянга орчим мөртэй.

Нь дагуу хөгжүүлэгчдийн хувьд WireGuard нь тохируулахад хялбар бөгөөд протоколын аюулгүй байдлыг хангадаг батлагдсан криптограф алгоритмаар дамжуулан. Сүлжээг өөрчлөх үед: Wi-Fi, LTE эсвэл Ethernet нь үргэлж VPN серверт дахин холбогдох шаардлагатай. Хэрэглэгч шинэ IP хаяг хүлээн авсан ч WireGuard серверүүд холболтыг тасалдаггүй.

WireGuard нь анх Linux цөмд зориулагдсан байсан хэдий ч хөгжүүлэгчид анхаарал тавьсан болон Android төхөөрөмжүүдийн зөөврийн хувилбарын тухай. Аппликешн нь бүрэн боловсруулагдаагүй байгаа ч та одоо туршиж үзэх боломжтой. Үүний тулд танд хэрэгтэй туршигчдын нэг болно.

Ерөнхийдөө WireGuard нь нэлээд алдартай бөгөөд тэр ч байтугай байсан хэрэгжүүлсэн Mullvad болон AzireVPN зэрэг хэд хэдэн VPN үйлчилгээ үзүүлэгч. Онлайнаар нийтэлсэн олон тооны тохиргооны гарын авлага энэ шийдвэр. Жишээлбэл, хөтөч байдаг, хэрэглэгчдийн бүтээсэн бөгөөд гарын авлага байдаг, төслийн зохиогчдын бэлтгэсэн.

Техникийн дэлгэрэнгүй мэдээлэл

В албан ёсны баримт бичиг (х. 18) WireGuard-ийн нэвтрүүлэх чадвар OpenVPN-ээс дөрөв дахин их байгааг тэмдэглэжээ: 1011 Мбит/с, 258 Мбит/с. WireGuard нь Linux IPsec-ийн стандарт шийдлээс түрүүлж байна - 881 Мбит/с. Энэ нь суулгахад хялбар байдлаараа ч давж гардаг.

Түлхүүрүүдийг солилцсоны дараа (VPN холболтыг SSH-тэй адил эхлүүлсэн) болон холболтыг үүсгэсний дараа WireGuard бусад бүх ажлыг бие даан гүйцэтгэдэг: чиглүүлэлт, төлөвийн хяналт гэх мэтийн талаар санаа зовох шаардлагагүй болно. Хэрэв та тэгш хэмтэй шифрлэлтийг ашиглахыг хүсвэл шаардлагатай.

WireGuard Линукс цөмд "ирнэ" - яагаад?
/ гэрэл зураг Андерс Хойбжерг CC

Суулгахын тулд танд 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 ашигладаггүй крипто үйлчилгээ үзүүлэгчтэй ажиллах интерфейс Криптоапи. Үүний оронд урсгалын шифрийг ашигладаг ChaCha20, криптограф дуураймал оруулга Poly1305 болон хувийн криптограф хэш функцууд.

Нууц түлхүүрийг ашиглан үүсгэсэн Диффи-Хеллман протокол зууван муруй дээр үндэслэсэн Муруй25519. Хэшг хийх үед тэд ашигладаг хэш функцууд БЛЭК2 и SipHash. Цагийн тэмдэглэгээний форматтай холбоотой TAI64N Протокол нь цаг хугацааны тэмдэгтийн бага утгатай пакетуудыг устгадаг DoS-аас урьдчилан сэргийлэх и довтолгоонуудыг давтах.

Энэ тохиолдолд WireGuard нь I/O-г удирдахын тулд ioctl функцийг ашигладаг (өмнө нь ашиглаж байсан сүлжээний холбоос), энэ нь кодыг илүү цэвэр, хялбар болгодог. Та үүнийг харах замаар баталгаажуулж болно тохиргооны код.

Хөгжүүлэгчийн төлөвлөгөө

Одоогоор WireGuard бол модноос гадуурх цөмийн модуль юм. Харин төслийн зохиогч нь Жейсон Доненфельд юм гэж хэлэв, Линукс цөмд бүрэн хэрэгжүүлэх цаг нь болсон. Учир нь энэ нь бусад шийдлүүдээс илүү энгийн бөгөөд найдвартай байдаг. Энэ талаар Жейсон дэмждэг Тэр ч байтугай Линус Торвалдс өөрөө WireGuard кодыг "урлагийн бүтээл" гэж нэрлэсэн.

Гэхдээ WireGuard-ийг цөмд нэвтрүүлэх яг огнооны талаар хэн ч ярихгүй байна. БА бараг биш Энэ нь 4.18-р сард Линуксийн цөмийн 4.19 хувилбарыг гаргаснаар тохиолдох болно. Гэсэн хэдий ч, энэ нь маш ойрын ирээдүйд тохиолдох магадлал бий: 5.0 эсвэл XNUMX хувилбар дээр.

WireGuard цөмд нэмэгдэхэд хөгжүүлэгчид хүсч байна Андройд төхөөрөмжүүдийн програмыг дуусгаж, iOS-д зориулсан програм бичиж эхлээрэй. Мөн Go болон Rust программуудын хэрэгжилтийг дуусгаж, тэдгээрийг macOS, Windows болон BSD руу шилжүүлэхээр төлөвлөж байна. Түүнчлэн WireGuard-ийг илүү "чамин системүүд"-д хэрэгжүүлэхээр төлөвлөж байна. DPDK, FPGA, түүнчлэн бусад олон сонирхолтой зүйлс. Бүгдийг жагсаалтад оруулсан болно хийх зүйлсийн жагсаалт төслийн зохиогчид.

Жич Манай байгууллагын блогоос цөөн хэдэн нийтлэл:

Бидний үйл ажиллагааны үндсэн чиглэл бол үүлэн үйлчилгээ үзүүлэх явдал юм.

Виртуал дэд бүтэц (IaaS) | PCI DSS хостинг | Cloud FZ-152 | SAP хостинг | Виртуал хадгалах сан | Клоуд дахь өгөгдлийг шифрлэх | Үүл хадгалах

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх