VPN WireGuard התקבל לסניף ה-net-next והוא מיועד להכללה בליבת Linux 5.6

דיוויד מילר (דיוויד ס. מילר), אחראי על תת-מערכת הרשת של ליבת לינוקס, קיבל את לסניף נטו-הבא טלאים עם הטמעת ממשק ה-VPN מהפרויקט WireGuard. בתחילת השנה הבאה, שינויים שהצטברו בסניף net-next יהוו את הבסיס לשחרור ליבת לינוקס 5.6.

ניסיונות לדחוף את קוד ה-WireGuard לתוך הליבה הראשית נעשו במהלך השנים האחרונות, אך נותרו כושלים בשל היותו קשור למימושים קנייניים של פונקציות קריפטוגרפיות ששימשו לשיפור הביצועים. בתחילה, פונקציות אלה היו מוּצָע עבור הליבה כ-Zinc API נוסף ברמה נמוכה, שיכול בסופו של דבר להחליף את ה-Crypto API הסטנדרטי.

לאחר דיונים בכנס מתכוני קרנל, יוצרי WireGuard בספטמבר קיבל החלטת פשרה העבר את התיקונים שלך לשימוש ב-Crypto API הזמין בליבה, אליו יש למפתחי WireGuard תלונות בתחום הביצועים והאבטחה הכללית. הוחלט להמשיך ולפתח את ה-Zinc API, אך כפרויקט נפרד.

בנובמבר, מפתחי ליבה הלך בתגובה לפשרה והסכים להעביר חלק מהקוד מ-Zinc לגרעין הראשי. בעיקרו של דבר, חלק ממרכיבי אבץ יועברו לליבה, אך לא כ-API נפרד, אלא כחלק מתת-המערכת של Crypto API. לדוגמה, ה-Crypto API כבר כלול יישומים מהירים של האלגוריתמים ChaCha20 ו-Poly1305 שהוכנו ב-WireGuard.

בקשר לאספקה ​​הקרובה של WireGuard בליבה הראשית, מייסד הפרויקט объявил לגבי ארגון מחדש של המאגר. כדי לפשט את הפיתוח, המאגר המונוליטי "WireGuard.git", אשר תוכנן להתקיים במנותק, יוחלף בשלושה מאגרים נפרדים, המתאימים יותר לארגון עבודה עם קוד בליבה הראשית:

  • wireguard-linux.git - עץ ליבה שלם עם שינויים מפרויקט Wireguard, שממנו תיקונים ייבדקו לצורך הכללה בקרנל ויועברו באופן קבוע לענפי net/net-next.
  • wireguard-tools.git - מאגר עבור כלי עזר וסקריפטים הפועלים במרחב המשתמש, כגון wg ו-wg-quick. ניתן להשתמש במאגר ליצירת חבילות להפצות.
  • wireguard-linux-compat.git - מאגר עם גרסה של המודול, מסופק בנפרד מהקרנל וכולל את שכבת compat.h כדי להבטיח תאימות עם גרעינים ישנים יותר. הפיתוח העיקרי יתבצע במאגר wireguard-linux.git, אך כל עוד יש הזדמנות וצורך בקרב המשתמשים, גרסה נפרדת של התיקונים תתמוך גם בצורת עבודה.

נזכיר לכם ש-VPN WireGuard מיושם על בסיס שיטות הצפנה מודרניות, מספק ביצועים גבוהים מאוד, קל לשימוש, ללא סיבוכים והוכיח את עצמו במספר פריסות גדולות המעבדות נפחי תעבורה גדולים. הפרויקט מתפתח משנת 2015, עבר ביקורת ו אימות פורמלי שיטות הצפנה בשימוש. תמיכת WireGuard כבר משולבת ב-NetworkManager וב-systemd, ותיקוני ליבה כלולים בהפצות הבסיסיות דביאן לא יציב, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, סובגרף и ALT.

WireGuard משתמש בקונספט של ניתוב מפתחות הצפנה, הכולל הצמדת מפתח פרטי לכל ממשק רשת ושימוש בו כדי לאגד את המפתחות הציבוריים. מפתחות ציבוריים מוחלפים כדי ליצור חיבור בצורה דומה ל-SSH. כדי לנהל משא ומתן על מפתחות ולהתחבר מבלי להפעיל דמון נפרד במרחב המשתמש, מנגנון Noise_IK מ מסגרת פרוטוקול רעשדומה לתחזוקת המפתחות המאושרים ב-SSH. העברת הנתונים מתבצעת באמצעות אנקפסולציה במנות UDP. הוא תומך בשינוי כתובת ה-IP של שרת ה-VPN (נדידה) מבלי לנתק את החיבור ולקבוע מחדש אוטומטית את הלקוח.

להצפנה משמש צופן זרם ChaCha20 ואלגוריתם אימות הודעות (MAC) Poly1305, בעיצובו של דניאל ברנשטיין (דניאל ברנשטיין), טניה לנגה
(טנחה לאנג) ופיטר שוואבה. ChaCha20 ו- Poly1305 ממוקמים כאנלוגים מהירים ובטוחים יותר של AES-256-CTR ו-HMAC, שהטמעת התוכנה שלהם מאפשרת השגת זמן ביצוע קבוע ללא שימוש בתמיכת חומרה מיוחדת. כדי ליצור מפתח סודי משותף, נעשה שימוש בפרוטוקול העקומה האליפטית Diffie-Hellman ביישום CurveXNXX, גם הוצע על ידי דניאל ברנשטיין. האלגוריתם המשמש לגיבוב הוא BLAKE2s (RFC7693).

ב בדיקה Performance WireGuard הפגין תפוקה גבוהה פי 3.9 ותגובתיות גבוהה פי 3.8 בהשוואה ל-OpenVPN (256 סיביות AES עם HMAC-SHA2-256). בהשוואה ל-IPsec (256 סיביות ChaCha20+Poly1305 ו-AES-256-GCM-128), WireGuard מציג שיפור קל בביצועים (13-18%) והשהייה נמוכה יותר (21-23%). הבדיקות בוצעו באמצעות הטמעות מהירות של אלגוריתמי הצפנה שפותחו על ידי הפרויקט - העברה ל-Crypto API הסטנדרטי של הקרנל עלולה להוביל לביצועים גרועים יותר.

 VPN WireGuard התקבל לסניף ה-net-next והוא מיועד להכללה בליבת Linux 5.6

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster