DNS hosťa vo VirtualBox NAT sa pokazí po pripojení hostiteľa k VPN
Hosť má vlastný resolver a adaptér NAT má dva režimy DNS. Sledujte jedno vyhľadanie a potom rozhodnite, či režim resolvera hostiteľa vyhovuje politike VPN.
Na hostiteľovi Windows sa interný názov aplikácie preloží hneď po pripojení VPN, ale vnútri hosta Ubuntu nie. Hosť si zachováva vlastné nastavenia resolvera, a adaptér NAT pred ním môže odpovedať na DNS dopyt dvoma rôznymi spôsobmi. Nasmerovanie hosta na verejný resolver znova načíta weby, ale súkromné názvy zostanú pokazené. Preto sa cesta resolvera sleduje skôr, než sa čokoľvek upraví.
Sledujte jedno vyhľadanie cez adaptér NAT
Ako kontrolu vyberte jeden interný plne kvalifikovaný názov a jeden verejný názov. So zdvihnutým tunelom potvrďte na hostiteľovi, že interný názov sa preloží a aplikácia za ním sa otvorí. Potom spustite tie isté dva dopyty vnútri hosta a porovnajte odpovede, nie nástroje.
Pred pokračovaním potvrďte, že adaptér je naozaj obyčajný NAT. Premostený adaptér, pomenovaná sieť NAT a druhý klient VPN vnútri hosta majú každý vlastnú konfiguráciu a vlastné vysvetlenie. Hádanie v tomto bode plytvá zvyškom vyšetrovania.
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet resolvectl status | head -40 cat /etc/resolv.conf
Prvý príkaz zobrazuje režim adaptéra a akúkoľvek sieť NAT, ktorá je k nemu pripojená. V hostovi Ubuntu druhý vypíše nastavenia DNS pre jednotlivé spojenia a tretí často odhalí iba miestnu zástupnú adresu, čo znamená, že skutočný upstream je inde.
Držte preklad a dostupnosť oddelene. Hosť, ktorý dostane správnu adresu, ale nedokáže otvoriť spojenie, má problém s routovaním, filtrovaním alebo oprávnením služby, a ďalšie zmeny DNS sa ho nikdy nedotknú. Otestujte adresu zvlášť a zapíšte, ktorá z tých dvoch zlyhala.
Režim proxy a režim resolvera hostiteľa sú rôzne mechanizmy
V režime proxy stroj NAT posiela dopyty hosta serverom DNS, ktoré už pozná. V režime resolvera hostiteľa zachytí dopyt a požiada operačný systém hostiteľa, aby názov preložil tým, čo hostiteľ práve používa. Iba druhý nasleduje klienta VPN, ktorý pri zdvihnutí tunela prepisuje preklad na hostiteľovi. Preto dve nastavenia dávajú na tom istom stroji rôzne odpovede.
Tento rozdiel je celý problém v jednej vete. Dať hosťovi zoznam adries serverov nie je to isté ako požiadať Windows, aby názov preložil cez svoj nakonfigurovaný resolver, a pri VPN s rozdeleným DNS sa obe odpovede líšia. Voľba adaptéra sa týka mechanizmu, nie oprávnenia.
Ani jeden režim nič nesprístupňuje. Autorizácia žije v politike VPN a v službe a fungujúce vyhľadanie znamená len to, že sa názov zmenil na adresu.
Prepnite adaptér a potom overte, čo hosť dostane
Najprv si poznamenajte sieťové nastavenia a DNS virtuálneho stroja, potom stroj vypnite, aby ste upravovali trvalú konfiguráciu. Pri virtuálnom stroji s názvom work-ubuntu, ktorého prvý adaptér nesie NAT, sa voľba pre konkrétny adaptér nastavuje z hostiteľa, keď je stroj vypnutý. Potom ho znova spustite a výsledok si prezrite, namiesto toho, aby ste verili návratovému kódu.
VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns
Posledná číslica vyberá číslo adaptéra, takže to nie je univerzálna hodnota; nastavenie pre adaptér 2 by na tom mieste nieslo 2. Použite binárku VBoxManage, ktorá patrí k nainštalovanej verzii VirtualBoxu, pretože staršia v ceste môže zapísať nastavenia, ktoré bežiaca verzia ignoruje.
Zapnutie voľby proxy namiesto toho zvolí iný mechanizmus a nedá vám správanie resolvera hostiteľa. Po spustení hosta skontrolujte konfiguráciu DNS, ktorú naozaj drží, pretože pripnutý resolver alebo nastavenie šifrovaného DNS vnútri hosta drží aplikácie na inej ceste bez ohľadu na to, čo adaptér ponúka.
Testujte počas celého životného cyklu VPN, nie len raz
Zopakujte obe vyhľadania v hostovi, potom otvorte skutočnú aplikáciu a nechajte ju overiť názov hostiteľa TLS. Test spojenia len cez IP dobre izoluje DNS, ale nie je to kontrola certifikátu a nemalo by sa to tak hlásiť. Zaznamenajte názov, adresu a výsledok aplikácie spolu.
V schválenom okne odpojte a znova pripojte VPN hostiteľa a test zopakujte. Výsledok by mal zodpovedať politike prístupu a to, že verejný preklad znova funguje, nič nehovorí o tom, či súkromné dopyty zostali na zamýšľanej ceste.
Keď režim resolvera hostiteľa nič nemení, vráťte zaznamenanú hodnotu a pozorovania si ponechajte. Klient VPN, ktorý vylučuje prevádzku hypervizora, nedostupný interný resolver a pripnuté nastavenie hosta potrebujú každý inú opravu a premostenie adaptéra mení návrh siete namiesto resetovania DNS.