Վերջերս WireGuard-ը մեծ ուշադրություն է գրավում, ըստ այդմ՝ այս պահին այն նոր "աստղ" է VPN. Բայց արդյոք այն իսկապես լավ է, ինչպես թվում է? Ես կցանկանայի քննարկել որոշ դիտարկումներ և ուսումնասիրել WireGuard-ի իրականացումը, որպեսզի բացատրեմ, թե ինչու այն փոփոխություն չէ, որը կնետեր IPsec կամ OpenVPN-ին:
Այս հոդվածում ես կցանկանայի մերժել որոշֆ թյուրիմացություններ [WireGuard-ի շուրջ]: Այո, երկար է լինելու, այնպես որ, եթե դուք դեռ չեք պատրաստել ձեր նավակը թեյ կամ սուրճ, հիմա է դրա համար: Եщё ես կընդգծեմ, որ առաջնային շնորհակալություն եմ հայտնում Պիտերոջին իմ խճճված մտքերի խմբագրման համար:
Ես չեմ նպատակաուղղել զարգացնողներին WireGuard-ի ապատեղեկատվություն տարածել կամ նրանց ջանքերը կամ գաղափարները արժեզրկել: Նրանց արտադրանքը աշխատող է, բայց անձամբ ես կարծում եմ, որ այն ներկայացված է բացասական կերպով՝ որպես IPsec և OpenVPN՝ այն ինչն առկա չէ:
Նշելու համապատասխանությունը ուզեցի, որ WireGuard-ի այդպիսի մատչելիությունը կրում է լրատվամիջոցները, որոնք խոսում էին դրա մասին, այլ ոչ թե հենց նախագիծը կամ նրա ստեղծողները:
Վերջերս Linux-ի միջուկի թեմայի շուրջ անբարենպաստ շատ նորություններ չեն եղել: Մեզ պատմել են տառապանքների վտանգավորությունների մասին, որոնք ծրագրային կերպով նվազեցվել են, իսկ Լինուս Տորվալդսը այդ մասին խոսում էր շատ грубо և ձանձրալի, մշակողի գործիքակազմով: Ժամանակի պլանավորողը կամ ցանցային կույտը նույնպես ոչ այնքան պարզ են վառ տպագիր ամսագրերի համար: Եվ այստեղ էր, որ WireGuard բարձրացավ:
Թուղթում ամեն ինչ կարծես լավ է: Ակցիզող նոր տեխնոլոգիա:
Բայց եկեք նայենք դրան ավելի ուշ:
WireGuard-ի տեխնիկական փաստաթղթավորումը
Այս հոդվածը հիմնված է WireGuard-ի պաշտոնական փաստաթղթավորման վրա, որը գրել է Ջեյսոն Դոնենֆելդը: Այստեղ նա բացատրում է [WireGuard]-ի գաղափարը, նպատակները և տեխնիկական իրականացումը Linux-ի միջուկում:
Առաջին հայտարարությունը ասում է:
WireGuard […] ձգտում է փոխարինել IPsec-ի գերակշիռ դեպքերում, ինչպես նաև այլ տարածված լուծումների օգտակարությունը, ինչպես OpenVPN-ը, մինչդեռ արդյոք ավելի անվտանգ, արդյունավետ և հեշտ է օգտագործել [գործիք]:
Իհարկե, բոլոր նոր տեխնոլոգիաների գլխավոր առավելությունը՝ դա իրենց բաշկունցությունը [նախորդների համեմատ]: Բայց VPN-ն նաև պիտի լինի արդիական և անվտանգ.
Իսկ հետո ինչ?
Եթե դուք ասեք, որ ձեզ [VPN-ից] սա պետք չէ, ապա գրքի ընթերցմանն ավարտելու ցների մարդուն: Սակայն ես կցանկանայի նշել, որ այս խնդիրները բոլոր մյուս թունելների տեխնոլոգիաների դիմաց հնչում են:
Ամենասկզբնական հետաքրքիրն այս մեջ պատրաստ է «պոտենցիալ դեպքերի գերակշռել», որը, բնականաբար, լրատվամիջոցները անտեսում են: Եվ իսկապես, մենք գտնվում ենք այնտեղ, որտեղ հայտնվել ենք ստեղծված այս անբուժելիությունով:

