VPN u gostu i VPN na hostu: koja ruta zapravo pobjeđuje
Dva klijenta, dvije podrazumijevane rute i jedan zbunjujući simptom. Zapišite priključak gosta, pratite njegovu krajnju točku prema van, zatim mijenjajte jednu varijablu odjednom.
Dva klijenta rade istovremeno, svaki uvjeren da posjeduje podrazumijevanu rutu, a simptom dolazi kao nešto čudno: jedna aplikacija gosta radi, druga se razrješava na pogrešno mjesto. VPN unutar gosta i VPN na hostu mogu postojati zajedno, ali samo kada se vanjska putanja i unutarnja politika slažu oko toga ko što nosi. Pokretanje oba ne stvara lanac samo po sebi. Prvo zapišite priključak, zatim mijenjajte jednu stvar odjednom.
Prvo zapišite priključak gosta
Gost dolazi do svog VPN poslužitelja putem kojeg mu je hipervizor dao: NAT iza hosta, most na fizički segment ili mreža samo za host s dodanim usmjeravanjem povrh. Svaki priključak mijenja što gost može vidjeti i što host može učiniti s njegovim prometom. Pod NAT-om paketi gosta izgledaju kao da dolaze s hosta, pa ih vlastiti tunel hosta može nositi bez da gost o tome zna ijednu stvar. Pod mostom gost ima vlastitu prisutnost na segmentu i vlastiti podrazumijevani pristupnik.
Zapišite priključak prije nego što dotaknete bilo koju konfiguraciju, zajedno s tim koji klijent treba nositi koju aplikaciju. Ta rečenica rješava većinu ovakvih zahtjeva, jer su dva klijenta obično izgrađena na različitim pretpostavkama. Gost od kojeg se očekuje da koristi tunel hosta ne smije imati i vlastitu konkurentsku podrazumijevanu rutu.
Pratite krajnju točku gosta prema van
VPN gosta treba upotrebljivu putanju do vlastitog poslužitelja prije nego što išta drugo može raditi. Kada je tunel hosta aktivan i gost sjedi iza NAT-a, rukovanje gosta izlazi kroz tunel hosta, što je ili dizajn ili nesreća koju nitko nije dokumentirao. Kada tunel hosta padne i gost je o njemu ovisio, gost gubi povezivost bez ijedne promjene na svojoj strani. Praćenje krajnje točke prema van kaže vam koji od ta dva slučaja stvarno imate.
Široka ruta u oba konteksta hvata promet koji je drugi klijent očekivao. Ruta 0.0.0.0/0 unutar gosta i klijent hosta s punim tunelom oboje polažu pravo na sve, a pobjeđuje onaj koji se primijeni posljednji. Preklapanja između virtualnih mreža gosta, lokalnog LAN-a i udaljenih mreža daju isti učinak za privatne prefikse, s kvarovima koji nalikuju problemima autentifikacije; ponašanje prevođenja adresa isto je ono opisano za umrežavanje kontejnera.
Usporedite zapis prije i poslije
Uzmite osnovnu liniju s isključenim tunelom hosta ili u bilo kojem kontroliranom stanju koje vaša politika dopušta i zapišite rutu i razrješivač gosta. Zatim primijenite kombiniranu konfiguraciju i usporedite dva zapisa, čuvajući zahtjeve privatnosti. Ako izravna osnovna linija nije prikladna, upišite to ograničenje u zapis umjesto da preskočite usporedbu.
ip route get 10.20.30.41
ip rule show
resolvectl status --no-pager | head -12
Upit rute imenuje sučelje i izvorišnu adresu koje bi nosile određeno odredište i to je najkorisniji pojedinačni redak u ovoj istrazi. Popis pravila pokazuje šalje li politika usmjeravanja neka odredišta kroz drugu tablicu. Izlaz razrješivača pokazuje je li DNS slijedio tunel gosta ili je ostao na putanji hosta. Pokrenite iste tri naredbe prije i poslije promjene i razlika će imenovati krivca.
Održite vlasništvo jasnim kroz ponovna pokretanja
Ograničenje lokalnog pristupa klijenta hosta može blokirati promet prema virtualnom NAT-u ili mostu i to se ograničenje redovito zamjenjuje s problemom vjerodajnica gosta. Pročitajte dokumentirano ponašanje klijenta umjesto da onemogućite ograničenje kako bi test prošao. Nakon podržane ispravke ponovno testirajte aplikaciju gosta i politiku kvara koju zahtijevate. Host koji se uspješno ponovno poveže ne dokazuje ništa o ruti ili razrješivaču gosta.
Odlučite koja strana posjeduje podrazumijevanu rutu i to zapišite u priručnik. Ponovno pokretanje gosta ili promjena mreže na hostu koja tiho preokrene vlasništvo proizvodi prijavu greške o VPN-u koji nikada nije bio kriv. Raspored treba preživjeti ponovno podizanje bez toga da se itko sjeća zašto je radio.