Windows pagrindinėje mašinoje vidinis programos pavadinimas išsprendžiamas vos prisijungus VPN, o Ubuntu svečio viduje – ne. Svečias išsaugo savo resolverio nustatymus, o NAT adapteris priešais jį gali atsakyti į DNS užklausas dviem skirtingais būdais. Nukreipus svečią į viešą resolverį, svetainės vėl įkeliamos, o privatūs vardai lieka sugadinti. Todėl resolverio kelias atsekamas prieš ką nors keičiant.

Atsekite vieną užklausą per NAT adapterį

Kontrolei pasirinkite vieną vidinį visiškai kvalifikuotą vardą ir vieną viešą vardą. Kai tunelis pakeltas, pagrindinėje mašinoje patvirtinkite, kad vidinis vardas išsprendžiamas ir kad programa už jo atsidaro. Tada paleiskite tas pačias dvi užklausas svečio viduje ir palyginkite atsakymus, o ne įrankius.

Prieš eidami toliau patvirtinkite, kad adapteris tikrai paprastas NAT. Tiltinis adapteris, pavadintas NAT tinklas ir antras VPN klientas svečio viduje kiekvienas turi savo konfigūraciją ir savo paaiškinimą. Spėliojimas šiame etape eikvoja likusį tyrimą.

VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet
resolvectl status | head -40
cat /etc/resolv.conf

Pirmoji komanda rodo adapterio režimą ir bet kurį prie jo prijungtą NAT tinklą. Ubuntu svečio viduje antroji išvardija DNS nustatymus pagal ryšį, o trečioji dažnai atskleidžia tik vietinį stub adresą, o tai reiškia, kad tikrasis upstream yra kitur.

Laikykite sprendimą ir pasiekiamumą atskirai. Svečias, kuris gauna teisingą adresą, bet negali atidaryti ryšio, turi maršrutizavimo, filtravimo ar paslaugos leidimo problemą, ir tolesni DNS pakeitimai jos niekada nepaveiks. Išbandykite adresą atskirai ir užsirašykite, kuri iš dviejų nepavyko.

Tarpinio serverio režimas ir pagrindinės mašinos resolverio režimas yra skirtingi mechanizmai

Tarpinio serverio režime NAT variklis persiunčia svečio užklausas DNS serveriams, kuriuos jau žino. Pagrindinės mašinos resolverio režime jis perima užklausą ir prašo pagrindinės mašinos operacinės sistemos išspręsti vardą tuo, ką pagrindinė mašina naudoja dabar. Tik antrasis seka VPN klientą, kuris pakėlus tunelį perrašo pagrindinės mašinos sprendimą. Todėl du nustatymai toje pačioje mašinoje duoda skirtingus atsakymus.

Šis skirtumas yra visa problema viename sakinyje. Duoti svečiui serverių adresų sąrašą nėra tas pats, kas prašyti Windows išspręsti vardą per jo sukonfigūruotą resolverį, o VPN su padalintu DNS abu atsakymai skiriasi. Adapterio parinktis yra apie mechanizmą, o ne apie leidimą.

Nė vienas režimas nesuteikia prieigos prie nieko. Autorizacija gyvena VPN politikoje ir paslaugoje, o veikianti užklausa reiškia tik tai, kad vardas virto adresu.

Pakeiskite adapterį, tada patikrinkite, ką svečias gauna

Pirmiausia užrašykite VM tinklo ir DNS nustatymus, tada išjunkite mašiną, kad redaguotumėte nuolatinę konfigūraciją. VM, pavadintam work-ubuntu, kurio pirmas adapteris turi NAT, parinktis pagal adapterį nustatoma iš pagrindinės mašinos, kai VM išjungtas. Po to vėl paleiskite jį ir apžiūrėkite rezultatą, o ne pasitikėkite išėjimo būsena.

VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns

Paskutinis skaitmuo parenka adapterio numerį, todėl tai nėra universali reikšmė; adapterio 2 nustatymas toje vietoje turėtų 2. Naudokite VBoxManage binariją, priklausančią įdiegtai VirtualBox versijai, nes senesnė kelyje gali įrašyti nustatymus, kurių veikianti versija nepaiso.

Vietoj to įjungus tarpinio serverio parinktį pasirenkamas kitas mechanizmas ir nesuteikiama pagrindinės mašinos resolverio elgsena. Paleidus svečią, patikrinkite DNS konfigūraciją, kurią jis iš tikrųjų turi, nes svečio viduje prisegtas resolveris ar šifruoto DNS nustatymas laiko programas kitame kelyje, nepaisant to, ką siūlo adapteris.

Testuokite per visą VPN gyvavimo ciklą, ne tik vieną kartą

Pakartokite abi užklausas svečiame, tada atidarykite tikrą programą ir leiskite jai patvirtinti TLS pagrindinės mašinos vardą. Tik IP ryšio testas gerai izoliuoja DNS, bet tai nėra sertifikato patikra ir neturėtų būti taip pranešama. Užrašykite vardą, adresą ir programos rezultatą kartu.

Patvirtintame lange atjunkite ir vėl prijunkite pagrindinės mašinos VPN ir pakartokite testą. Rezultatas turėtų atitikti prieigos politiką, o tai, kad viešas sprendimas vėl veikia, nieko nesako apie tai, ar privatūs užklausimai liko numatytame kelyje.

Kai pagrindinės mašinos resolverio režimas nieko nekeičia, grąžinkite užrašytą reikšmę ir išsaugokite stebėjimus. VPN klientas, kuris neįtraukia hypervisor srauto, nepasiekiamas vidinis resolveris ir prisegtas svečio nustatymas kiekvienas reikalauja skirtingo pataisymo, o adapterio tiltas keičia tinklo dizainą, o ne atstato DNS.

Susiję straipsniai