ამ ორი პროტოკოლის შედარება მხოლოდ მაშინ არის სასარგებლო, როცა ადარებს იმას, რასაც რეალურად იმუშავებთ. WireGuard თანამოაზრეებს საჯარო გასაღებით ცნობს და თავის პროტოკოლს UDP-ზე გადააქვს, მაშინ როცა OpenVPN უფრო ფართო აუთენტიფიკაციის საშუალებებს გვთავაზობს და UDP-ით ან TCP-ით მუშაობს, როცა სერვერი ორივეს გვთავაზობს. ეს განსხვავებები განლაგებასა და სარეზერვო გზას გაცილებით ადრე აყალიბებს, ვიდრე გამტარუნარიანობას. ჩაატარეთ ქვემოთ მოცემული ოთხი შემოწმება რიგითობით; პირველი ორი ჩვეულებრივ წყვეტს არჩევანს, ხოლო ბოლო ორი ამბობს, იყო თუ არა გადაწყვეტილება სწორი.

დაიწყეთ იდენტობით, არა შიფრების სიით

WireGuard-ის თანამოაზრე ინახავს ერთ კერძო გასაღებს და ჩამოთვლის საჯარო გასაღებებს, რომლებამდეც შეიძლება მიაღწიოს. პროვაიდერს შეუძლია ამის გარშემო ანგარიშის პორტალი მოაბას, მაგრამ თავად პროტოკოლს არ აქვს მომხმარებლის სახელისა და პაროლის გაცვლა, ამიტომ ანგარიშის სასიცოცხლო ციკლი ცხოვრობს იმაში, რაც გასაღებებს ანაწილებს. OpenVPN-ს შეუძლია სერტიფიკატები, არსებული დირექტორიის წინააღმდეგ მოქმედი დანამატი ან გადამოწმების სკრიპტი გამოიყენოს, და სწორედ ამიტომ იდენტობის სისტემის მქონე ორგანიზაციები ხშირად მას ანიჭებენ უპირატესობას. არცერთი გადაწყვეტა არ აშორებს კითხვას, როგორ იშლება დაკარგული მოწყობილობა.

DecisionOpenVPNWireGuard
IdentityCertificates, plugins or scripts against an existing directoryOne private key per peer, public keys listed for the peers it may reach
TransportUDP or TCP profiles when the server offers bothUDP only in the native protocol
Routing and DNSServer pushes routes and DNS optionsAllowedIPs maps ranges to peers, and tooling installs the routes
Where it usually breaksProfile mismatch, expired certificate, failing pluginBlocked UDP, wrong AllowedIPs, key not installed

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

შემდეგ ნახეთ, რას უშვებს ტრანსპორტი

WireGuard-ის პროტოკოლი UDP-ს იყენებს. OpenVPN-ის სერვისებს შეუძლიათ როგორც UDP, ისე TCP პროფილები შესთავაზონ, და ქსელში, რომელიც UDP-ს ბლოკავს ან აუარესებს, ეს მეორე ვარიანტი პრაქტიკული სარეზერვო გზაა და არა თეორიული. სერვერმა უნდა დაუჭიროს მხარი თქვენს არჩეულ პროფილს, და პორტის ნომრის შეცვლა გვირაბს HTTPS-ად არ აქცევს და ქსელურ ფარეს დაშვებას არ არწმუნებს.

TCP-ის TCP-ში გადატანა ასევე ცვლის ქცევას დანაკარგის დროს, რადგან ორივე ფენა დამოუკიდებლად იმეორებს ცდას და ხელახლა ალაგებს. TCP პროფილი, რომელიც შემზღუდველ ქსელში მუშაობს, დანაკარგიან ქსელში მაინც შეიძლება ცუდად იმუშაოს, და ეს არის მიზეზი, რომ ორივე პროფილი ხელმისაწვდომი შევინახოთ და არ გამოვაცხადოთ ერთი უკეთესად.

შემდეგ შეამოწმეთ მარშრუტიზაცია და სახელების გარჩევა

