Delt DNS over OpenVPN: kva eit rutingsdomene må gjere på kvart operativsystem
Eit søkjetillegg, eit rutingsdomene og ei IP-rute er tre ulike ting. Set policyen per plattform, og prov deretter kva server som svara på spørjinga.
Kvar delt DNS-førespurnad byrjar med same setninga: namna til selskapet går til DNS-en til selskapet, alt anna held fram med å verke. Å gjere den setninga om til ein konfigurasjon tyder å svare på tre spørsmål per operativsystem, og svara brukar ulike mekanismar på kvart av dei. Profilar som verkar på ein Linux-berbar PC, feilar ofte på Windows av grunnar som ikkje har noko med tunnelen å gjere. Gapet er vanlegvis ei resolverinnstilling som er teken for ei rute.
Namngje policyen først, og vel deretter plattformprimitiven som uttrykkjer han.
Tre innstillingar som er lette å forveksle
Eit søkjetillegg utvidar eit kort namn: å skrive files blir files.corp.example når resolveren prøver tillegga i rekkjefølgje. Eit rutingsdomene vel kva resolver som svarar på førespurnader innanfor eit namnerom. Ei IP-rute gjer berre den valde resolveren tilgjengeleg. Desse tre lever i ulike lag, og å byte eitt mot eit anna gjev ein konfigurasjon som ser rett ut og ikkje løyser noko.
Forvirringa har ein pris: å leggje til eit søkjetillegg sender kvart kortnamn til arbeidsresolveren, òg namn som høyrer heime andre stader. Å velje eit rutingsdomene held urelaterte førespurnader på den lokale resolveren og sender likevel *.corp.example gjennom tunnelen.
Linux: eit reint rutingsdomene, ikkje eit søkjetillegg
På systemd-resolved er eit domene med tilde føre eit reint rutingsdomene, noko som tyder at førespurnader for det namnerommet går til den tilknytte resolveren utan òg å bli eit søkjetillegg. resolvectl domain tun0 '~corp.example' set dette, og resolvectl dns tun0 10.8.0.1 namngjev serveren. Begge innstillingane høyrer til grensesnittet, så dei forsvinn saman med det. Tilden er den delen folk utelèt, og utan han byrjar kortnamn å bli løyste gjennom arbeidsresolveren.
Ikkje installer det same domenet òg som eit globalt søkjetillegg. Dei to innstillingane er ikkje overflødige; den eine ruter og den andre skriv om det du skreiv.
Windows treng ein namneromspolicy, ikkje eit tillegg
Windows oppbevarer delt DNS-policy i Name Resolution Policy Table, ikkje i DNS-tillegget til adapteret. Ein regel knyter eit namnerom til bestemte serverar: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Å setje berre tillegget endrar korleis kortnamn ser ut; det sender ikkje førespurnaden til ein annan server.
Kontroller den effektive policyen med Get-DnsClientNrptPolicy etter tilkopling, fordi ein regel frå ei tidlegare tilkopling kan overleve tunnelen. Fjern reglar ved namn når tunnelen fell, og hald visingsnamnet stabilt slik at oppryddinga treff rett oppføring.
Éin resolvereigar per plattform
Ein skrivebordsbehandlar, eit OpenVPN up-skript og ein lokal resolverdaemon kan alle prøve å skrive den same konfigurasjonen. Når dei er usamde, vinn den siste skrivaren, og resultatet avheng av rekkjefølgja ved nedriving. Vel éin komponent som eig tilstanden til resolveren, lat dei andre rapportere i staden for å skrive, og test ei attoppkopling: policyen bør overleve henne utan å duplisere reglar. Test òg ei fråkopling, fordi det er den attverande tilstanden som gjer at den neste tilkoplinga oppfører seg annleis.
Applikasjonar som har sin eigen krypterte resolver, ignorerer policyen til operativsystemet heilt. Det er ein eigenskap ved applikasjonen, ikkje ein feil i tunnelen.
Kontroller resultatet, ikkje profilteksten
Løys eitt namn som skal gjennom tunnelen og eitt som ikkje skal, på kvar plattform, og stadfest kva server som svara. resolvectl query host.corp.example og Resolve-DnsName host.corp.example rapporterer begge serveren som svara. Gjenta etter ei attoppkopling. Stadfest deretter at resolveren til tunnelen er tilgjengeleg på adressa profilen sender, fordi ein rett policy som peikar på ein utilgjengeleg server, feilar på same måte som ingen policy i det heile.
Registrer den tiltenkte åtferda i notata til profilen: kva tillegg som ruter, kva server som svarar på det, og kva som skjer med alt anna. Den neste plattforma du støttar, treng den setninga meir enn konfigurasjonsfila.