Pasiekti darbo stotelę už NAT be prievado peradresavimo
Darbo stotelė be įeinančio prievado vis tiek pasiekiama per koncentratorių, relelio serverį ar programų brokerį. Palyginkite, ką garantuoja kiekvienas sprendimas, prieš rinkdamiesi vieną.
Du galiniai taškai už operatoriaus NAT ir užrakintas biuro maršrutizatorius nepalieka jokio įeinančio prievado peradresuoti, o refleksas yra vis tiek jo paprašyti. Geresnis klausimas – kuri pusė gali skambinti į išorę ir kuriai pasiekiamai paslaugai leidžiama perduoti srautą. Keturi sprendimai į šį klausimą atsako skirtingai ir nepavyksta skirtingai, kai kelias užblokuotas. Pasirinkimas tarp jų yra garantijų, o ne protokolų pavadinimų palyginimas.
Keturi sprendimai, keturi skirtingi pažadai
Žemiau pateikta lentelė yra trumpoji versija. Vidurinį stulpelį skaitykite kaip pažadą, kurį galite patikrinti, o dešinį – kaip pažadą, kurio niekas nedavė.
| 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 |
Kuri eilutė taikoma, priklauso nuo užduoties, o ne nuo pageidavimo. Viena nuotolinio darbalaukio sesija, vienas administravimo apvalkalas ir prieiga prie viso privataus potinklio yra trys reikalavimai, kuriems nereikia to paties įėjimo taško, net jei jie atsitiktinai susiję su ta pačia mašina.
Koncentratorius keičia, kas skambina į išorę, o ne ką leidžiama
Sprendime su maršrutizuotu koncentratoriumi nuotolinis nešiojamasis kompiuteris ir darbo stotelė, arba priešais ją esantys svetainės vartai, kiekvienas atidaro išeinantį tunelį į paslaugą, kurią abu gali pasiekti. Niekas nepriima neprašyto ryšio darbo stotelės maršrutizatoriuje, ir būtent todėl šis sprendimas išgyvena NAT ir veikia net tada, kai svetainė neturi statinio adreso. Tada koncentratorius maršrutizuoja srautą tarp dviejų vidinių adresų pagal savo politiką.
Kaina ta, kad koncentratorius turi egzistuoti, būti pasiekiamas iš abiejų pusių ir kažkas turi jį valdyti. Išeinančio srauto filtravimas turi leisti transportą, o tinklas, kuris jį blokuoja, sugriaus sprendimą, net jei prievado peradresavimo nereikėjo.
Subtilioji dalis ta, kad pasiekiamumas ir autorizacija yra atskiri sprendimai, priimami skirtingose vietose. Maršrutas į prefiksą nieko nesako apie tai, kurią darbo stotelės paslaugą tapatybė gali naudoti, o ugniasienės taisyklė, leidžianti tunelį, nieko nesako apie tai, ar paskyra gali prisijungti. Konfigūruokite abu, išbandykite abu, o autorizacijos sprendimą palikite sistemai, kuri valdo išteklių, o ne maršrutizavimo lentelei.
Pralaužimas veikia tik tada, kai abi krūvos jį įgyvendina
Pralaužimas tarp lygiaverčių mazgų yra konkrečios sistemos savybė, o ne nustatymas, gerinantis VPN. Interactive Connectivity Establishment surenka kelis kandidatų adresus ir tikrina poras, kol viena veikia: mazgo kandidatai vietiniuose sąsajuose, serverio atspindžio kandidatai, sudaryti iš to, ką atskleidžia NAT, ir relelio kandidatai, priskirti relelio serveryje. Vien privatus adresas nėra kelias, nes kita pusė negali į jį maršrutizuoti.
Relinį atvejį verta suprasti prieš jį atmetant. RFC 8656 aprašo TURN kaip protokolą, kuriame klientas prašo serverio relinio transporto adreso, o serveris perduoda srautą tarp to kliento ir jo lygiaverčių mazgų. Taigi duomenis neša relė, o tai iš esmės skiriasi nuo katalogo, kuris tik padeda galiniams taškams susitikti. Relės adreso keitimas su kita puse yra koordinavimo žingsnis, kurį programa turi atlikti.
Ko negalite pažadėti, tai tiesioginio kelio. Simetrinis NAT ir kai kurios įmonių ugniasienės nugali skylių gręžimą, o kai taip atsitinka, sistema arba grįžta prie relės, arba nepavyksta. Taip pat negalite daryti išvados, kad du išversti galiniai taškai niekada negalės kalbėtis; palaikoma krūva su relės atsarginiu variantu egzistuoja būtent todėl, kad jie dažnai gali. Nuspręskite, ar svarbiau prieinamumas, ar tiesioginis ryšys, tada patikrinkite, kokį kelią diegimas iš tikrųjų pasirinko, o ne darykite prielaidą apie palankų atvejį.
Brokeris yra siauresnis už tinklą
Kai reikalavimas yra viena programa, programų brokeris arba darbo stotelės pradėtas atvirkštinis ryšys gali būti mažiausias atsakymas. Darbo stotelė skambina į išorę brokeriui, brokeris autentifikuoja nuotolinį naudotoją, ir perduodama tik ta programos sesija. Maršrutas į darbo stotelės potinklį nesukuriamas, todėl nuotolinės sesijos pažeidimas nepaveldi kelio į kiekvieną įrenginį šalia.
Šis siaurumas turi kainą: kiekviena papildoma programa reikalauja savo integracijos, o viskas, ką programa daro prielaidą apie vietinį tinklą, pavyzdžiui, failų bendrinimas, kurį ji atidaro netoliese esančiame serveryje, gali būti nepasiekiama. Brokeriai taip pat sutelkia politiką ir registravimą vienoje vietoje, o tai naudinga tol, kol ta vieta netampa trikdžiu.
Palyginkite pasitikėjimo ribas, tada išbandykite kelią
Koncentratorius, kuris užbaigia tunelius, gali skaityti jo maršrutizuojamą srautą. Relė gali perduoti nepriklausomai apsaugotą apsikeitimą, kai programa šifruoja nuo galo iki galo, o brokeris paprastai užbaigia sesiją, kurią pateikia. Nustatykite, kur apsauga iš tikrųjų baigiasi, prieš nuspręsdami, kad du sprendimai yra lygiaverčiai, nes abu yra šifruoti.
Tada patikrinkite, ką darbo stotelė iš tikrųjų pasiekia išeidama, nes kiekvienas aukščiau pateiktas sprendimas nuo to priklauso. Vykdykite tai darbo stotelėje, pakeisdami pagrindinio kompiuterio vardą, kurį ketinate naudoti.
ss -lntup
nc -vz hub.example.com 443
curl -sS -o /dev/null -w "%{http_code}\n" https://hub.example.com
Priimkite sprendimą tik po to, kai numatyta nuotolinė operacija pavyksta leidžiamos tapatybės sąlygomis, nepatvirtinta tapatybė atmetama, o elgsena, kai tiesioginis ar relinis kelias nepasiekiamas, yra žinoma ir dokumentuota. Įtraukite pakartotinį prisijungimą ir įprastą darbo stotelės paleidimo kontekstą, nes sesija, prasidėjusi biure per LAN, netikrina nieko, nuo ko priklauso nuotolinė prieiga.