WireGuard-ის AllowedIPs მისამართების დიაპაზონებს თანამოაზრეებს უკავშირებს და პროტოკოლის შიგნით მარშრუტიზაციის გადაწყვეტილების როლს ასრულებს, ხოლო გარშემო არსებული ხელსაწყოები ამ დიაპაზონებს მარშრუტების დაყენებისას იყენებენ. OpenVPN სერვერიდან მარშრუტებსა და DNS პარამეტრებს უბიძგებს. ორივე შემთხვევაში კლიენტი შეიძლება ამოვიდეს, მაშინ როცა განზრახული პოლიტიკა მხოლოდ ნახევრადაა გამოყენებული.

ip route show
ip -6 route show
resolvectl status
wg show

წაიკითხეთ გამოსავალი, სანამ დაკავშირების ინდიკატორს დაეყრდნობით. ip route show ჩამოთვლის, რა დააყენა კლიენტმა IPv4-ისთვის, და IPv6 ვარიანტი იჭერს გვირაბს, რომელიც მხოლოდ ერთ ოჯახს ატარებს. resolvectl status აჩვენებს, რომელ გამხსნელს ჰკითხავს კლიენტი რეალურად, და wg show ბეჭდავს იმ AllowedIPs-ს, რომელსაც WireGuard საკუთრად მიიჩნევს. თუ გამხსნელი ჯერ კიდევ ლოკალურ ქსელზე მიუთითებს, მაშინ როცა მარშრუტები სრულ დაფარვას აცხადებენ, DNS გვირაბიდან გარეთ გადის.

შემდეგ გაზომეთ ის ამოცანა, რომელიც გაღელვებთ

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

iperf3 -c 203.0.113.20 -t 30
mtr -rwzbc 50 203.0.113.20

ორივე ბრძანება ორჯერ გაუშვით, თითო პროფილის წყვილზე ერთხელ, იმავე ქსელსა და მოწყობილობაზე. iperf3 გამტარუნარიანობის რიცხვს იძლევა, და mtr გზას და იმას, თუ სად ჩნდება დანაკარგი, რასაც ერთი ჩამოტვირთვის რიცხვი ვერ აჩვენებს. ჩამოტვირთვის რიცხვი ასევე გამოტოვებს იმას, რასაც ზარი ამჩნევს: დამატებულ დაყოვნებას, რხევას და იმას, რამდენს იკავებს ხელახალი დაკავშირება. ცალკე ჩაწერეთ ისინი, რადგან გამტარუნარიანობაში მომგები პროტოკოლი მაინც შეიძლება დამარცხდეს იმ ამოცანაში, რომელსაც რეალურად ასრულებთ.

მართული კავშირისთვის თავსებადობა, მხარდაჭერა და განახლების ძალისხმევა შეიძლება აღემატებოდეს მცირე გაზომვის სხვაობას. პირადი გასასვლელისთვის ოპერატორის ჟურნალირება და იურისდიქცია პროტოკოლის ეტიკეტზე მეტად მნიშვნელოვანია. ორივე პროტოკოლს შეუძლია კარგი კავშირის გადატანა; სერვისი და მისი კონფიგურაცია წყვეტს, რას მიიღებთ.

ტესტამდე ჩამოწერეთ პროფილების წყვილი

გაზომვამდე აირჩიეთ თითო პროფილი თითო პროტოკოლისთვის და ჩაწერეთ, რა უნდა გააკეთოს თითოეულმა: მხოლოდ კერძო ქვექსელები, თუ მთელი ტრაფიკი კონკრეტული გასასვლელით. ტესტი, რომელიც გაყოფილი გვირაბის პროფილს სრული გვირაბის პროფილს ადარებს, პროფილებს ზომავს და არა პროტოკოლებს. კლიენტის სახელი, კლიენტის ვერსია და გასასვლელის მდებარეობა ერთსა და იმავე ჩანაწერში ჩაწერეთ.

შემდეგ იგივე ამოცანა ორივეზე გაუშვით, იმავე ქსელში, იმავე სესიაში. თუ ერთი საერთოდ ვერ უკავშირდება, ეს წარუმატებლობაა შედეგი და ის მიზეზთან ერთად ჩანაწერში უნდა მოხვდეს. ჩანაწერი სერვისის დოკუმენტაციასთან ერთად შეინახეთ, რომ შემდეგმა ადამიანმა იგივე წყვილი შეადაროს და არ დაიწყოს თავიდან.

დაკავშირებული სტატიები