Toda solicitude de DNS dividido comeza coa mesma frase: os nomes da empresa van ao DNS da empresa e todo o demais segue funcionando. Converter esa frase nunha configuración significa responder tres preguntas por sistema operativo, e as respostas usan mecanismos distintos en cada un. Os perfís que funcionan nun portátil Linux adoitan fallar en Windows por motivos que non teñen nada que ver co túnel. A diferenza adoita ser un axuste do resolutor tomado por unha ruta.

Nomee primeiro a política e despois escolla a primitiva da plataforma que a expresa.

Tres axustes fáciles de confundir

Un sufixo de busca expande un nome curto: escribir files convértese en files.corp.example cando o resolutor proba os sufixos en orde. Un dominio de enrutamento escolle que resolutor responde as consultas dentro dun espazo de nomes. Unha ruta IP só fai accesible o resolutor escollido. Eses tres viven en capas diferentes, e trocar un por outro produce unha configuración que parece correcta e non resolve nada.

A confusión ten un custo: engadir un sufixo de busca envía cada nome curto ao resolutor do traballo, incluídos nomes que pertencen a outro sitio. Escoller un dominio de enrutamento mantén as consultas alleas no resolutor local e aínda así envía *.corp.example polo túnel.

Linux: un dominio só de ruta, non un sufixo de busca

En systemd-resolved, un dominio prefixado cun til é un dominio só de ruta, o que significa que as consultas dese espazo de nomes van ao resolutor ligado sen converterse tamén nun sufixo de busca. resolvectl domain tun0 '~corp.example' establéceo, e resolvectl dns tun0 10.8.0.1 nomea o servidor. Ambos axustes pertencen á interface, así que desaparecen con ela. O til é a parte que a xente omite, e sen el os nomes curtos comezan a resolverse polo resolutor do traballo.

Non instale tamén o mesmo dominio como sufixo de busca global. Os dous axustes non son redundantes; un enruta e o outro reescribe o que escribiu.

Windows necesita unha política de espazo de nomes, non un sufixo

Windows garda a política de DNS dividido na Name Resolution Policy Table, non no sufixo DNS do adaptador. Unha regra asocia un espazo de nomes a servidores concretos: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Axustar só o sufixo cambia o aspecto dos nomes curtos; non dirixe a consulta a outro servidor.

Comprobe a política efectiva con Get-DnsClientNrptPolicy despois de conectar, porque unha regra dunha conexión anterior pode sobrevivir ao túnel. Retire as regras por nome cando o túnel caia, e manteña estable o nome de visualización para que a limpeza apunte á entrada correcta.

Manteña un único dono do resolutor por plataforma

Un xestor de escritorio, un script up de OpenVPN e un daemon de resolutor local poden tentar escribir a mesma configuración. Cando non concordan, gaña o último en escribir e o resultado depende da orde de desmontaxe. Escolla un compoñente para posuír o estado do resolutor, deixe que os demais informen en vez de escribir, e probe unha reconexión: a política debería sobrevivir sen duplicar regras. Probe tamén unha desconexión, porque é o estado deixado atrás o que fai que a seguinte conexión se comporte distinto.

As aplicacións que traen o seu propio resolutor cifrado ignoran por completo a política do sistema operativo. Iso é unha propiedade da aplicación, non un defecto do túnel.

Comprobe o resultado, non o texto do perfil

Resolva un nome que deba pasar polo túnel e un que non, en cada plataforma, e confirme que servidor respondeu. resolvectl query host.corp.example e Resolve-DnsName host.corp.example informan ambos do servidor que respondeu. Repita tras unha reconexión. Despois confirme que o resolutor do túnel é accesible no enderezo que empuxa o perfil, porque unha política correcta que apunta a un servidor inalcanzable falla igual que ningunha política.

Rexiste o comportamento pretendido nas notas do perfil: que sufixo enruta, que servidor responde nel e que ocorre con todo o demais. A próxima plataforma que admita necesitará esa frase máis que o ficheiro de configuración.

Artigos relacionados