Կդժվարանա արդյոք WireGuard ինձ [IPsec] VPN-связի փոխարինելը կայքերում:
ՈՉ։ Այստեղ պարզապես հնարավորություն չկա, որ մեծ վենդորներ, ինչպես Cisco- ն, Juniper- ը և այլք, ձեռք բերեն WireGuard իրենց արտադրանքների համար։ Նրանք չեն «ընդունում անցումների գնացքներ» որքան ուզում են, եթե դա չի պահանջում մեծ անհրաժեշտություն։ Հետագայում պատմելու եմ որոշ պատճառների մասին, թե ինչու նրանք, հավանաբար, չեն կարող տեղադրել WireGuard իրենց արտադրանքներում, անգամ եթե ցանկանան։
Կանցնենք արդյո՞ք WireGuard իմ RoadWarrior-ից լապտոպից տվյալ կենտրոն։
ՈՉ։ Մինչ այժմ WireGuard-ում չի իրականացվել շատ կարևոր ֆունկցիաներ, որպեսզի կարողանա կատարել նման բան։ Օրինակ, այն չի կարող օգտագործել դինամիկ IP հասցե դեպի նավահանգիստ, և միայն դա խախտում է նման սցենարի ամբողջ օգտագործումը։
IPFire-ը հաճախ օգտագործվում է էժան ինտերնետային ալիքների համար, օրինակ, DSL կամ կաբելային միացում։ Սա ունի իմաստ փոքր կամ միջին բիզնեսների համար, որոնց պետք չէ արագ օպտիկական շարքեր։ [Թարգմանողի մեկնաբանություն։ Չի կարելի մոռանալ, որ կապի առումով Ռուսաստանը և որոշ ԱՊՀ երկրներ շատ առաջ են Եվրոպայից և ԱՄՆ-ից, քանի որ մենք սկսել ենք կառուցել իրենց ցանցերը շատ ուշ և Ethernet-ի և օպտիկական շարքերի գալու պատճառով որպես ստանդարտ, մեզ ավելի հեշտ էր վերակառուցվել։ Եվրոպայի կամ ԱՄՆ-ի նման երկրներում xDSL լայնաշերտ հասանելիությունը 3-5 Մբիթ/վ է՝ դեռևս ընդհանուր նորմ է, իսկ օպտիկական միացումը արժե ոչ реалներ ՝ մեր չափսերով գումար։ Հետևաբար, հոդվածի հեղինակն ասում է DSL կամ կաբելային կապի մասին, որպես նորմ, այլ ոչ թե դարաւճական հնություն։] Իհարկե, DSL-ը, կաբելայինը, LTE—ը (և այլ լարային հասանելիության մեթոդները) ունեն դինամիկ IP հասցեներ։ Դե, որոշ ժամանակ նրանք փոխվում են ոչ հաճախ, սակայն դեռ փոխվում են։
Post project կա կոչվում «wg-dynamic», որը ավելացնում է օգտագործողի տարածքի դեմոն, որպեսզի հաղթահարի այս թերությունը։ Բարեկամական խնդիրը տվյալ սցենարով, որը նկարագրված է վերևում՝ դա է դինամիկ IPv6 հասցեավորման սրման իրավիճակը։
Վաճառողի տեսանկյունից, բոլոր այս խզումները նույնպես չեն թվում այնքան լավ։ Զարգացման նպատակներից մեկը եղել է պահել հաղորդակցման պարզությունը և մաքրությունը։
Ցավոք, այս ամենը իրականում դարձել է չափազանց պարզ և նախընտրելի, դրա համար մենք ստիպված ենք օգտագործել լրացուցիչ ծրագրային ապահովում, որպեսզի բոլոր այս կառուցվածքը կենսագործելի լինի իրական շահագործման պայմաններում։
WireGuard-ը այնքան պարզ է օգտագործելու՞։
Մինչ հիմա չէ։ Ես չեմ ասում, որ WireGuard-ը երբեք չի լինի լավ այլընտրանք երկու կետի միջև թունելու տարիքի համար, սակայն մինչ ա նա պարզապես ապրանք է ալֆա տարբերակ, որով պետք է դառնա։
Բայց ի վերջո, ինչ է նա իրականում անում։ Իմաստ կա որ IPsec-ը իսկապես ավելի բարդ է շահագործելու դժվարը։
Բացարձակապես ոչ։ IPsec մատակարարները մտածել են այս խնդիրը և իրենց արտադրանքը տրամադրում են մրցակցային զովակ գրաֆիկական միջերեսով, օրինակ՝ IPFire։
VPN տ tunen ազատման համար IPsec-ով անհրաժեշտ կլինի հինգ տվյալների հավաքածու, որոնք պետք է ներդրվեն կոնֆիգուրացիայում: Ձեր սեփական հանրային IP-հասցեն, ընդունող կողմի հանրային IP-հասցեն, այն ենթաճյուղերը, որոնք ցանկանում եք բացահայտել այս VPN կապի միջոցով, և pre-shared բանալին: Այդ կերպ, VPN-ը կարգավորվում է մի քանի րոպեում և համապատասխանում է ցանկացած վաճառողին:
Ցավոք, այս պատմության մեջ կան մի քանի բացառություններ: Ովքեն էր փորձել VPN տ tunen IPsec-ով բացել OpenBSD մեքենայի վրա, հասկանում են, թե ինձ ինչ է պատահել: Ունենալով մի քանի այլ ցավալի օրինակներ, սակայն փաստորեն IPsec-ի օգտագործման դրական պրակտիկան շատ ավելի ու ավելի շատ է:
Protocol-ի բարդության մասին
Վերջին օգտագործողը չպետք է մտահոգվի protocol-ի բարդությամբ:
Եթե մենք ապրեինք աշխարհի մեջ, որտեղ դա իրական մտահոգություն է, մենք վաղուց արդեն հրաժարվել էինք SIP, H.323, FTP և այլ, ավելի քան տաս տարի առաջ ստեղծված protocols-ից, որոնք վատ են աշխատում NAT-ի հետ:
Կա պատճառներ, որոնց համար IPsec-ը ավելի բարդ է, քան WireGuard-ը: Այն շատ ավելի շատ բաներ կատարում է: Օրինակ, օգտահաշվի հաստատում՝ օգտագործելով մուտք/գաղտնաբառ կամ SIM քարտ EAP-ով: Այն ունի լայն հնարավորություններ նոր բաներ ավելացնելու: կրիպտոգրաֆիական ներդիրներ:.
WireGuard-ում դա չկա:
Եվ դա նշանակում է, որ WireGuard-ը մի օր կոտրվի, քանի որ մեկ կրիպտոգրաֆիական ներդիրը թույլ կտա դուրս գալ կամ ամբողջովին կաթվածի մատնվի: Տեխնիկական документации հեղինակն այս մասին ասում է.
Նշելու է, որ WireGuard-ը կրիպտոգրաֆիկ ինքնաօգնող է: Նրան հաճաուջը չունի կոդերի և protocols-ի ճկունություն: Եթե ստորին ներդիրներում հայտնաբերվեն հրատապ անցքեր, բոլոր վերջնական կետերը պետք է թարմացվեն: Ինչպես տեսնում եք շարունակական SSL/TLS-ի խոցելիությունների հոսքից, կրիպտոգրաֆիայի ճկունությունը այժմ չափազանց մեծացել է:
Վերջին դատողությունը լիովին ճիշտ է:
Որոշել, թե որ կրիպտոգրաֆիա օգտագործել, բարդացնում է IKE և TLS տեսակառուցվածքները: ավելի քան demasiado բարդ: Այո, TLS/SSL-ի խոցելիությունները հաճախ հանդիպում են, և նրանց այլընտրանք չկա.
իրական խնդիրների անտեսման մասին
Ներկայացրեք, որ դու ունես VPN սերվեր 200 գործնական հաճախորդներով, որոնք բովանդակվում են աշխարհում: Սա չափազանց ստանդարտ օգտագործման տեսարան է: Եթե ձեզ հարկավոր է փոխել կրիպտոգրաֆիային, ձեզ անհրաժեշտ է տրամադրել թարմացում բոլոր WireGuard օրինակներին այս նոթբուքերում, սմարտֆոններում և այլն. Միաժամանակ տրամադրել. Սա գրեթե անհնար է: Այն ադմինիստրատորներ, ովքեր փորձելու են դա անել, ամիսներ են պահանջում անհրաժեշտ կոնֆիգուրացիաների տեղակայման համար, իսկ միջին ընկերություններին պարզապես տարիներ են պետք նման գործողություններ իրականացնել:
IPsec և OpenVPN առաջարկում են գաղտնիքի համաձայնեցման ֆունկցիա: Ուստի մի որոշ ժամանակ, երբ նոր գաղտնագրումը կօգտագործվի, հին գաղտնագրումը դեռ կաշխատի: Դա թույլ է տալիս ներկայիս հաճախորդներին անցնել նոր տարբերակին: Երբ թարմացումը տարածվի, դուք պարզապես անջատում եք խոցելի գաղտնագրումը: Եվ voila! Ջերմ շնորհակալություն! Հաճախորդները նույնիսկ չեն նկատի այս փոփոխությունը:
Սակայն դա իսկապես շատ տարածված դեպք է մեծ դարձման համար, ու նույնիսկ OpenVPN-ը որոշակի դժվարություններ է ունենում դրանում: Վերադարձեք համատեղելիությունը կարևոր է, ու չնայած դուք օգտագործում եք ավելի թույլ գաղտնագրում, շատերի համար դա չի լինում բիզնես փակելու պատճառ: Որովհետև դա կհանգեցնի сотենների աշխատանքը արգելափակելու, քանի որ անկարող են իրականացնել իրենց աշխատանքը:
WireGuard-ի թիմը պարզեց իր պրոտոկոլը, սակայն այն ամբողջապես էլ չի համապատասխանեցվում մարդկանց, ովքեր չունեն մշտական վերահսկողություն իրենց թունելի երկու զույգերի նկատմամբ: Իմ փորձով, այսպիսի սցենարը ամենատարածվածն է:

