Կորպորատիվ VPN WireGuard-ի ներսում. ո՞ր շերտն է գալիս առաջինը
Մեկ մեքենայի վրա երկու հաճախորդ աշխատում են միայն այն ժամանակ, երբ արտաքին թունելը կրում է ներքին հաճախորդի սեփական կապը, և մետրիկները յուրաքանչյուր նախածանցի համար ընտրում են ճիշտ ինտերֆեյսը։
Ծրագրավորողի նոութբուքում թունելները միմյանց մեջ դնելու երկու հիմնավոր պատճառ կա։ Կամ կորպորատիվ հաճախորդը պետք է երևա, թե գալիս է որոշակի երկրից, կամ երկու մասնավոր ցանցեր պետք է միաժամանակ հասանելի լինեն։ Երկու դեպքում էլ արտաքին թունելը պետք է կրի ներքին հաճախորդի սեփական կապը։
Երկու հաճախորդ ցանկացած հերթականությամբ սկսելը դա չի տալիս։ Դա տալիս է երթուղավորումը։
Համեմատեք երկու հնարավոր հերթականությունները
Արտաքին շերտ ընտրեք այն թունելը, որի վերջնակետը հասանելի է հանրային ինտերնետից։ Ներքին շերտը այն թունելն է, որի սերվերը պատասխանում է միայն այդ ելքով։ Windows-ում գործնական բաժանումը հետևյալն է՝ WireGuard-ը դրսում, կորպորատիվ հաճախորդը ներսում։ Որոշիչ գործոնը վերահսկողությունն է։
WireGuard-ի պաշտոնական հաճախորդը կիրառում է ամբողջական կոնֆիգուրացիայի ֆայլ՝ ներառյալ երթուղիները և DNS-ը։ Առևտրային կորպորատիվ հաճախորդները սովորաբար թաքցնում են երկուսն էլ։ Թաքնված հաճախորդը դրսում դնելով՝ ստիպված կլինեք գուշակել դրա տակի ուղին։
Հակառակ հերթականությունն անհնար չէ։ Պարզապես ավելի դժվար է դրա մասին մտածել, քանի որ արտաքին հաճախորդը վերագրում է երթուղիները ձեզ երբեք չերևացող ժամանակացույցով։
Թող AllowedIPs-ը անվանի միայն կորպորատիվ միջակայքը
AllowedIPs թվարկում է այն նպատակակետերը, որոնք WireGuard-ը ուղղում է թունել։ Տեղադրման համար նրան պետք են միայն ներքին սերվերի հասցեն և կորպորատիվ նախածանցները։ Մնացած ամեն ինչ մնում է տեղական ցանցում՝ ներառյալ տպիչները և հիպերվիզորը։ Սա նախագծով բաժանված թունել է, և այն ամբողջությամբ խուսափում է բացառման խնդրից։
Ամբողջական թունելով արտաքին շերտին անհրաժեշտ է 0.0.0.0/0 հանած տեղական միջակայքերը։ Ձևաչափը չի կարող արտահայտել բացառում, ուստի լրացումը պետք է հաշվարկել և տեղադրել։
[Interface]
PrivateKey = ...
Address = 10.99.4.2/32
[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16
Երբ ներքին հաճախորդը չի տեղադրում իր սեփական երթուղիները, ինքներդ թվարկեք կորպորատիվ նախածանցները։ Այդ տողից բաց թողնված նախածանցը նպատակակետ է, որը արտաքին թունելը երբեք չի կրում։ Ցանկի հնացած պատճենն ավելի վատ է, քան բացակայությունը, որովհետև այն դեռ ճիշտ է թվում։
Հերթականություն, մետրիկներ և երկրորդ ադապտեր
Նախ միացրեք արտաքին թունելը, ապա սկսեք կորպորատիվ հաճախորդը։ Այնուհետև նրա վերջնակետի կապը դուրս է գալիս WireGuard-ով՝ տեղական դարպասի փոխարեն։ Կորպորատիվ ինտերֆեյսին տվեք ավելի ցածր մետրիկ, որպեսզի նրա նախածանցները հաղթեն իրեն պատկանող հասցեների համար։
# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1
# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40
wg show interfaces
Մետրիկները այն քայլն են, որը մարդիկ բաց թողնում են։ Առանց հերթականության, համընկնող նախածանցի համար հաղթում է վերջին տեղադրված երթուղին։ Դա փոխվում է վերագործարկումների միջև, այդ պատճառով խնդիրը ընդհատվող է թվում։
OpenVPN 2.6-ի վրա կառուցված հաճախորդները ավելացնում են իրենց թակարդը։ Երբ տվյալների ալիքի բեռնաթափման ադապտերն արդեն զբաղված է, երկրորդ օրինակը պարզապես հրաժարվում է սկսվել։ Պրոֆիլին disable-dco ավելացնելը վերադառնում է ավելի հին TAP ուղուն, և այդ ժամանակ երկուսն էլ աշխատում են կողք կողքի։
Որտեղ է կոտրվում ներդրված ուղին
Արտաքին թունելն անջատելը սպանում է ներքինը։ Միայն ներքին հաճախորդը նորից միացնելը հաճախ ուղարկում է այն ուղիղ ինտերնետ և լուռ հեռացնում ներդրումը։ Ամեն անգամ ստուգեք հաջորդականությունը զրոյից՝ սկսելով երկու թունելներն էլ կանգնեցված։
Սպասեք ավելի փոքր օգտագործելի MTU։ Յուրաքանչյուր շերտ ավելացնում է ծախս, ուստի մոտ 1420 և 1400 սկզբնական զույգը լավ մեկնարկ է։ Փոխանցումը, որը կախվում է մեծ փաթեթների վրա, մինչ փոքր հարցումները հաջողվում են, սովորական նշան է։ Կորպորատիվ քաղաքականությունը մյուս սահմանն է, քանի որ կառավարվող սարք պահանջող հաճախորդը կարող է ներդրված ուղին խախտում համարել։
Երբ երկու ծայրերը ֆիքսված ցանցեր են, դարպասների միջև կայք-կայք թունելը վերացնում է հերթականության խնդիրը՝ այն կառավարելու փոխարեն։ Մեկ նոութբուքում երկու թունել գոյակցում են միայն այն դեպքում, երբ յուրաքանչյուրն ունի իր ինտերֆեյսը և նախածանցով նպատակակետեր ընտրող կանոն։