VirtualBox NAT-külalise DNS katkeb, kui host liitub VPN-iga
Külalisel on oma resolver ja NAT-adapteril on kaks DNS-režiimi. Jälgige üht päringut ja otsustage seejärel, kas hosti resolveri režiim sobib VPN-poliitikaga.
Windowsi hostis laheneb sisemine rakenduse nimi kohe, kui VPN ühendub, Ubuntu külalise sees aga mitte. Külaline hoiab oma resolveri seadeid, ja selle ees olev NAT-adapter saab DNS-päringutele vastata kahel erineval viisil. Külalise suunamine avalikule resolverile paneb veebisaidid uuesti laadima, privaatsed nimed jäävad aga katki. Seetõttu jälgitakse resolveri teekonda enne, kui midagi muudetakse.
Jälgige üht päringut läbi NAT-adapteri
Valige kontrolliks üks sisemine täielikult kvalifitseeritud nimi ja üks avalik nimi. Kui tunnel on üleval, kinnitage hostis, et sisemine nimi laheneb ja selle taga olev rakendus avaneb. Seejärel käivitage samad kaks päringut külalise sees ja võrrelge vastuseid, mitte tööriistu.
Enne edasiminekut kinnitage, et adapter on tõesti lihtne NAT. Sildatud adapteril, nimega NAT-võrgul ja külalise sees oleva teise VPN-kliendil on igaühel oma konfiguratsioon ja oma selgitus. Selles punktis oletamine raiskab ülejäänud uurimise.
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet resolvectl status | head -40 cat /etc/resolv.conf
Esimene käsk näitab adapteri režiimi ja kõiki sellega seotud NAT-võrke. Ubuntu külalise sees loetleb teine lingipõhised DNS-seaded, ja kolmas paljastab sageli ainult kohaliku stub-aadressi, mis tähendab, et tegelik upstream asub mujal.
Hoidke lahendamine ja kättesaadavus eraldi. Külalisel, kes saab õige aadressi, kuid ei suuda ühendust avada, on marsruutimise, filtreerimise või teenuseõiguste probleem, ja edasised DNS-muudatused ei puuduta seda kunagi. Testige aadressi eraldi ja kirjutage üles, kumb kahest ebaõnnestus.
Puhverserveri režiim ja hosti resolveri režiim on erinevad mehhanismid
Puhverserveri režiimis edastab NAT-mootor külalise päringud DNS-serveritele, mida ta juba teab. Hosti resolveri režiimis püüab see päringu kinni ja palub hosti operatsioonisüsteemil nimi lahendada sellega, mida host parasjagu kasutab. Ainult teine järgib VPN-klienti, mis tunnelitõusul hosti lahendamise ümber kirjutab. Seetõttu annavad kaks seadet samal masinal erinevaid vastuseid.
See erinevus on kogu probleem ühes lauses. Külalisele serveriaadresside nimekirja andmine ei ole sama, mis paluda Windowsil nimi oma konfigureeritud resolveri kaudu lahendada, ja jaotatud DNS-iga VPN-is erinevad kaks vastust. Adapteri valik puudutab mehhanismi, mitte luba.
Kumbki režiim ei anna juurdepääsu millelegi. Autoriseerimine elab VPN-poliitikas ja teenuses, ja toimiv päring tähendab vaid seda, et nimi muutus aadressiks.
Lülitage adapter ümber ja seejärel kontrollige, mida külaline saab
Kirjutage esmalt üles VM-i võrgu- ja DNS-seaded, seejärel lülitage masin välja, et muudaksite püsivat konfiguratsiooni. VM-i puhul nimega work-ubuntu, mille esimene adapter kannab NAT-i, määratakse adapteripõhine valik hostist, kui VM on väljas. Käivitage see seejärel uuesti ja uurige tulemust, selle asemel et usaldada väljumisolekut.
VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns
Viimane number valib adapteri numbri, seega ei ole see universaalne väärtus; adapteri 2 seade kannaks selles kohas 2. Kasutage VBoxManage'i binaarfaili, mis kuulub paigaldatud VirtualBoxi versioonile, sest teel olev vanem võib kirjutada seadeid, mida töötav versioon eirab.
Puhverserveri valiku lubamine valib selle asemel teise mehhanismi ega anna teile hosti resolveri käitumist. Pärast külalise käivitumist kontrollige DNS-konfiguratsiooni, mida see tegelikult hoiab, sest külalise sees kinnitatud resolver või krüpteeritud DNS-i seade hoiab rakendusi teisel teel, olenemata sellest, mida adapter pakub.
Testige kogu VPN-i elutsükli jooksul, mitte ainult korra
Korrake mõlemat päringut külalises, seejärel avage tegelik rakendus ja laske sellel TLS-i hostinimi valideerida. Ainult IP-põhine ühenduse test isoleerib DNS-i hästi, kuid see ei ole sertifikaadi kontroll ja seda ei tohiks nii esitada. Kirjutage nimi, aadress ja rakenduse tulemus koos üles.
Heakskiidetud aknas katkestage ja taasühendage hosti VPN ning korrake testi. Tulemus peaks vastama juurdepääsupoliitikale, ja see, et avalik lahendamine jälle töötab, ei ütle midagi selle kohta, kas privaatsed päringud jäid kavandatud teele.
Kui hosti resolveri režiim ei muuda midagi, asetage salvestatud väärtus tagasi ja hoidke tähelepanekud. Hüperviisori liiklust välistav VPN-klient, kättesaamatu sisemine resolver ja kinnitatud külalise seade vajavad igaüks erinevat parandust, ja adapteri sildamine muudab võrgukujundust, selle asemel et DNS-i lähtestada.