Povežite se z VPN pisarne, zaženite majhno storitev na vratih 8443, pošljite naslov tunela sodelavcu in opazujte, kako povezava ne uspe, medtem ko odjemalec še vedno poroča, da je povezan. V tunelu ni nič pokvarjeno: naslov je bil dodeljen, seja je aktivna, paketi, ki bi nosili odgovor, pa preprosto nikoli niso spuščeni. Izvedite tri spodnje preveritve po vrsti in ustavite se pri tisti, ki ne uspe, ker ima vsaka drugačno popravilo in le ena od njih se nanaša na VPN.

Začnite s tem, kam je vtičnica v resnici vezana

Preden se karkoli usmeri, mora nekaj poslušati na naslovu, ki ga klicatelj lahko doseže. Razvojni strežniki so običajni krivec, ker se mnogi privzeto vežejo na loopback in sprejemajo samo povezave z istega stroja. Naslov tunela te vezave ne spremeni, operacijski sistem pa bo povezavo zavrnil veliko prej, preden bo VPN sploh vpleten.

ss -ltnp | grep 8443
netstat -ano | findstr 8443

Berite stolpec lokalnega naslova, ne stanja. 127.0.0.1:8443 pomeni samo loopback, popravilo pa je vezava na 0.0.0.0 ali na sam naslov tunela. 0.0.0.0:8443 sprejema na vseh vmesnikih, kar je širše, kot večina namerava, ko ima stroj tudi javni naslov; 10.64.7.15:8443 je ozka različica, ki posluša le tam, kamor lahko pride sodelavec. Bodite pozorni tudi na ime procesa v istem izhodu, ker je zalutala instanca iz prejšnjega testa pogost razlog, da so vrata videti odprta in odgovarjajo z napačno vsebino.

Nato vprašajte, ali lahko karkoli usmerja do tega naslova

Naslov tunela ima smisel samo za partnerje, ki so nastavljeni tako, da to predpono pošiljajo v tunel. Sodelavčev stroj ima svojo tabelo in brez poti do podomrežja tunela paket odide na privzeti prehod in umre na mestu, ki ne ve, da naslov obstaja. To je vprašanje usmerjanja na strani klicatelja, ne dovoljenje na vaši strani.

Symptom from the callerWhat it usually meansWhere to look next
Connection refused immediatelyNothing is listening on the address the packet reachedThe bind address and the process owning the port
Connection times out with no replyA policy dropped the packet, or no route returnsServer forwarding, host firewall, cloud security group
Works from the same machine onlyListener is on loopback, or no route reaches the tunnel addressBind address, then the caller's route to that prefix

Strežnik med obema odjemalcema šteje prav toliko. V običajni zasnovi oddaljenega dostopa vsak odjemalec odpre odhodno povezavo do prehoda, prehod pa hrani stanje teh tokov, zato se odgovori vračajo po poti, ki jo že pozna. Povezava od enega odjemalca do drugega je nov tok, ki ga mora prehod sprejeti in posredovati, in številne namestitve to namerno izklopijo, da ohranijo odjemalce ločene med seboj. Potrošniške storitve VPN običajno privzeto ločujejo; poslovni prehodi to včasih dovolijo po skupinah.

Preverite smer, preden karkoli spremenite na gostitelju. Če naslov tunela odgovarja s prehoda samega, ne pa s partnerja, je razlika v nastavitvi odjemalec-odjemalec na prehodu, in nobeno urejanje lokalnega požarnega zidu je ne more nadomestiti.

Nazadnje poiščite politiko, ki tok dovoljuje

Med usmerjenim paketom in storitvijo, ki odgovarja, so tri plasti politike: odločitev strežnika VPN o posredovanju, požarni zid gostitelja in morebitna oblačna varnostna skupina pred instanco. Vse tri se morajo ujemati in ne uspevajo na različne načine, zato je simptom v zgornji tabeli uporabnejši od sporočila o napaki v brskalniku.

Požarni zid gostitelja je plast, ki jo ljudje po uspešni vezavi pozabijo, ker pravilo, ki dovoli vrata na vmesniku LAN, tega ne dovoli samodejno na vmesniku tunela. Pravila, omejena na vmesnik, so pravilna zasnova in hkrati pogost vzrok storitve, ki deluje iz pisarne in ne od doma. Berite obseg pravila, ne številke vrat.

Filtriranje s stanjem pojasni nasprotni primer. Odhodna povezava z vašega prenosnika ustvari stanje in odgovori nanjo so spuščeni brez vhodnega pravila. Sodelavčeva povezava je povsem nov tok brez stanja za seboj, zato potrebuje izrecno dovoljenje. Ta asimetrija je ves razlog, da delujoča seja brskalnika na vašem lastnem stroju ne pove ničesar o tem, ali je storitev dosegljiva od zunaj.

Ko ena preveritev ne uspe, spremenite zasnovo, ne tunela

Če je zahteva, da sodelavec odpre vašo lokalno storitev, je pošten odgovor običajno mehanizem, zgrajen za vhodni dostop. Obrnjen tunel SSH je najmanjši: vaš stroj se odhodno poveže z gostiteljem, ki ga sodelavec že doseže, in poslušalec obstaja na tem gostitelju.

ssh -N -R 8443:127.0.0.1:8443 [email protected]

Posredovalnik potrebuje GatewayPorts clientspecified v konfiguraciji strežnika SSH, sicer se posredovani poslušalec veže na loopback na posredovalniku in sodelavec naleti na enako zavrnitev kot prej. Za vse, kar traja dlje kot popoldne, je boljše orodje uravnavalnik obremenitve ali ingress s preverjanjem stanja in potrdilom za objavljeno ime, tunel med lokacijama s potmi za obe podomrežji pa je pravi odgovor, ko morata dve omrežji res govoriti.

Vsaka od teh zasnov naredi izpostavljenost izrecno, in to je poanta. VPN premika pakete med omrežji, za katera ste že bili pooblaščeni; ne objavi storitve in ne spremeni prenosnika v gostitelja, obrnjenega v internet. Naloga je odločiti, katero od treh plasti spremeniti, in tunel je redko ena od njih.

Sorodni članki