WireGuard จะ "มา" ในเคอร์เนล Linux - เพราะเหตุใด

เมื่อปลายเดือนกรกฎาคม ผู้พัฒนาอุโมงค์ WireGuard VPN ได้เสนอ ชุดแพทช์ซึ่งจะทำให้ซอฟต์แวร์ VPN tunneling เป็นส่วนหนึ่งของเคอร์เนล Linux อย่างไรก็ตาม ยังไม่ทราบวันที่แน่นอนของการนำ "แนวคิด" ไปใช้ ด้านล่างเราจะพูดถึงเครื่องมือนี้โดยละเอียด

WireGuard จะ "มา" ในเคอร์เนล Linux - เพราะเหตุใด
/ รูปถ่าย ทัมบาโก จากัวร์ 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 Mbit/s นอกจากนี้ยังเหนือกว่าในเรื่องความง่ายในการติดตั้ง

หลังจากแลกเปลี่ยนคีย์แล้ว (การเชื่อมต่อ VPN จะเริ่มต้นเหมือนกับ SSH) และสร้างการเชื่อมต่อแล้ว WireGuard จะจัดการงานอื่น ๆ ทั้งหมดด้วยตัวเอง: ไม่จำเป็นต้องกังวลเกี่ยวกับการกำหนดเส้นทาง การควบคุมสถานะ ฯลฯ ความพยายามในการกำหนดค่าเพิ่มเติมจะเป็นเพียง จำเป็นหากคุณต้องการใช้การเข้ารหัสแบบสมมาตร

WireGuard จะ "มา" ในเคอร์เนล Linux - เพราะเหตุใด
/ รูปถ่าย อันเดอร์ส ฮอยเบิร์ก 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 ไม่ได้ใช้ อินเทอร์เฟซสำหรับการทำงานกับผู้ให้บริการ crypto CryptoAPI. จะใช้รหัสสตรีมแทน ชะชะช่า 20, การเข้ารหัส เม็ดมีดเลียนแบบ Poly1305 และฟังก์ชันแฮชการเข้ารหัสที่เป็นกรรมสิทธิ์

รหัสลับถูกสร้างขึ้นโดยใช้ โปรโตคอล Diffie-Hellman ขึ้นอยู่กับเส้นโค้งรูปไข่ Curve25519. เมื่อแฮชพวกเขาใช้ ฟังก์ชันแฮช เบลค2 и ซิบแฮช. เนื่องจากรูปแบบการประทับเวลา TAI64N โปรโตคอลจะละทิ้งแพ็กเก็ตที่มีค่าประทับเวลาน้อยกว่าด้วยเหตุนี้ ป้องกัน DoS- и เล่นซ้ำการโจมตี.

ในกรณีนี้ WireGuard จะใช้ฟังก์ชัน ioctl เพื่อควบคุม I/O (ใช้ก่อนหน้านี้ เน็ตลิงค์) ซึ่งทำให้โค้ดสะอาดและง่ายขึ้น คุณสามารถตรวจสอบได้โดยดูที่ รหัสการกำหนดค่า.

แผนสำหรับนักพัฒนา

ในตอนนี้ WireGuard เป็นโมดูลเคอร์เนลที่ไม่อยู่ในแผนผัง แต่ผู้เขียนโครงการคือ Jason Donenfeld พูดว่าถึงเวลาแล้วที่จะต้องนำไปใช้งานอย่างเต็มรูปแบบในเคอร์เนล Linux เพราะมันง่ายกว่าและเชื่อถือได้มากกว่าโซลูชั่นอื่นๆ เจสันในเรื่องนี้ รองรับ แม้แต่ Linus Torvalds เองก็เรียกรหัส WireGuard ว่าเป็น "งานศิลปะ"

แต่ไม่มีใครพูดถึงวันที่แน่นอนสำหรับการนำ WireGuard เข้าสู่เคอร์เนล และ แทบจะไม่ สิ่งนี้จะเกิดขึ้นพร้อมกับการเปิดตัวเคอร์เนล Linux เดือนสิงหาคม 4.18 อย่างไรก็ตาม มีความเป็นไปได้ที่สิ่งนี้จะเกิดขึ้นในอนาคตอันใกล้นี้: ในเวอร์ชัน 4.19 หรือ 5.0

เมื่อ WireGuard ถูกเพิ่มเข้าไปในเคอร์เนล นักพัฒนา ต้องการ จัดทำแอปพลิเคชันให้เสร็จสิ้นสำหรับอุปกรณ์ Android และเริ่มเขียนแอปพลิเคชันสำหรับ iOS นอกจากนี้ยังมีแผนที่จะดำเนินการใช้งานใน Go และ Rust ให้เสร็จสมบูรณ์และพอร์ตไปยัง macOS, Windows และ BSD นอกจากนี้ยังมีแผนที่จะใช้ WireGuard สำหรับ “ระบบที่แปลกใหม่” เพิ่มเติม: ปปส, FPGAรวมถึงสิ่งที่น่าสนใจอื่น ๆ อีกมากมาย ทั้งหมดมีระบุไว้ใน รายการสิ่งที่ต้องทำ ผู้เขียนโครงการ

ป.ล. บทความเพิ่มเติมจากบล็อกองค์กรของเรา:

ทิศทางหลักของกิจกรรมของเราคือการให้บริการคลาวด์:

โครงสร้างพื้นฐานเสมือน (IaaS) | โฮสติ้ง PCI DSS | คลาวด์ FZ-152 | SAP โฮสติ้ง | พื้นที่เก็บข้อมูลเสมือน | การเข้ารหัสข้อมูลในระบบคลาวด์ | การจัดเก็บเมฆ

ที่มา: will.com

เพิ่มความคิดเห็น