Vidinė programa išsprendžiama Windows hoste tą akimirką, kai prisijungia VPN, o Ubuntu svečias už VirtualBox NAT vis dar negali jos rasti. Svečias turi savo resolverį, o NAT adapteris gali tvarkyti DNS daugiau nei vienu būdu. Pakeitus svečio resolverį viešu serveriu, paprastos svetainės pradeda veikti, o privatūs vardai ima neveikti, ir tai problemą perkelia, o ne išsprendžia. Atlikite keturis patikrinimus iš eilės ir sustokite ties pirmuoju, kuris netinka.

Patvirtinkite, kurį adapterio režimą derinate

Tik paprasto NAT režimo adapteris elgiasi taip, kaip aprašo šis straipsnis. Tiltinis adapteris yra fiziniame tinkle su savo tapatybe, NAT tinklas yra pavadintas virtualus komutatorius su savo DHCP ir DNS nustatymais, o VPN klientas svečio viduje prideda visiškai antrą resolverį. Patvirtinkite režimą prieš skaitydami toliau, nes taisymas kiekvienu iš šių atvejų skiriasi.

Viena virtualioji mašina gali turėti du adapterius skirtingais režimais, o paveiktasis ne visada pirmas.

Taip pat patvirtinkite, kad hostas apskritai išsprendžia vardą. Atidarykite tą pačią programą hoste su pakeltu tuneliu ir naudokite tą patį pilnai kvalifikuotą vardą, kurį naudos svečias. Jei hostas irgi nepavyksta, kaltas ne svečias, ir jokia virtualaus tinklo pataisa to neištaisys.

Sekite vieną vardą per svečio resolverį

Pasirinkite vieną vidinį vardą ir vieną viešą kontrolinį vardą, tada išbandykite abu abiejose vietose. Viešas vardas, kuris išsprendžiamas, kai privatus ne, nurodo gedimą privačiame kelyje, o ne vardų sprendime apskritai. Bandydami tik privatų vardą negalėsite atskirti sugedusio resolverio nuo sugedusio maršruto.

Svečio viduje pažiūrėkite, kam resolveris iš tikrųjų sukonfigūruotas. Ubuntu svečiame su systemd-resolved būsenos pagal ryšį rodo atvykusius serverius, o faile resolv.conf gali būti tik stub adresas, ir tai yra teisinga, o ne įtartina. Rankiniu būdu redaguotas failas ar atskiras užšifruoto DNS klientas gali siųsti užklausas visai kitur. Užsirašykite, ką radote, prieš ką nors keisdami.

resolvectl status
resolvectl query app.internal.example

Čia atskirkite sprendimą nuo pasiekiamumo. Adresas, kuris atvyksta, kai paslauga lieka nepasiekiama, yra maršrutizavimo ar politikos klausimas, o ne DNS.

Išbandykite hosto resolverio režimą tame adapteryje

VirtualBox NAT DNS parinktys aprašo skirtingus mechanizmus, o skirtumas tampa svarbus, kai paties hosto resolveris pasikeičia kartu su tuneliu. DNS tarpinis serveris perduoda svečio užklausas jam duotiems serveriams. Hosto resolverio režimas perima užklausas ir kviečia hosto DNS API, ir tai yra režimas, kuris seka VPN kliento perkonfigūruotą Windows resolverį.

Įjunkite netinkamą mechanizmą, ir komanda vis tiek pavyks, nors elgsena nepasikeis, o tai klaidinantis būdas prarasti popietę.

VBoxManage modifyvm "work-ubuntu" --natdnshostresolver1 on

Užsirašykite dabartinius virtualiosios mašinos nustatymus, išjunkite ją ir nukreipkite į adapterį, kurį patvirtinote anksčiau. Paskutinis parinkties skaitmuo yra adapterio numeris, o ne konstanta, todėl pritaikius jį mašinai, kurios paveiktasis adapteris yra antras, tai tyli nieko neveikianti operacija. Paleiskite svečią ir patikrinkite resolverio konfigūraciją, kurią jis iš tikrųjų gavo, nes rankinis nustatymas svečiame nusveria viską, ką siūlo NAT sluoksnis. Atminkite, kad hosto resolverio režimas taip pat daro prielaidą, kad paties hosto DNS kelias yra tas, kurį norėjote bendrinti.

Pakartokite tuos pačius bandymus per VPN prisijungimą iš naujo

Pakartokite abi užklausas svečiame, tada atidarykite tikrąją programą ir leiskite jai pačiai patikrinti sertifikatą. Bandymas vien pagal adresą naudingas vardų sprendimui atskirti ir nelygus veikiančiai TLS sesijai, todėl nesustokite ties ping. Tada patvirtintu laiku atjunkite ir vėl prijunkite hosto tunelį ir pakartokite dar kartą. Elgsena, kuri išlieka tik per pirmąjį prisijungimą po įkrovimo, yra gyvavimo ciklo problema, apie kurią reikia pranešti, o ne DNS mįslė, kurią reikia vytis kitu resolveriu.

Tai, kad viešas sprendimas veikia, neįrodo, kad privatūs užklausimai liko kelyje, kurio reikalauja jūsų politika.

Kai hosto resolverio režimas nieko nekeičia, grąžinkite užrašytą konfigūraciją ir išsaugokite keturis stebėjimus: ką grąžino hostas, ką grąžino svečias, adapterio režimą ir resolverio būseną. Nepasiekiamas vidinis serveris, filtras, kuris neleidžia hipervizoriaus srauto ir svečio pusės perrašymas kiekvienas reikalauja kitokios pataisos. Adapterio pavertimas tiltu keičia tinklo dizainą ir nėra DNS atstatymas.

Susiję straipsniai