Jūsų biuro nešiojamasis kompiuteris gali prisijungti iš namų ir vis tiek teikti tai, ko biurui reikia, bet tik tada, kai sutampa trys atskiri sprendimai. Tunelis yra transportas, vidinis adresas yra paskirties vieta, o politika nusprendžia, kas gali pasibelsti. Jei bent vieną jų laikote visu atsakymu, kyla pažįstamas skundas: priegloba atsako į ping, bet programa niekada neprisijungia. Vaidmenys nėra vienodi, ir skirtumas yra būtent ten, kur gyvena dizaino darbas.

Prisijungimo kryptis nieko nesako apie paslaugos kryptį

Kai klientas pradeda tunelį, jis atveria kelią, kurį abi kryptys gali naudoti, kai jis jau egzistuoja. Ar naujas ryšys gali įeiti iš centro link to kliento, yra tinklų sietuvo politikos klausimas, o ne prisijungusiojo savybė. Pavyzdžiui, maršrutizuotame OpenVPN centre serveriui reikia maršruto iki kliento vidinio adreso ir persiuntimo, kuris leidžia lygiaverčių ryšį.

Įsivaizduokite atsargų sistemą, kuri apklausia agentą klajojančiuose nešiojamuose kompiuteriuose, arba kūrėją, kuriam reikia bandomosios API iš darbo vietos namuose. Abiem reikia, kad pokalbį pradėtų biuro pusė, o tai yra priešingybė įprastam kliento-prie-serverio modeliui.

Prieglobos nuotolinės prieigos produktai čia skiriasi, ir tas skirtumas nėra klaida. Kai kurie valdomi VPN sąmoningai blokuoja neprašytus ryšius link prisijungusių klientų, nes jų modelis yra klientas-prie-ištekliaus, o ne išteklius-prie-kliento. Perskaitykite dokumentuotą produkto architektūrą prieš žadėdami kolegai, kad jo nešiojamasis kompiuteris gali veikti kaip serveris.

Sekite grįžtamąjį kelią prieš atidarydami prievadą

Kelią sudaro trys dalys: maršrutas tinklų sietuve, rodantis į vidinį kliento adresą, politika, leidžianti konkretų skambintoją, ir klausanti paslauga tiksliniame taške. Kiekviena dalis sugenda skirtingai, todėl „VPN veikia“ beveik nieko nesako.

Gera žinia ta, kad vidiniam keliui nereikia prievado persiuntimo kliento namų maršrutizatoriuje. Būtent tai ir yra prasmė skelbti paslaugą tunelio adresu, o ne namų WAN adresu, kur prieinamumas ir NAT taisyklės būtų visiškai kitokios. Namų maršrutizatorius taip pat gali atsisakyti hairpin ryšio, ateinančio iš biuro, todėl WAN kelias sugenda dėl priežasčių, nesusijusių su jūsų VPN. Laikant srautą tunelio viduje, išvengiama abiejų problemų iš karto.

Patikrinkite ir tikslinę pusę. Paslauga, susieta tik su 127.0.0.1, negali priimti ryšio, ateinančio per tunelio sąsają, kad ir kokie teisingi būtų tinklų sietuvo maršrutai. Prieglobos ugniasienės taisyklė, leidžianti prievadą tik iš vietinio potinklio, taip pat numes biuro srautą, ir ta taisyklė nepriklauso nuo aukščiau esančios VPN politikos.

Vardai ir adresai yra dizaino sprendimai

Adresas tunelio viduje savaime nėra vardas. Jūsų valdomas privatus DNS įrašas yra aiškesnis nei viltis, kad atradimo protokolas kirs tunelį, nes link-local multicast vardų skyrimas lieka vietiniame segmente ir netampa tarp-potinkliu DNS.

Adreso stabilumas taip pat svarbus. Jei VPN klientai ima adresus iš trumpo nuomos baseino, nešiojamojo kompiuterio vidinis adresas keičiasi tarp sesijų ir kiekviena ant jo pastatyta žymė, ugniasienės apimtis ir stebėjimo patikra tyliai sugenda. Naudokite rezervaciją arba dokumentuotą dinaminio atnaujinimo kelią.

Suderinkite vardą su tuo, kas valdo VPN tapatybę, kad įrašas, adreso priskyrimas ir prieigos politika keistųsi kartu, o ne trijuose atskiruose bilietuose.

Išbandykite paslaugą, o ne narystę

Iš tikslo patvirtinkite, kas klauso ir kokiu adresu, tada patvirtinkite tinklų sietuvo požiūrį į grįžtamąjį kelią:

$ ss -ltnp | grep 8080
LISTEN 0 128 10.80.0.23:8080 0.0.0.0:*
$ ip -4 addr show tun0 | grep inet
inet 10.80.0.23/24 scope global tun0
$ ip route get 10.80.0.1
10.80.0.1 dev tun0 src 10.80.0.23

Dabar išbandykite iš biuro pusės tikru užklausimu, o ne atgarsiu. Sėkmingas curl paslaugai įrodo maršrutą, politiką ir klausytoją vienu metu, o sėkmingas ping įrodo tik tai, kad ICMP leidžiamas. Jei užklausa nepavyksta, eikite atgal per tris dalis, o ne platinkite ugniasienę ir tikėkitės.

Prieinamumas priklauso tam pačiam pokalbiui. Nešiojamasis kompiuteris miega, klajoja tarp tinklų ir atsijungia dienos pabaigoje. Paslauga, kuri turi atsakyti bet kurią valandą, priklauso visada įjungtai prieglobai, o geriausių pastangų paslauga gali likti kliente su užrašytu apribojimu.

Paskelbkite išteklių sąmoningai, su vardu, leidžiamų skambintojų sąrašu ir savininku, ir nuotolinis įrenginys tampa palaikoma paslauga, o ne atsitiktinis serveris.

Susiję straipsniai