Գաղտնագրություն!
Բայց ինչ հետաքրքիր նոր գաղտնագրում է օգտագործում WireGuard-ը?
WireGuard-ը օգտագործում է Curve25519 բանալի փոխանակման համար, ChaCha20 գաղտնագրելու համար և Poly1305 տվյալների հավաստագրման համար: Այն աշխատում է նաև SipHash-ի հետ հեշ-բանալի համար և BLAKE2-ի հետ հեշավորման համար:
ChaCha20-Poly1305 ստանդարտացված է IPsec և OpenVPN-ի համար (միջոցով TLS):
Սահմանված է, որ Դանիէլ Բերնշտեյնի մշակումը հաճախ օգտագործվում է: BLAKE2-ն է BLAKE-ի sucesor-ը, որն էլ եղել է SHA-3-ի նոմինանտ, որը չհաղթեց նրա նմանության պատճառով SHA-2-ի: Եթե SHA-2-ը խոցվի, այդ ժամանակ մեծ հավանականություն կա, որ BLAKE-ը նույնպես կփոխհատվի:
IPsec և OpenVPN չունեն SipHash-ի անհրաժեշտություն իրենց դիզայնի պատճառով: Ըստ այդմ, ներկայումս միակ բանալին, որը չի կարող օգտագործվել դրանք սերտիֆիկացված չէ BLAKE2-ն, և դա միայն այն ժամանակ, երբ այն չի լինի ստանդարտացված: Սա մեծ թերություն չէ, քանի որ VPN-ները օգտագործում են HMAC-ի հետ ուղեղայինության համար, որն ամենահայտնի լուծումն է նույնիսկ MD5-ով:
Այսպիսով, ես եկա եզրակացության, որ բոլոր VPN-ներում օգտագործվում են գրեթե նույն գաղտնագրական գործիքները: Ուստի WireGuard-ը ոչ ավելի ու ոչ պակաս անվտանգ է, քան ցանկացած այլ արդիական արտադրանք, երբ խոսքը վերաբերում է տվյալների գաղտնագրմանը կամ հավաստիությանը:
Բայց նույնիսկ սա ամենակարևոր չէ, որ պետք է ուշադրություն դարձնել նախագծի պաշտոնական փաստաթղթում: Որովհետև ամենակարևորը՝ արագությունն է:
WireGuard-ը ավելի արագ է մյուս VPN լուծումներից:
Ամփոփ տվյալներով՝ ոչ, ավելի արագ չէ:
ChaCha20 — դա հոսքային ծածկագրում է, որն ավելի հեշտ է ինտեգրել ծրագրակազմում: Այն ծածկագրում է մեկ բիթ մեկ անգամ: Բլոկային միջնորդները, ինչպիսիք են AES-ը, ծածկագրում են 128 բիթի բլոկ մեկ անգամ: Հետաքրքիր է, որ ապարատային աջակցություն իրականացնելու համար անհրաժեշտ է շատ ավելին տրանսիստորներ, ինչի շնորհիվ ավելի մեծ պրոցեսորները տրամադրվում են AES-NI — հրամանների հավաքածուի ընդլայնում, որը կատարում է որոշ ծածկագրման գործընթացի աշխատանքներ արագացնելու համար։
Անկեղծ ասած, սպասվում էր, որ AES-NI երբեք չի հայտնվի սմարթֆոններում [և բորբոքեց, — թարգման.]: Այդ իսկ պատճառով ChaCha20-ը մշակվել է՝ որպես թեթև և տնտեսող այլընտրանք, որը խնայել է էլեկտրաէներգիա: Այսպիսով, ձեզ կարող է նորություն լինել, որ այսօր ձեր գնած յուրաքանչյուր սմարթֆոն ունի որոշակի արագացում AES-ի համար և աշխատում է այդ ծածկագրմամբ ավելի արագ և ցածր էներգիայի ծախսերով, քան ChaCha20-ով։
Ամբողջովին ակնհայտ է, որ գրեթե յուրաքանչյուր մետաղ տեսակի պրոցեսոր, որն աճում է PC / սերվերների վրա, վերջին երկու տարիների ընթացքում ունի AES-NI։
Հետևաբար, ես ակնկալում եմ, որ AES-ը վարկանիշային կլիներ ChaCha20-ի յուրաքանչյուր տվյալ դեպքում։ WireGuard-ի պաշտոնական փաստաթղթում նշվում է, որ AVX512-ի շնորհիվ ChaCha20-Poly1305-ը կլինի ավելի արագ, քան AES-NI, բայց այդ հրամանների հավաքածուն հասանելի կլինի միայն մեծ պրոցեսորների վրա, ինչը, իր հերթին, չի օգնի ավելի փոքր և շարժական սարքավորումներին, որոնք միշտ ավելի արագ կաշխատվեն AES-NI-ի հետ։
Ես չեմ վստահ, հնարավոր էր դա կանխատեսել WireGuard-ի մշակման ընթացքում, սակայն այսօր փաստ է, որ այն պինդ կապված է մեկ ծածկագրմամբ — սա արդեն թերություն է, որն կարող է վատ անդրադառնալ դրա աշխատանքին։
IPsec-ը թույլ է տալիս ազատ ընտրել, թե որ ծածկագրումն է լավագույնը ձեր դեպքի համար: Սա անհրաժեշտ է, եթե օրինակ, ցանկանում եք փոխանցել 10 և ավելի գիգաբայտ տվյալներ VPN-համակցման միջոցով։
Linux-ում ինտեգրման խնդիրները
Չնայած WireGuard-ը ընտրել է ժամանակակից ծածկագրում, դա արդեն առաջացնում է բազմաթիվ խնդիրներ: Եվ ահա, փոխարենը օգտագործելու այն, ինչը պահվում է արկղում Kernel-ում, WireGuard-ի ինտեգրումը ևս չի բարելավվել տարիների ընթացքում այս առաջին հարցերի բացակայության պատճառով Linux-ում։
Ես ոչսիովին ծանոթ եմ, թե ինչ իրավիճակն է այլ գործունեությունների համակարգերում, բայց հնարավոր է, որ դա շատ տարբեր չէ Linux-ից։
Ինչպիսին է իրականությունը?
Ցավոք, երբևէ, երբ հաճախորդը խնդրում է ինձ ծանոթացնել VPN-համակցումը, ես ցավում եմ, որ նրանք օգտագործում են հնացած հավատարմագրման և ծածկագրում: 3DES-ը MD5-ով է, որի կիրառումը դեռ տարածված է, ինչպես նաև AES-256 և SHA1: Եվ չնայած վերջինս մի քիչ ավելի լավն է — դա չի նշանակում, որ այսինքն պետք է օգտագործեք 2020 թվականին։
Կիրկերի փոխանակման համար միշտ օգտագործում է RSA — դանդաղ, բայց բավական անվտանգ գործիք։
Իմ հաճախորդները կապված են մաքսային մարմինների և այլ պետական հաստատությունների, ինչպես նաև գլոբալ ճանաչման ունեցող խոշոր ընկերություններով: Նրանք բոլորը օգտագործում են հարցման ձև, որը ստեղծվել է տասնամյակներ առաջ, իսկ SHA-512-ի օգտագործման հնարավորություն պարզապես երբեք չի ավելացվել: չեմ կարող ասել, որ դա ակնհայտ կերպով ազդում է տեխնոլոգիական progresso-ի վրա, բայց կարծես թե դա անբարենպաստ կերպով դանդաղեցնում է կորպորատիվ գործընթացները:
Այս ամենը ինձ ցավ է պատճառում, որովհետև IPsec-ը էկլիպտիկ կորերը աջակցում է 2005 թվականից: Curve25519-ն ավելի նոր է և հասանելի օգտագործման համար: Ավելին, կա այլընտրանքներ AES-ի, օրինակ՝ Camellia և ChaCha20, սակայն, ակնհայտ է, որ ոչ բոլորն են աջակցվում խոշոր մատակարարների կողմից, ինչպիսիք են Cisco-ն և այլք:
Եվ մարդիկ այսպիսով օգտվում են: Այնտեղ բազմաթիվ Cisco համալիրներ կան, կան նաև բազմաթիվ համալիրներ, որոնք մշակված են Cisco-ի համար աշխատելու: Նրանք շուկայում առաջատարներ են այս ոլորտում և այնքան էլ հետաքրքրված չեն նորարարություններով:
Այո, իրավիճակը [կորպորատիվ ոլորտում] սարսափելի է, սակայն մենք WireGuard-ի պատճառով որևէ փոփոխություն չենք տեսնի: Վ výrobողները հավանաբար երբեք չեն հաստատելու արդեն օգտագործվող գործիքների և encryption-ի մշակման արտադրողականության խնդիրներ, չեն տեսնելու IKEv2-ի օգտագործման խնդիրներ՝ և այդ պատճառով էլ չեն փնտրի այլընտրանքներ:
Դե, երբևէ փնտրե՞լ եք Cisco-ից հրաժարվելու համար:
Բենչմարկներ
Եվ հիմա անցնենք WireGuard-ի փաստաթղթերից վերցրած բենչմարկներին: Թեեւ այս [փաստաթուղթ] գիտատեքնիկական հոդված չէ, ես ամենու համար ակնկալում էի ավելի գիտական մոտեցում ծրագրավորողներից, կամ գիտական մոտեցումը որպես ցուցիչ: Ինչպիսին էլ որ լինեն, ցանկացած բենչմարկներ անօգուտ են, եթե դրանք չեն կարելի կրկնել, և ավելի էլ ավելի են անօգուտ, երբ սովորաբար ստացվում են լաբորատոր պայմաններում:
Linux-ի համար WireGuard-ի հավաքում ստանում է անկախություն GSO-ի (Generic Segmentation Offloading) շնորհիվ: Այդ պատճառով, հաճախորդը ստեղծում է 64 կիլոբայթ մեծ փաթեթ և ծածկագրում / բացահայտում է այն մեկ մոտեցումով: Այժմ, ծախսերը ծանոթության եւ կրիպտոգրաֆիական գործողությունների իրականացման նորմալանում նվազում են: Եթե ցանկանում եք առավելագույնացնել ձեր VPN-անցումը՝ սա լավ գաղափար է:
Բայց ինչպես սովորաբար, իրականում ամեն ինչ այդքան հեշտ չէ: Այդքան մեծ փաթեթը ցանցային ադապթեր ուղարկելիս, այն կտրատվում է բազմաթիվ փոքր փաթեթների: Ճգնաժամային ուղարկման սովորական չափսը կազմում է 1500 բայտ: Փաստորեն մեր 64 կիլոբայթը բաժանվելու է 45 փաթեթների (1240 բայտ տեղեկատվություն և 20 բայտ IP-վերնագիր): Այնուհետև, որոշ ժամանակ դրանք լրիվ արգելափակում են ցանցային ադապտերը, որովհետև պետք է ուղարկվեն միասին և միանգամից: Արդյունքում դա հանգեցնելու է առաջնահերթության բարձրացման, իսկ նոյն այստոյով, օրինակ, VoIP փաթեթները սպասում են հերթում:
Այսպիսով, WireGuard-ի համարձակորեն հայտարարված բարձր հաղորդակցման հզորությունը հասնում է այլ ծրագրերի ցանցային աշխատանքի դանդաղեցման հաշվին: WireGuard թիմն արդեն պաշտպանել է այս իմ եզրակացությունն է.
Բայց եկեք շարունակենք.
Ավելի քիչ բերումների համաձայն՝ տեխնիկական փաստաթղթերում գծված միացումը ցույց է տալիս 1011 Մբիթ/վ. հաղորդակցման հզորություն.
Թողնում է տպավորություն.
Այ particularmente տպավորիչ է, քանի որ մեկ գիգաբիտային Ethernet միացման առավելագույն տեսական հաղորդակցման հզորությունը կազմում է 966 Մբիթ/վ 1500 բայր չափի փաթեթում՝ ունենալով 20 բայր IP գլխիկ, 8 բայր UDP գլխիկ և 16 բայր WireGuard-ի գլխիկ: Ավելին, կա մեկ IP գլխիկ է կոնտեյնացված փաթեթում և մեկ այլ՝ TCP-ի 20 բայր: Ինչպե՞ս է այդ լրացուցիչ հաղորդակցման հզորությունը առաջացել:
Բարձրագույն ֆрейմներով և GSO-ի առավելություններով, որոնց մասին մենք վերոնշյալը խոսեցինք, տեսական առավելագույնը 9000 բայր չափով կազմում է 1014 Մբիթ/վ. Բայց իրականում այդպիսի հաղորդակցման հզորությունը սովորաբար հասանելի չէ, քանի որ այն կապված է մեծ դժվարությունների հետ: Ուստի ես միայն կարող եմ ենթադրել, որ փորձարկումը կատարվել է` օգտագործելով ավելի մեծ ֆрейմեր` 64 կիլոբայր չափից ավելին՝ տեսական առավելագույնով 1023 Մբիթ/վ, որը_supported_only_some_network_adapters: Բայց դա ամբողջովին անվավեր է իրական պայմաններում, կամ կարող է օգտագործվել միայն երկու բաղադրիչների միջև ուղղակիորեն միացված կայանների միջև՝ բացառապես փորձարկման միջավայրերում.
Բայց քանի որ VPN-ի թունելը անցնում է երկու հոսթերի միջև ինտերնետային կապի միջոցով, որը ընդհանրապես չի աջակցում բարձր ֆեյմերի, ստուգման արդյունքը չի կարող ընդունվել որպես գործակցային: Սա պարզապես անհավանական լաբորատոր ձեռքբերում է, որը անհնար է և անարժեք է իրական մարտական պայմաններում.
Ա even sitting in a data center I could not pass frames larger than 9000 bytes.
Որպեսզի կիրառելիությունը իրական կյանքում բացարձակապես խախտված է և, ինչպես կարծում եմ, իրականացված «չափագրի» հեղինակը լուրջ արժեհամակարգ է ներկայացրել իր համար, ընդհանրապես պարզ պատճառով.

