Dom i ured oba koriste 192.168.1.0/24, pa zahtjev za 192.168.1.1 ima dva moguća odgovora i klijent bira jedan bez pitanja. Prenumerisanje radne uredske mreže rijetko je popularno, a adrese rutera su često ugrađene u štampače, kamere i dokumentaciju. Mapiranje adresa na strani klijenta može umjesto toga prikazati udaljenu mrežu pod slobodnim opsegom, a dio za hosta može ostati isti tako da se 192.168.1.20 pojavljuje kao 10.203.41.20. Kvaka je u tome što ga implementiraju samo neki klijenti i što ne radi ništa za povratni put.

Dva pogleda na isti host

Mapiranje zadržava dio za hosta i mijenja samo mrežni dio. Isti uređaj tada odgovara na dvije adrese ovisno o tome gdje stojite. Zapisivanje oba stupca prije bilo kakvog podešavanja sprječava kasnije pogrešno čitanje dnevnika i pravila firewall-a.

The application dialsThe remote device is
10.203.41.1192.168.1.1
10.203.41.20192.168.1.20

Lokalni uređaji kod kuće zadržavaju svoje adrese 192.168.1.x, i to je poanta vježbe. Štampač u susjednoj sobi ostaje dostupan dok se ured pojavljuje pod opsegom koji se ne preklapa.

Redoslijed argumenata je cijeli trik

Opcija prima smjer, mrežu i masku te alias: prva mreža je ono što klijent vidi, alias je ono što server vidi. Za resurse koji se nalaze iza udaljenog gatewaya smjer je oblik odredišta. Zamjena dviju mreža zato što se zadnji argument zove alias greška je koja stvara tunel koji se spaja i ništa ne mapira.

push "route 10.203.41.0 255.255.255.0"
push "client-nat dnat 10.203.41.0 255.255.255.0 192.168.1.0"

Ruta je ono što pakete klijenta za novi opseg šalje u tunel; prijevod prepisuje odredište na prolazu. Odgovor s 192.168.1.20 prepisuje se natrag u 10.203.41.20 tako da socket na klijentu ostaje dosljedan. Jedan host radi isto s maskom pune dužine, dokle god ruta i mapiranje opisuju istu adresu.

Ovo je mapiranje adresa, ne mapiranje portova. Dvije usluge na jednom hostu ne mogu se tako razdvojiti, a protokol koji ugrađuje IP adrese u svoj payload i dalje će vidjeti prave.

Mapiranje ne stvara povratni put

Prijevod se događa na klijentu, pa server i dalje mora usmjeravati odgovore u tunel i njegov firewall ih i dalje mora dopuštati. Ako udaljeni gateway ne zna kako doći do podmreže tunela, zahtjev stiže a odgovor izlazi kroz pogrešna vrata; mapiranje samo čini da kvar izgleda kao problem klijenta.

Pravila na strani servera treba da opisuju adrese koje postoje na serveru nakon prijevoda, a ne opseg vidljiv klijentu. Kopiranje aliasa u pravilo dopuštanja troši popodne, jer nijedan paket na toj strani ga ne nosi.

Odaberite alias opseg koji se ne preklapa ni s čim drugim što klijent usmjerava: drugi VPN, kontejnerska mreža, drugi ured. Preklapanje ovdje ponovno uvodi izvornu dvosmislenost pod drugim brojem i teže se vidi jer adrese izgledaju nepoznato.

Imena i payload preživljavaju prijevod

Ime hosta koje se razrješava na pravi 192.168.1.20 šalje preglednik na lokalni uređaj umjesto na udaljeni, bez obzira što kaže tablica usmjeravanja. Odgovor privatnog DNS-a mora pokazivati na opseg vidljiv klijentu, dok TLS certifikat i dalje nosi ime koje aplikacija očekuje. Testirajte imenom, a ne adresom, jer adresa može raditi dok se ime tiho razrješava u pogrešnom smjeru. Kada udaljeni gateway također poslužuje tu zonu, i njegovi zapisi trebaju opseg vidljiv klijentu.

Preusmjeravanja, ugrađeni URL-ovi i aplikacije koje u payloadu daju vlastitu adresu mogu se pokvariti na načine koje nijedno mapiranje paketa ne može popraviti. Tretirajte ih kao problem aplikacije i procijenite trud u skladu s tim prije nego što obećate da prenumerisanje nije potrebno.

Tri provjere prije obaveze

Prvo, potvrdite implementaciju klijenta. Community OpenVPN podržava ovu opciju; OpenVPN 3 kodna baza navodi je među nepodržanim funkcijama, pa profil poslan Connect klijentu može je jednostavno zanemariti. Direktiva koja se prihvati i nikada ne primijeni gora je od greške, jer tunel izgleda zdrav.

Drugo, provjerite rutu i prijevod odvojeno kratkim dijagnostičkim prozorom pri visokoj verbosnosti, a zatim testirajte stvarnu uslugu umjesto pinga. Treće, potvrdite da lokalni ruter i udaljeni resurs ostaju razlučivi od klijenta, jer to je bio izvorni cilj.

Ako klijent ne može obaviti prijevod, zatražite pomoć sa strane gatewaya ili prihvatite prenumerisanje. Dodavanje još ruta za istu adresu nije dizajn.

Povezani članci