Osztott DNS OpenVPN felett: mit kell tennie egy útválasztási tartománynak minden operációs rendszeren
A keresési utótag, az útválasztási tartomány és az IP-útvonal három különböző dolog. Állítsa be a szabályt platformonként, majd bizonyítsa, melyik kiszolgáló válaszolt a lekérdezésre.
Minden osztott DNS-kérés ugyanazzal a mondattal kezdődik: a vállalat nevei a vállalat DNS-éhez mennek, minden más tovább működik. Ennek a mondatnak a konfigurációvá alakítása azt jelenti, hogy operációs rendszerenként három kérdésre kell válaszolni, és a válaszok mindegyiknél más mechanizmusokat használnak. A Linux-os laptopon működő profilok gyakran elbuknak Windows alatt olyan okokból, amelyeknek semmi közük az alagúthoz. A különbség általában útvonalnak vélt feloldóbeállítás.
Először nevezze meg a szabályt, aztán válassza ki azt a platform-primitívet, amely kifejezi.
Három beállítás, amelyet könnyű összekeverni
A keresési utótag kiterjeszti a rövid nevet: a files beírásából files.corp.example lesz, amikor a feloldó sorrendben próbálja az utótagokat. Az útválasztási tartomány kiválasztja, melyik feloldó válaszol a névtéren belüli lekérdezésekre. Az IP-útvonal csak elérhetővé teszi a kiválasztott feloldót. Ez a három különböző rétegben él, és az egyiknek a másikkal való helyettesítése olyan konfigurációt ad, amely helyesnek látszik, és semmit nem old meg.
A zavarnak ára van: a keresési utótag hozzáadása minden rövid nevet a munka feloldójához küld, beleértve a máshová tartozó neveket is. Az útválasztási tartomány kiválasztása a helyi feloldón tartja a nem kapcsolódó lekérdezéseket, miközben továbbra is elküldi a *.corp.example az alagúton.
Linux: csak útválasztási tartomány, nem keresési utótag
A systemd-resolved alatt a tilde előtaggal ellátott tartomány csak útválasztási tartomány, ami azt jelenti, hogy az adott névtér lekérdezései a kapcsolt feloldóhoz mennek anélkül, hogy keresési utótaggá is válnának. resolvectl domain tun0 '~corp.example' állítja be ezt, és resolvectl dns tun0 10.8.0.1 nevezi meg a kiszolgálót. Mindkét beállítás az interfészhez tartozik, ezért vele együtt eltűnnek. A tilde az a rész, amelyet az emberek kihagynak, és nélküle a rövid nevek a munka feloldóján keresztül kezdenek feloldódni.
Ne telepítse ugyanezt a tartományt globális keresési utótagként sem. A két beállítás nem felesleges; az egyik irányít, a másik átírja, amit beírt.
A Windowsnak névtér-szabályra van szüksége, nem utótagra
A Windows az osztott DNS szabályát a Name Resolution Policy Table-ben tartja, nem az adapter DNS-utótagjában. Egy szabály névteret rendel adott kiszolgálókhoz: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Az utótag önmagában való beállítása megváltoztatja, hogyan néznek ki a rövid nevek; nem irányítja a lekérdezést másik kiszolgálóhoz.
A csatlakozás után ellenőrizze a tényleges szabályt a Get-DnsClientNrptPolicy paranccsal, mert egy korábbi kapcsolat szabálya túlélheti az alagutat. A kapcsolat megszűnésekor távolítsa el a szabályokat név szerint, és tartsa stabilan a megjelenített nevet, hogy a tisztítás a megfelelő bejegyzést célozza.
Platformonként egy feloldó-gazda
Az asztali kezelő, az OpenVPN up-szkriptje és egy helyi feloldó démon mind ugyanazt a konfigurációt próbálhatja írni. Amikor nem értenek egyet, az utolsó író nyer, és az eredmény a lebontás sorrendjétől függ. Válasszon egy komponenst a feloldó állapotának birtoklására, hagyja, hogy a többiek jelentsenek írás helyett, és tesztelje az újracsatlakozást: a szabálynak úgy kell túlélnie, hogy nem duplikálódnak a szabályok. Tesztelje a bontást is, mert a hátramaradt állapot az, amitől a következő kapcsolat másképp viselkedik.
Azok az alkalmazások, amelyek saját titkosított feloldót hoznak, teljesen figyelmen kívül hagyják az operációs rendszer szabályát. Ez az alkalmazás tulajdonsága, nem az alagút hibája.
Az eredményt ellenőrizze, ne a profil szövegét
Oldjon fel egy nevet, amelynek az alagúton kell átmennie, és egyet, amelynek nem, minden platformon, és erősítse meg, melyik kiszolgáló válaszolt. A resolvectl query host.corp.example és a Resolve-DnsName host.corp.example is a válaszoló kiszolgálót jelenti. Ismételje meg újracsatlakozás után. Ezután erősítse meg, hogy az alagút feloldója elérhető azon a címen, amelyet a profil küld, mert egy helyes szabály, amely elérhetetlen kiszolgálóra mutat, ugyanúgy meghiúsul, mint ha egyáltalán nem lenne szabály.
Rögzítse a kívánt viselkedést a profil megjegyzéseiben: melyik utótag irányít, melyik kiszolgáló válaszol rá, és mi történik minden mással. A következő támogatott platformnak jobban szüksége lesz erre a mondatra, mint a konfigurációs fájlra.