Vaš uredski laptop može se povezati od kuće i ipak pružati nešto što uredu treba, ali samo kada se poklope tri odvojene odluke. Tunel je transport, unutrašnja adresa je odredište, a politika odlučuje ko sme da pokuca. Ako bilo koju od njih tretirate kao ceo odgovor, dobijate poznatu žalbu: host odgovara na pingove, ali aplikacija se nikada ne poveže. Uloge nisu iste, a razlika je upravo tamo gde živi dizajnerski rad.

Smer povezivanja ne govori ništa o smeru usluge

Kada klijent pokrene tunel, otvara put koji oba smera mogu koristiti nakon što postoji. Da li nova veza sme ući od čvorišta prema tom klijentu je pitanje gateway politike, a ne svojstvo onoga ko se povezao. Na rutiranom OpenVPN čvorištu, na primer, serveru treba ruta do unutrašnje adrese klijenta i prosleđivanje koje dopušta peer odnos.

Zamislite inventarski sistem koji ispituje agenta na roaming laptopovima ili programera kome treba testni API sa radne stanice kod kuće. Oboje žele da uredska strana započne razgovor, što je obrnuto od uobičajenog obrasca klijent-prema-serveru.

Hostovani proizvodi za daljinski pristup razlikuju se ovde i ta razlika nije greška. Neki upravljani VPN-ovi namerno blokiraju neželjene veze prema povezanim klijentima jer je njihov model klijent-prema-resursu, a ne resurs-prema-klijentu. Pročitajte dokumentovanu arhitekturu proizvoda pre nego što kolegi obećate da njegov laptop može da deluje kao server.

Pratite povratni put pre nego što otvorite port

Put ima tri dela: rutu na gatewayu koja pokazuje na unutrašnju adresu klijenta, politiku koja dopušta konkretnog pozivaoca i uslugu koja sluša na cilju. Svaki deo zataji drugačije, zato „VPN radi“ ne govori gotovo ništa.

Dobra vest je da unutrašnji put ne treba prosleđivanje porta na klijentovom kućnom ruteru. Upravo je to smisao objavljivanja usluge na adresi tunela umesto na kućnoj WAN adresi, gde bi izloženost i NAT pravila bila sasvim drugačija. Kućni ruter može i da odbije hairpin veze koja dolazi iz ureda, pa WAN ruta zataji iz razloga nepovezanih sa vašim VPN-om. Držanje saobraćaja unutar tunela izbegava oba problema odjednom.

Proverite i stranu cilja. Usluga vezana samo za 127.0.0.1 ne može prihvatiti vezu koja dolazi na interfejs tunela, koliko god gateway rute bile ispravne. Pravilo host firewall-a koje dopušta port samo sa lokalne podmreže takođe će odbaciti uredski saobraćaj, a to pravilo je nezavisno od VPN politike iznad njega.

Imena i adrese su dizajnerske odluke

Adresa unutar tunela nije automatski ime. Privatni DNS zapis koji kontrolišete jasniji je od nade da će protokol za otkrivanje preći tunel, jer link-local multicast razrešavanje imena ostaje na lokalnom segmentu i ne postaje DNS između podmreža.

Stabilnost adrese je jednako važna. Ako VPN klijenti dobijaju adrese iz bazena sa kratkim zakupom, unutrašnja adresa laptopa menja se između sesija i svaka oznaka, firewall opseg i provera nadzora izgrađena na njoj tiho se lomi. Koristite rezervaciju ili dokumentovan put dinamičkog ažuriranja.

Uskladite ime sa onim ko poseduje VPN identitet, tako da se zapis, dodela adrese i politika pristupa menjaju zajedno, a ne u tri odvojena tiketa.

Testirajte uslugu, a ne članstvo

Sa cilja potvrdite šta sluša i na kojoj adresi, zatim potvrdite kako gateway vidi povratni put:

$ 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

Sada testirajte sa uredske strane stvarnim zahtevom, a ne odjekom. Uspešan curl prema usluzi dokazuje rutu, politiku i slušaoca odjednom, dok uspešan ping dokazuje samo da je ICMP dopušten. Ako zahtev ne uspe, idite unazad kroz tri dela umesto da širite firewall i nadate se.

Dostupnost pripada istom razgovoru. Laptop spava, roaming između mreža i isključuje se na kraju dana. Usluga koja mora odgovoriti u svako doba pripada stalno uključenom hostu, dok usluga po principu najboljeg truda može ostati na klijentu uz zapisano ograničenje.

Objavite resurs namerno, sa imenom, listom dopuštenih pozivalaca i vlasnikom, i udaljeni uređaj postaje podržana usluga, a ne slučajni server.

Povezani članci