Այստեղ իրար վրա են դրվում երեք տրանսպորտ, և յուրաքանչյուրն ունի իր շրջանակավորումը։ VPN բեռը ճամփորդում է TLS սեսիայի ներսում, այդ TLS սեսիան ճամփորդում է TCP կապի ներսում դեպի loopback պորտ, և այդ կապի բայթերը ճամփորդում են SSH-ի ներսում դեպի relay հոսթ, որը բացում է իրական TCP կապը դեպի VPN լսողը։ Ոչինչ այս դասավորության մեջ չի փոխում այն, ինչ OpenVPN նույնականացնում է, և ոչինչ դրանում UDP լսողին TCP-ով հասանելի չի դարձնում։ Մնացածը կարդացեք որպես բայթերի ուղու նկարագրություն, ոչ որպես ցանցային հսկողությունը շրջանցելու բաղադրատոմս։

Ինչ է իրականում տեղափոխում տեղական փոխանցումը

SSH հաճախորդը լսում է տեղական պորտում։ Երբ տեղական պրոցեսը միանում է, հաճախորդը բայթերը փաթեթավորում է իր գաղտնագրված ալիքում, և սերվերի կողմը նոր TCP կապ է բացում փոխանցման հարցումում նշված նպատակակետի հետ։

Այդ նպատակակետը լուծում է relay-ը, ոչ ձեր մեքենան, դրա համար էլ միայն հեռավոր ցանցի ներսում գոյություն ունեցող անունը դեռ աշխատում է։ Սա նաև նշանակում է, որ relay-ը պետք է հասնի VPN լսողին և ունենա վերադարձի ուղի դեպի այն։ Ձեր նոթբուքում լուծվող անունը ոչինչ չի ասում այն մասին, ինչ relay-ը կարող է տեսնել։

SSH սեսիան սկսելը միայն ապացուցում է, որ relay-ը հասանելի է և նույնականացված։ Այն ոչինչ չի ասում այն մասին, թե արդյոք հաջորդ լսողը միացված է, արդյոք relay-ի և լսողի միջև firewall-ը ընդունում է կապը, կամ արդյոք VPN-ը կընդունի ձեր պրոֆիլը։

Ուղղեք հաճախորդը դեպի տեղական լսողը

Հայտարարված օրինակ՝ relay-ը կարող է հասնել TCP լսողի gw.internal.example:443 հասցեում, և բարձր տեղական պորտը բացում է այդ ուղին միայն այս մեքենայի համար։

ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]

OpenSSH ձեռնարկը նկարագրում է տեղական փոխանցումը որպես TCP կապերի տեղական ընդունում և հաջորդ կապի բացում հեռավոր կողմից։ Կապեք լսողը loopback-ին, ոչ բոլոր ինտերֆեյսներին, որովհետև ցանցից հասանելի փոխանցումը բաց relay է ձեր անունով։ Wildcard կապը պորտը բացում է նաև ընդհանուր մեքենայի ցանկացած այլ տեղական հաշվի համար։

Այնուհետև դրեք VPN հաճախորդը TCP ռեժիմի և ուղղեք այն 127.0.0.1:24011 հասցեին։ Եթե պրոֆիլը օգտագործում է UDP, այս ձևավորումը չի կարող օգնել՝ փոխանցումը կրում է բայթերի հոսք, և դրա միջով datagram-ի ուղի չկա։

Առանձին պահեք երկու նույնականացումները

SSH-ը նույնականացնում է relay հոսթը։ OpenVPN-ը դեռ նույնականացնում է VPN գործընկերոջը, և loopback նպատակակետը չի փոխում այդ պահանջը։ Վկայագրի ստուգումներն անջատելը, որովհետև սոքեթն այժմ ցույց է տալիս localhost-ին, այս ձևավորման ամենավատ կարճուղին է։ Այն տրանսպորտային դասավորությունը դարձնում է վստահության դասավորություն, և երկրորդին ոչ ոք չի համաձայնել։

Անփոփոխ պահեք պրոֆիլի վստահության խարիսխը, սերվերի դերի ստուգումը և անվան հաստատումը։ Եթե ձեր հաճախորդը համեմատում է սերվերի անունը այն հասցեի հետ, որին զանգել է, loopback-ին կարող է անհրաժեշտ լինել բացահայտ անվան կարգավորում՝ անջատված ստուգման փոխարեն, և պրոֆիլի փաստաթղթերն այն տեղն են, որտեղ հաստատվում է, թե որ դաշտն է համեմատվում։

Վերաբերվեք relay-ին որպես վստահության պատմության երկրորդ կողմ՝ նրա ադմինիստրատորը տեսնում է կապերի մետատվյալները և կարող է վերաուղղորդել փոխանցումը, եթե կոնֆիգուրացիան փոխվի։ Դասավորությունը պահանջում է և՛ relay-ի, և՛ VPN ծառայության սեփականատիրոջ հաստատումը, ոչ միայն նրա, ով այն այսօր պետք ունի։

Թունելի տակ հանգույց մի կառուցեք

Երբ VPN-ը տեղադրում է երթուղիներ, այն կրող SSH կապը դեռ պետք է ուղի դեպի relay, որը չի անցնում թունելով։ Եթե լռելյայն երթուղին անցնում է VPN-ին, և relay-ը հասանելի է միայն նույն թունելով, տրանսպորտը փլուզվում է, և VPN-ը գնում է նրա հետ։ Խափանումը նման է ընկած թունելի, ոչ երթուղային սխալի, դրա համար էլ սխալ ախտորոշվում է։

Սովորական ուղղումը host երթուղի է դեպի relay-ի հասցեն՝ ամրացված ֆիզիկական ինտերֆեյսին մինչև թունելի բարձրանալը, գումարած ստուգում, որ երթուղին դիմանում է վերակապակցմանը։ Ստուգեք այն երթուղու որոնմամբ relay-ի հասցեի համար՝ փոխարենը ենթադրելու, որ հերթականությունը ճիշտ էր։

Սպասեք նաև, որ այս կույտը ավելի դանդաղ և ավելի փխրուն կլինի, քան ուղիղ կապը, որովհետև այժմ կա երկու կարգավորված տրանսպորտ և ևս մեկ վերջնակետ՝ պահպանելու համար։ Սա ցանցային սահմանը հատելու եղանակ է, ոչ կատարողականության տեխնիկա։

Փակեք լսողը, երբ ավարտեք

Կանգնեցրեք SSH սեսիան, երբ թունելն այլևս պետք չէ, և հաստատեք, որ տեղական պորտն ազատվել է։ Մոռացված փոխանցումը բաց է պահում նույնականացված ուղին այն մեքենայի վրա, որը կարող է ընդհանուր լինել։

Վերանայեք նաև relay-ի թույլատրված փոխանցման նպատակակետերը, որովհետև թույլատրող կոնֆիգուրացիան ցանկացած վտանգված հաշիվ դարձնում է ընդհանուր հենակետ։ Գրանցեք պորտը, relay-ը և նպատակակետը միասին, որպեսզի հաջորդ մարդը իմանա, թե ինչի համար էր փոխանցումը և արդյոք այն դեռ հաստատված է։

Առնչվող հոդվածներ