WireGuard „მოვა“ არსამდე Linux - რატომ?

ივლისის ბოლოს, VPN გვირაბის შემქმნელებმა WireGuard შემოთავაზებული პატჩის ნაკრები, რაც მათ 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-core, დეველოპერები უვლიდა და ინსტრუმენტის პორტატული ვერსიის შესახებ Android-მოწყობილობები. აპლიკაცია ჯერ სრულად არ არის შემუშავებული, მაგრამ შეგიძლიათ ახლავე სცადოთ. ამისათვის საჭიროა გახდი ერთ-ერთი ტესტერი.

ზოგადად, WireGuard საკმაოდ დიდი პოპულარობით სარგებლობს და იყო კიდეც განხორციელდა რამდენიმე VPN პროვაიდერი, როგორიცაა Mullvad და AzireVPN. გამოქვეყნებულია ონლაინ დიდი რაოდენობით დაყენების სახელმძღვანელო ამ გადაწყვეტილებას. Მაგალითად, არის გიდები, რომლებიც შექმნილია მომხმარებლების მიერ და არის გიდები, მომზადებული პროექტის ავტორების მიერ.

ტექნიკური

В ოფიციალური დოკუმენტაცია (გვ. 18) აღნიშნულია, რომ გამტარუნარიანობა WireGuard ოთხჯერ მეტია, ვიდრე OpenVPN: შესაბამისად, 1011 Mbps 258 Mbps-ის წინააღმდეგ. WireGuard სტანდარტული გადაწყვეტის წინ Linux IPsec-ს აქვს 881 Mbps და ასევე უფრო ადვილია კონფიგურაცია.

გასაღებების გაცვლის შემდეგ (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

WireGuard არ იყენებს ინტერფეისი კრიპტო პროვაიდერთან მუშაობისთვის კრიპტოაპი. ამის ნაცვლად, ნაკადის შიფრი გამოიყენება ChaCha20, კრიპტოგრაფიული იმიტაციური ჩანართი Poly1305 და საკუთრების კრიპტოგრაფიული ჰეშის ფუნქციები.

საიდუმლო გასაღები გენერირდება გამოყენებით დიფი-ჰელმანის პროტოკოლი ელიფსური მრუდის საფუძველზე Curve25519. ჰეშირებისას იყენებენ ჰეშის ფუნქციები ბლეიკი2 и SipHash. დროის ანაბეჭდის ფორმატის გამო TAI64N ამგვარად, პროტოკოლი უგულებელყოფს პაკეტებს უფრო მცირე დროის მნიშვნელობით DoS-ის პრევენცია и განმეორებითი შეტევები.

ამ შემთხვევაში, WireGuard ioctl ფუნქციის მიერ შეყვანის/გამოყვანის კონტროლის საშუალებას იძლევა (ადრე გამოყენებული netlink), რაც კოდს უფრო სუფთა და მარტივს ხდის. ამის გადამოწმება შეგიძლიათ ნახვით კონფიგურაციის კოდი.

დეველოპერის გეგმები

ჯერჯერობით WireGuard — არის ხისგან გამოყოფილი ბირთვის მოდული. თუმცა, პროექტის ავტორი, ჯეისონ დონენფელდი, იგი საუბრობს, რომ ბირთვში სრული იმპლემენტაციის დროა Linuxრადგან ის სხვა გადაწყვეტილებებთან შედარებით უფრო მარტივი და საიმედოა. ჯეისონი ამ მხრივ მხარს უჭერს თვით ლინუს ტორვალდსიც კი - მან დაასახელა კოდი WireGuard „ხელოვნების ნიმუში“.

მაგრამ განხორციელების ზუსტი თარიღების შესახებ WireGuard ბირთვზე ჯერ არავინ საუბრობს. და ძნელად ეს აგვისტოს ნომრის გამოსვლისთანავე მოხდება. Linux kernel 4.18. თუმცა, არსებობს შესაძლებლობა, რომ ეს ძალიან უახლოეს მომავალში მოხდეს: ვერსია 4.19 ან 5.0-ში.

როდესაც WireGuard დაემატება ბირთვს, დეველოპერებს მინდა აპლიკაციის გაუმჯობესება Android-მოწყობილობებს და iOS აპლიკაციის წერის დაწყებას. გარდა ამისა, ჩვენ ვგეგმავთ Go და Rust იმპლემენტაციების დასრულებას და მათ პორტირებას macOS, Windows და BSD. ასევე დაგეგმილია დანერგვა. WireGuard მეტი „ეგზოტიკური სისტემებისთვის“: DPDK, FPGA, ისევე როგორც ბევრი სხვა საინტერესო რამ. ყველა მათგანი ჩამოთვლილია სამუშაოების სია პროექტის ავტორები.

PS კიდევ რამდენიმე სტატია ჩვენი კორპორატიული ბლოგიდან:

ჩვენი საქმიანობის ძირითადი მიმართულებაა ღრუბლოვანი სერვისების მიწოდება:

ვირტუალური ინფრასტრუქტურა (IaaS) | PCI DSS ჰოსტინგი | ღრუბელი FZ-152 | SAP ჰოსტინგი | ვირტუალური საცავი | ღრუბელში მონაცემების დაშიფვრა | ღრუბლოვანი საცავი

წყარო: www.habr.com

შეიძინეთ საიმედო ჰოსტინგი DDoS დაცვის მქონე საიტებისთვის, VPS VDS სერვერებისთვის 🔥 შეიძინეთ საიმედო ვებსაიტის ჰოსტინგი DDoS დაცვით, VPS VDS სერვერები | ProHoster