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 smije pokucati. Ako bilo koju od njih tretirate kao cijeli odgovor, dobijate poznatu žalbu: host odgovara na pingove, ali aplikacija se nikada ne poveže. Uloge nisu iste, a razlika je upravo tamo gdje živi dizajnerski rad.

Smjer povezivanja ne govori ništa o smjeru usluge

Kada klijent pokrene tunel, otvara put koji oba smjera mogu koristiti nakon što postoji. Da li nova veza smije 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 primjer, serveru treba ruta do unutrašnje adrese klijenta i prosljeđivanje koje dopušta peer odnos.

Zamislite inventarni sistem koji ispituje agenta na roaming laptopima ili programera kojem treba testni API s 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 se ovdje razlikuju i ta razlika nije greška. Neki upravljani VPN-ovi namjerno blokiraju neželjene veze prema povezanim klijentima jer je njihov model klijent-prema-resursu, a ne resurs-prema-klijentu. Pročitajte dokumentovanu arhitekturu proizvoda prije nego kolegi obećate da njegov laptop može djelovati kao server.

Pratite povratni put prije nego otvorite port

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

Dobra vijest je da unutrašnji put ne treba prosljeđivanje porta na klijentovom kućnom ruteru. Upravo je to smisao objavljivanja usluge na adresi tunela umjesto na kućnoj WAN adresi, gdje bi izloženost i NAT pravila bila sasvim drugačija. Kućni ruter može i odbiti da vrati vezu koja dolazi iz ureda, pa WAN ruta zataji iz razloga nepovezanih s vašim VPN-om. Držanje prometa unutar tunela izbjegava oba problema odjednom.

Provjerite i stranu mete. 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 s lokalne podmreže također će odbaciti uredski promet, a to pravilo je neovisno 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 prijeći tunel, jer link-local multicast razrješ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 s kratkim zakupom, unutrašnja adresa laptopa mijenja se između sesija i svaka oznaka, firewall opseg i monitoring provjera izgrađena na njoj tiho se lomi. Koristite rezervaciju ili dokumentovan put dinamičkog ažuriranja.

Uskladite ime s onim ko posjeduje VPN identitet, tako da se zapis, dodjela adrese i politika pristupa mijenjaju zajedno, a ne u tri odvojena tiketa.

Testirajte uslugu, a ne članstvo

S mete 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 s uredske strane stvarnim zahtjevom, a ne odjekom. Uspješan curl prema usluzi dokazuje rutu, politiku i slušaoca odjednom, dok uspješan ping dokazuje samo da je ICMP dopušten. Ako zahtjev ne uspije, idite unazad kroz tri dijela umjesto da širite firewall i nadate se.

Dostupnost pripada istom razgovoru. Laptop spava, roamuje 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 namjerno — s imenom, listom dopuštenih pozivalaca i vlasnikom — i udaljeni uređaj postaje podržana usluga, a ne slučajni server.

Povezani članci