DNS for VirtualBox NAT-gjesten bryt saman når verten koplar til ein VPN
Gjesten har sin eigen resolver, og NAT-adapteren har to DNS-modusar. Følg eitt oppslag, og avgjer deretter om vertsresolver-modus passar VPN-policyen.
På ein Windows-vert blir det interne applikasjonsnamnet løyst når VPN-en koplar til, men inne i ein Ubuntu-gjest gjer det ikkje. Gjesten held på sine eigne resolverinnstillingar, og NAT-adapteren føre han kan svare på DNS-spørjingar på to ulike måtar. Å peike gjesten mot ein offentleg resolver får nettstader til å laste på nytt, medan private namn blir verande øydelagde. Difor blir resolverbanen spora før noko blir redigert.
Følg eitt oppslag gjennom NAT-adapteren
Vel eitt internt fullt kvalifisert namn og eitt offentleg namn som kontroll. Med tunnelen oppe, stadfest på verten at det interne namnet blir løyst og at applikasjonen bak blir opna. Køyr deretter dei same to oppslaga inne i gjesten og samanlikn svara, ikkje verktøya.
Stadfest at adapteren verkeleg er vanleg NAT før du går vidare. Ein bruadapter, eit namngitt NAT-nettverk og ein annan VPN-klient inne i gjesten har kvar si konfigurasjon og si eiga forklaring. Å gjette på dette punktet sløser bort resten av undersøkinga.
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet resolvectl status | head -40 cat /etc/resolv.conf
Den første kommandoen viser adaptermodusen og eventuelle NAT-nettverk knytte til han. Inne i ein Ubuntu-gjest viser den andre DNS-innstillingar per lenkje, og den tredje avdekkjer ofte berre ei lokal stubadresse, noko som tyder på at den verkelege upstreamen ligg ein annan stad.
Hald oppslag og tilgjenge frå kvarandre. Ein gjest som får rett adresse men ikkje kan opne ei tilkopling, har eit rutings-, filtrerings- eller tenesteløyveproblem, og fleire DNS-endringar vil aldri røre det. Test adressa separat og skriv ned kva av dei to som feila.
Proxy-modus og vertsresolver-modus er ulike mekanismar
I proxy-modus videresender NAT-motoren spørjingane til gjesten til DNS-tenarar han allereie kjenner. I vertsresolver-modus fangar han opp spørjinga og ber operativsystemet til verten løyse namnet med det verten brukar akkurat no. Berre den andre følgjer ein VPN-klient som skriv om vertsoppslaget når tunnelen kjem opp. Difor gir dei to innstillingane ulike svar på same maskin.
Den skilnaden er heile problemet i éin setning. Å gi gjesten ei liste med tenaradresser er ikkje det same som å be Windows løyse eit namn gjennom sin konfigurerte resolver, og på ein VPN med delt DNS er dei to svara ulike. Adaptervalet handlar om mekanisme, ikkje om løyve.
Ingen av modusane gir tilgang til noko. Autorisasjon ligg i VPN-policyen og i tenesta, og eit fungerande oppslag tyder berre at eit namn vart ei adresse.
Byt adapter, og stadfest deretter kva gjesten mottek
Noter først nettverks- og DNS-innstillingane til VM-en, og slå deretter av maskinen slik at det er den varige konfigurasjonen du redigerer. For ein VM kalla work-ubuntu der den første adapteren har NAT, blir innstillinga per adapter sett frå verten medan VM-en er av. Start han på nytt etterpå og undersøk resultatet i staden for å stole på utgangsstatusen.
VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns
Det siste sifferet vel adapternummeret, så det er ikkje ein universell verdi; ei innstilling for adapter 2 ville bera eit 2 på den plassen. Bruk VBoxManage-binæren som høyrer til den installerte VirtualBox-versjonen, fordi ein eldre i banen kan skrive innstillingar som den køyrande versjonen ignorerer.
Å slå på proxy-valet i staden vel ein annan mekanisme og gir deg ikkje vertsresolveråtferd. Etter at gjesten startar, kontroller DNS-konfigurasjonen han faktisk har, sidan ein festa resolver eller ei kryptert DNS-innstilling inne i gjesten held applikasjonar på ein annan bane uansett kva adapteren tilbyr.
Test gjennom heile livssyklusen til VPN-en, ikkje berre éin gong
Gjenta begge oppslaga i gjesten, opne deretter den verkelege applikasjonen og la han validere TLS-vertsnamnet. Ein tilkoplingstest med berre IP isolerer DNS godt, men det er ikkje ein sertifikatkontroll og bør ikkje rapporterast som ein. Noter namnet, adressa og applikasjonsresultatet saman.
I eit godkjent vindauge, kopla frå og tilbake til VPN-en til verten og gjenta testen. Resultatet bør samsvare med tilgangspolicyen, og at offentleg oppslag verkar igjen seier ingenting om private spørjingar vart verande på den tiltenkte banen.
Når vertsresolver-modus ikkje endrar noko, set den registrerte verdien tilbake og behald observasjonane. Ein VPN-klient som utelukkar hypervisor-trafikk, ein utilgjengeleg intern resolver og ei festa gjesteinnstilling treng kvar si retting, og å bru-adapteren endrar nettverksdesignet i staden for å nullstille DNS.