Հասնել NAT-ի հետևում գտնվող աշխատանոցային կայանին՝ առանց պորտի փոխանցման
Առանց մուտքային պորտի աշխատանոցային կայանը դեռ հասանելի է հանգույցի, ռելեի կամ հավելվածային բրոքերի միջոցով։ Համեմատեք, թե ինչ է երաշխավորում յուրաքանչյուր ձևավորում, նախքան մեկն ընտրելը։
Երկու վերջնակետեր օպերատորի NAT-ի հետևում և կողպված գրասենյակային երթուղիչը ոչ մի մուտքային պորտ չեն թողնում փոխանցելու համար, իսկ ռեֆլեքսը այն է՝ միևնույն է պահանջել մեկը։ Ավելի լավ հարցն այն է, թե որ կողմը կարող է դուրս զանգահարել և որ հասանելի ծառայությանն է թույլատրվում կրել երթևեկությունը։ Չորս ձևավորումներ տարբեր կերպ են պատասխանում այդ հարցին և տարբեր կերպ են ձախողվում, երբ ուղին արգելափակված է։ Դրանց միջև ընտրությունը երաշխիքների համեմատություն է, ոչ թե արձանագրությունների անունների։
Չորս ձևավորում, չորս տարբեր խոստումներ
Ստորև բերված աղյուսակը կարճ տարբերակն է։ Կարդացեք միջին սյունակը որպես խոստում, որը կարող եք ստուգել, և աջ սյունակը որպես խոստում, որը ոչ ոք չի տվել։
| Design | Who initiates | Promise you get | Promise you do not get |
|---|---|---|---|
| Routed VPN hub | Both ends, outbound to the hub | A routed path to permitted prefixes | Access to services no policy allows |
| Peer traversal with ICE | Both peers to a rendezvous service | A path tested between the two peers | A direct path through every NAT |
| TURN relay | Client outbound to a relay | Transport that survives symmetric NAT | Peer discovery or a usable directory |
| Application broker | Workstation outbound to a broker | One audited application session | Subnet-wide reachability |
Թե որ տողն է կիրառելի, կախված է առաջադրանքից, այլ ոչ թե նախընտրությունից։ Մեկ հեռավոր աշխատասեղանի նստաշրջան, մեկ վարչական shell և հասանելիություն ամբողջ մասնավոր ենթացանցին երեք պահանջ են, որոնք նույն մուտքի կետը պետք չէ, նույնիսկ երբ դրանք պատահաբար վերաբերում են նույն մեքենային։
Հանգույցը փոխում է, թե ով է դուրս զանգահարում, ոչ թե ինչ է թույլատրված
Երթուղավորված հանգույցի ձևավորման մեջ հեռավոր նոթբուքը և աշխատանոցային կայանը, կամ դրա դիմացի տեղամասի դարպասը, յուրաքանչյուրը բացում է ելքային թունել դեպի ծառայություն, որին երկուսն էլ կարող են հասնել։ Ոչինչ չի ընդունում չպահանջված կապ աշխատանոցային կայանի երթուղիչում, և հենց դրա համար է այս ձևավորումը դիմանում NAT-ին և աշխատում նույնիսկ այն ժամանակ, երբ տեղամասը ստատիկ հասցե չունի։ Այնուհետև հանգույցը երթևեկությունը երթուղավորում է երկու ներքին հասցեների միջև իր սեփական քաղաքականությամբ։
Գինն այն է, որ հանգույցը պետք է գոյություն ունենա, հասանելի լինի երկու կողմից և ինչ-որ մեկը վարի այն։ Ելքային զտումը պետք է թույլատրի տրանսպորտը, և ցանցը, որը արգելափակում է այն, կխափանի ձևավորումը, նույնիսկ եթե պորտի փոխանցում պետք չէր։
Նուրբ մասն այն է, որ հասանելիությունը և լիազորումը տարբեր տեղերում կայացվող առանձին որոշումներ են։ Նախածանցի մեջ տանող երթուղին ոչինչ չի ասում այն մասին, թե աշխատանոցային կայանում որ ծառայությունն ինքնությունը կարող է օգտագործել, և թունելը թույլատրող հրային պատի կանոնը ոչինչ չի ասում այն մասին, թե արդյոք հաշիվը կարող է մուտք գործել։ Կարգավորեք երկուսն էլ, ստուգեք երկուսը, և լիազորման որոշումը պահեք ռեսուրսի տերը հանդիսացող համակարգի մոտ, այլ ոչ թե երթուղավորման աղյուսակի մոտ։
Անցումը աշխատում է միայն այն դեպքում, երբ երկու կույտերն էլ այն իրականացնում են
Հավասարազոր հանգույցների միջև անցումը կոնկրետ համակարգի հնարավորություն է, ոչ թե VPN-ը բարելավող կարգավորում։ Interactive Connectivity Establishment-ը հավաքում է մի քանի թեկնածու հասցեներ և ստուգում զույգերը, մինչև մեկը աշխատի՝ հոսթ թեկնածուներ տեղական միջերեսներում, սերվերային արտացոլող թեկնածուներ՝ կառուցված այն բանից, ինչ բացահայտում է NAT-ը, և ռելեում հատկացված ռելե թեկնածուներ։ Միայն մասնավոր հասցեն ուղի չէ, քանի որ մյուս կողմը չի կարող այնտեղ երթուղավորել։
Ռելեային դեպքն արժե հասկանալ նախքան այն մերժելը։ RFC 8656 նկարագրում է TURN-ը որպես արձանագրություն, որում հաճախորդը սերվերից խնդրում է ռելեային տրանսպորտային հասցե, և սերվերը փոխանցում է երթևեկությունը այդ հաճախորդի և նրա հավասարազոր հանգույցների միջև։ Այսպիսով տվյալները կրում է ռելեն, ինչը էապես տարբերվում է գրացուցակից, որն ընդամենը օգնում է վերջնակետերին հանդիպել։ Ռելեային հասցեի փոխանակումը զուգընկերոջ հետ համակարգման քայլ է, որը հավելվածը պետք է կատարի։
Այն, ինչ չեք կարող խոստանալ, ուղիղ ուղին է։ Համաչափ NAT-ը և որոշ կորպորատիվ հրային պատեր խափանում են անցքերի փորումը, և երբ դա տեղի է ունենում, համակարգը կա՛մ վերադառնում է ռելեի, կա՛մ ձախողվում է, ուստի չեք կարող նաև եզրակացնել, որ երկու թարգմանված վերջնակետեր երբեք չեն կարող խոսել։ Աջակցվող կույտը ռելեային պահուստով գոյություն ունի հենց այն պատճառով, որ նրանք հաճախ կարող են։ Որոշեք՝ հասանելիությունը, թե ուղղությունը ավելի կարևոր է, ապա ստուգեք, թե տեղակայումն իրականում որ ուղին է ընտրել՝ բարենպաստ դեպքը ենթադրելու փոխարեն։
Բրոքերը ցանցից ավելի նեղ է
Երբ պահանջը մեկ հավելված է, հավելվածային բրոքերը կամ աշխատանոցային կայանի սկսած հակադարձ կապը կարող են լինել ամենափոքր պատասխանը։ Աշխատանոցային կայանը դուրս զանգահարում է բրոքերին, բրոքերը նույնականացնում է հեռավոր օգտատիրոջը, և կրում է միայն այդ հավելվածային նստաշրջանը։ Աշխատանոցային կայանի ենթացանց տանող երթուղի չի ստեղծվում, ուստի հեռավոր նստաշրջանի վնասումը չի ժառանգում ուղի դեպի կողքի յուրաքանչյուր սարք։
Այդ նեղությունն ունի գին՝ յուրաքանչյուր լրացուցիչ հավելված պահանջում է իր ինտեգրումը, և այն ամենը, ինչ հավելվածը ենթադրում է տեղական ցանցի մասին, օրինակ՝ ֆայլային համօգտագործում, որը բացում է մոտակա սերվերում, կարող է հասանելի չլինել։ Բրոքերները նաև քաղաքականությունն ու գրանցումը կենտրոնացնում են մեկ տեղում, ինչը օգտակար է այնքան ժամանակ, քանի դեռ այդ տեղը չի դառնում խափանում։
Համեմատեք վստահության սահմանները, ապա ստուգեք ուղին
Թունելները վերջացնող հանգույցը կարող է կարդալ իր երթուղավորած երթևեկությունը։ Ռելեն կարող է կրել ինքնուրույն պաշտպանված փոխանակում, երբ հավելվածը ծածկագրում է ծայրից ծայր, իսկ բրոքերը սովորաբար վերջացնում է իր ներկայացրած նստաշրջանը։ Սահմանեք, թե որտեղ է պաշտպանությունն իրականում ավարտվում, նախքան որոշելը, որ երկու ձևավորում համարժեք են, որովհետև երկուսն էլ ծածկագրված են։
Ապա ստուգեք, թե աշխատանոցային կայանն իրականում ինչին է հասնում դուրս, քանի որ վերևի բոլոր ձևավորումները դրանից են կախված։ Գործարկեք սա աշխատանոցային կայանում՝ փոխարինելով այն հոսթանունը, որը մտադիր եք օգտագործել։
ss -lntup
nc -vz hub.example.com 443
curl -sS -o /dev/null -w "%{http_code}\n" https://hub.example.com
Ընդունեք ձևավորումը միայն այն բանից հետո, երբ նախատեսված հեռավոր գործողությունը հաջողվի թույլատրված ինքնության ներքո, չհաստատված ինքնությունը մերժվի, և ուղիղ կամ ռելեային ուղու անհասանելիության դեպքում վարքագիծը հայտնի ու փաստաթղթավորված լինի։ Ներառեք վերակապակցումը և աշխատանոցային կայանի սովորական մեկնարկային համատեքստը, քանի որ գրասենյակում LAN-ով սկսված նստաշրջանը ոչինչ չի ստուգում, ինչից կախված է հեռավոր հասանելիությունը։