في نهاية يوليو ، اقترح مطورو نفق WireGuard VPN
مجموعة من التصحيحات التي ستجعل برنامج تنظيم نفق VPN جزءًا من نواة لينكس. ومع ذلك ، لا يزال التاريخ المحدد لتنفيذ "الفكرة" غير معروف. تحت القط ، سنتحدث عن هذه الأداة بمزيد من التفصيل.
/ photo Tambako The Jaguar CCباختصار عن المشروع
WireGuard هو نفق VPN من الجيل التالي تم إنشاؤه بواسطة Jason A. Donenfeld ، رئيس 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 Mbit / s مقابل 258 Mbit / s ، على التوالي. تقدم WireGuard حل Linux IPsec القياسي - 881 ميجابت في الثانية. يتفوق عليه من حيث سهولة الإعداد.
بعد تبادل المفاتيح (تتم تهيئة اتصال VPN تقريبًا كما هو الحال في SSH) وإنشاء الاتصال ، يحل WireGuard بشكل مستقل جميع المهام الأخرى: لا داعي للقلق بشأن التوجيه ومراقبة الحالة ، وما إلى ذلك. ستحتاج جهود التكوين الإضافية إلى التطبيق فقط إذا كنت ترغب في استخدام التشفير المتماثل.
/ photo Anders Hojbjerg CCللتثبيت ، تحتاج إلى توزيع مع نواة Linux "الأقدم" 4.1. يمكن العثور عليها في مستودعات توزيعات لينكس الرئيسية.
$ 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 واجهة للعمل مع موفر التشفير
CryptoAPI . بدلاً من ذلك ، يقوم تشفير الدفق
ChaCha20 بتقليد التشفير بإدخال Poly1305 ويتم استخدام وظائف تجزئة التشفير الخاصة به.
يتم إنشاء المفتاح السري باستخدام
بروتوكول Diffie-Hellman استنادًا إلى المنحنى البيضاوي
Curve25519 . يستخدم Hashing
دالات التجزئة BLAKE2 و
SipHash . بسبب تنسيق الطابع الزمني
TAI64N ، يتجاهل البروتوكول الحزم ذات قيمة طابع زمني أقل ، وبالتالي
يمنع DoS ويعيد الهجمات .
في الوقت نفسه ، تستخدم WireGuard وظيفة ioctl للتحكم في الإدخال / الإخراج (المستخدمة في استخدام
Netlink ) ، مما يجعل الشفرة أكثر نظافة وبساطة. يمكنك التحقق من ذلك من خلال النظر إلى
رمز التكوين .
خطط المطورين
حتى الآن ، WireGuard هي وحدة نواة خارج الشجرة. لكن مؤلف المشروع جايسون دوننفيلد
يقول إن الوقت قد حان للتنفيذ الكامل في نواة لينكس. لأنه أبسط وأكثر موثوقية من الحلول الأخرى. يتم
دعم Jason في هذا الصدد حتى من قبل Linus Torvalds نفسه - وصف رمز WireGuard بأنه "عمل فني".
ولكن لا أحد يتحدث عن التواريخ الدقيقة لإدخال WireGuard في النواة. ومن غير
المحتمل أن يحدث هذا مع إصدار نواة Linux Linux 4.18. ومع ذلك ، من المحتمل أن يحدث هذا في المستقبل القريب جدًا: في الإصدار 4.19 أو 5.0.
عند إضافة WireGuard إلى النواة ،
يرغب المطورون
في تحسين التطبيق لأجهزة Android والبدء في كتابة تطبيق لنظام iOS. بالإضافة إلى ذلك ، من المخطط استكمال التطبيقات على Go و Rust ونقلها إلى macOS و Windows و BSD. ومن المخطط أيضًا تطبيق WireGuard لمزيد من "الأنظمة الغريبة":
DPDK و
FPGA ، بالإضافة إلى العديد من الأشياء الأخرى المثيرة للاهتمام. كلهم مدرجون في
قائمة تأليف مؤلفي المشروع.
ملاحظة: بعض المقالات من مدونة الشركة:
الاتجاه الرئيسي لنشاطنا هو توفير الخدمات السحابية:
البنية التحتية الافتراضية (IaaS) | استضافة PCI DSS | كلاود FZ-152 | استضافة SAP | التخزين الظاهري | تشفير البيانات في السحابة | التخزين السحابي