Վերջին հույսի հմայքը
WireGuard-ի կայքում շատ անհատականացված բաների մասին է խոսվում, և պարզ է, թե իրականում ինչի համար է նա նախատեսված.
Սովորական և արագ VPN, որը չի պահանջում կարգավորվում և կարող է գործարկվել և կարգավորվել զանգվածային օրակարգային գործիքներով, ինչպիսիք են Amazon իր ամպում: կոնկրետ Amazon-ը օգտագործում է ինձ այս խոսված նորարարական գործառույթները, որոնց մասին ես արդեն խոսել եմ, օրինակ՝ AVX512: Դա արվում է աշխատանքը արագացնելու և x86-ով կամ ցանկացած այլ ճարտարապետությամբ կապված չունենալու համար.
Նրանք օպտիմացնում են թողունակությունը և փաթեթները, որոնց չափը գերազանցում է 9000 բայթ՝ ստացվում են ահռելի խցիկավորված շրջանակներ контейների միջև հաղորդակցության համար, կամ աշամչային պահուստավորման, խորհուրդների ստեղծման կամ այդ նույն контейների անվանն իրագործման համար: Ոչ մի կերպ դինամիկ IP հասցեները չեն ազդի WireGuard-ի աշխատանքի վրա նշված իմ սցենարում:
Անմիտ լավ խաղացվեց: Լուսավորող իրագործում և շատ նուրբ, casi ցուցանիշային պրոտոկոլ:
Բայց նա պարզապես չի համապատասխանում լիովին տնօրինվող տվյալների կենտրոնից դուրս աշխարհին: Եթե դուք վտանգեք և սկսեք օգտագործել WireGuard, ստիպված կլինեք գնալ մշտական կոմպրոմիսների՝ կարծիքի մշակման և шифрования պրոտոկոլի իրագործման ընթացքում:
Ամփոփում
Չեմ դժվարանում անել եզրակացություն, որ WireGuard-ը դեռ պատրաստ չէ:
Այն նախատեսված էր որպես թեթև և արագ լուծում մի շարք խնդիրների, որոնք արդեն գոյություն ունեն: Ցավոք, այդ լուծումների համար նա զոհեց շատ ֆունկցիաներ, որոնք կլինեն ըստ մեծամասնության օգտատերերի համար պիտանի: Ուստի նա չի կարող փոխարինել IPsec կամ OpenVPN-ը:
WireGuard-ը մրցունակ լինելու համար պետք է ավելացնի գոնե IP հասցեի կարգում և ուղղություն մարանցնելիք: Այդ պատճառով էլ անհրաժեշտ են գաղտնագրաված չողեր:
Անվտանգությունը՝ իմ գլխավոր առաջնահերթությունն է, և հիմա չունեմ հիմքեր ենթադրել, որ IKE-ը կամ TLS-ը ինչ-որ կերպ զիջված են կամ խափանված են: Ժամանակակից шифрования-ն աջակցվում է երկուսն էլ, և նրանք ստուգվել են տասնյակ տարիների շահագործմամբ: Եթե ինչ մեկ նոր է, դա չի նշանակում, որ դա լավ է:
Ֆունկցիոնալ համատեղելիությունը չափազանց կարևոր է, երբ դուք կապված եք երրորդ կողմերի հետ, որոնց կայանները դուք չեք վերահսկում: IPsec-ը փաստացի ստանդարտ է և աջակից է գրեթե ամենուրեք: Եվ այն աշխատանքային է: Եվ որքան էլ որ դա տյա, տեսականորեն, WireGuard-ը ապագայում կարող է անհամատեղելի լինել նույնիսկ ինքն שלו տարբերակների միջև:
Յուրաքանչյուր криптографическая պաշտպանությունը շուտ կամ ուշ կը տապալվի և, համապատասխանաբար, պետք է փոխարինվի կամ թարմացվի:
Այս փաստերի մերժումը և սլեպած ցանկությունը օգտագործել WireGuard-ը ձեր iPhone-ը տուն աշխատելու կայանին միանալու համար՝ պարզապես գլուխը ավազի մեջ պահելու դասագրքային օրինակ է:
Ընտանիք: habr.com
