Jaotatud DNS üle OpenVPN-i: mida peab marsruutimisdomeen igas operatsioonisüsteemis tegema
Otsingusufiks, marsruutimisdomeen ja IP-marsruut on kolm erinevat asja. Seadke poliitika iga platvormi jaoks ja tõestage seejärel, milline server päringule vastas.
Iga jaotatud DNS-i päring algab sama lausega: ettevõtte nimed lähevad ettevõtte DNS-i, kõik muu töötab edasi. Selle lause konfiguratsiooniks muutmine tähendab kolmele küsimusele vastamist iga operatsioonisüsteemi kohta ja vastused kasutavad igas süsteemis erinevaid mehhanisme. Profiilid, mis töötavad Linuxi sülearvutis, ebaõnnestuvad sageli Windowsis põhjustel, millel pole tunneliga midagi pistmist. Vahe on tavaliselt selles, et resolveri seadet aetakse marsruudiga segi.
Nimetage esmalt poliitika ja valige seejärel platvormi primitiiv, mis seda väljendab.
Kolm seadet, mida on lihtne segi ajada
Otsingusufiks laiendab lühinime: kui kirjutate files, saab sellest files.corp.example, kui resolver proovib sufikseid järjest. Marsruutimisdomeen valib, milline resolver vastab päringutele nimeruumis. IP-marsruut teeb valitud resolveri ainult kättesaadavaks. Need kolm elavad erinevates kihtides ja ühe teisega asendamine annab konfiguratsiooni, mis näeb õige välja ega lahenda midagi.
Segadusel on hind: otsingusufiksi lisamine saadab iga lühinime tööresolverile, sealhulgas nimed, mis kuuluvad mujale. Marsruutimisdomeeni valimine hoiab mitteseotud päringud kohalikus resolveris, samal ajal kui *.corp.example saadetakse endiselt tunnelist läbi.
Linux: ainult marsruutimisdomeen, mitte otsingusufiks
systemd-resolvedis on tildemärgiga algav domeen ainult marsruutimisdomeen, mis tähendab, et selle nimeruumi päringud lähevad lingitud resolverile, ilma et neist saaks ka otsingusufiks. resolvectl domain tun0 '~corp.example' seadistab selle ja resolvectl dns tun0 10.8.0.1 nimetab serveri. Mõlemad seaded kuuluvad liidesele, seega kaovad koos sellega. Tilde on see osa, mille inimesed ära jätavad, ja ilma selleta hakkavad lühinimed tööresolveri kaudu lahenduma.
Ärge paigaldage sama domeeni ka globaalse otsingusufiksina. Need kaks seadet ei ole üleliigsed; üks marsruudib ja teine kirjutab ümber selle, mida te trükkisite.
Windows vajab nimeruumi poliitikat, mitte sufiksit
Windows hoiab jaotatud DNS-i poliitikat nimeruumide lahendamise poliitikate tabelis, mitte adapteri DNS-sufiksis. Reegel vastendab nimeruumi kindlate serveritega: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Ainult sufiksi seadistamine muudab lühinimede välimust; see ei suuna päringut teisele serverile.
Kontrollige kehtivat poliitikat pärast ühendamist käsuga Get-DnsClientNrptPolicy, sest varasemast ühendusest pärit reegel võib tunnelist kauem kesta. Kui tunnel katkeb, eemaldage reeglid nime järgi ja hoidke kuvatav nimi stabiilne, et puhastus tabaks õiget kirjet.
Hoidke igal platvormil üks resolveri omanik
Töölaua haldur, OpenVPN-i up-skript ja kohalik resolveri deemon võivad kõik proovida kirjutada sama konfiguratsiooni. Kui nad ei ole ühel meelel, võidab viimane kirjutaja ja tulemus sõltub lammutamise järjekorrast. Valige üks komponent, kes omab resolveri olekut, laske teistel aru anda, mitte kirjutada, ja testige uuesti ühendamist: poliitika peaks selle üle elama ilma reeglite dubleerimiseta. Testige ka katkestamist, sest allesjäänud olek on see, mis paneb järgmise ühenduse teisiti käituma.
Rakendused, mis toovad kaasa oma krüpteeritud resolveri, eiravad operatsioonisüsteemi poliitikat täielikult. See on rakenduse omadus, mitte tunneli viga.
Kontrollige tulemust, mitte profiili teksti
Lahendage igal platvormil üks nimi, mis peaks minema läbi tunneli, ja üks, mis ei peaks, ning kinnitage, milline server vastas. resolvectl query host.corp.example ja Resolve-DnsName host.corp.example teavitavad mõlemad vastanud serverist. Korrake pärast uuesti ühendamist. Seejärel kinnitage, et tunneli resolver on kättesaadav aadressil, mille profiil peale surub, sest õige poliitika, mis osutab kättesaamatule serverile, ebaõnnestub samamoodi nagu poliitika puudumine.
Kirjutage kavandatud käitumine profiili märkmetesse: milline sufiks marsruuditakse, milline server sellele vastab ja mis juhtub kõige muuga. Järgmine platvorm, mida toetate, vajab seda lauset rohkem kui konfiguratsioonifaili.