O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como o Cisco OS® lida com consultas DNS e os efeitos na resolução de nomes de domínio com o Cisco AnyConnect e tunelamento dividido ou completo.
Não existem requisitos específicos para este documento.
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Quando você usa o tunelamento split-include, estas são as três opções que você tem para o DNS (Domain Name System):
Observação: o comando split-tunnel-all-dns foi implementado pela primeira vez no ASA versão 8.2(5). Antes desta versão, você só podia fazer DNS dividido ou DNS padrão.
Em todos os casos, as consultas DNS que são definidas para se mover pelo túnel, vão para qualquer servidor DNS que são definidos pelo ASA. Se não houver servidores DNS definidos pelo ASA, as configurações de DNS estarão em branco para o túnel. Se você não tiver o DNS dividido definido, todas as consultas DNS serão enviadas aos servidores DNS que são definidos pelo ASA. No entanto, os comportamentos descritos neste documento podem ser diferentes, com base no sistema operacional (SO).
Observação: evite o uso do NSLookup quando você testar a resolução de nomes no cliente. Em vez disso, confie em um navegador ou use o comando ping. Isso ocorre porque o NSLookup não depende do resolvedor DNS do SO. O AnyConnect não força a solicitação DNS por uma determinada interface, mas permite ou rejeita a solicitação dependendo da configuração DNS dividida. Para forçar o resolvedor de DNS a tentar um servidor DNS aceitável para uma solicitação, é importante que o teste de DNS dividido seja executado apenas com aplicativos que dependem do resolvedor de DNS nativo para a resolução de nomes de domínio (todos os aplicativos, exceto NSLookup, Dig e aplicativos semelhantes que lidam com a resolução de DNS sozinhos, por exemplo).
O AnyConnect Versão 2.4 oferece suporte à split DNS Fallback (melhor esforço split DNS), que não é o DNS dividido verdadeiro e é encontrado no cliente IPsec legado. Se a solicitação corresponder a um domínio DNS dividido, o AnyConnect permitirá que a solicitação seja encapsulada no ASA. Se o servidor não puder resolver o nome do host, o resolvedor DNS continuará e enviará a mesma consulta ao servidor DNS que está mapeado para a interface física.
Por outro lado, se a solicitação não corresponder a nenhum dos domínios DNS divididos, o AnyConnect não a encapsulará no ASA. Em vez disso, ele cria uma resposta de DNS para que o resolvedor de DNS volte e envie a consulta para o servidor DNS que está mapeado para a interface física. É por isso que esse recurso não é chamado de DNS dividido, mas sim fallback de DNS para tunelamento dividido. O AnyConnect não só garante que somente as solicitações direcionadas a domínios DNS divididos sejam encapsuladas, como também depende do comportamento do resolvedor DNS do sistema operacional do cliente para a resolução de nomes de host.
Isso gera preocupações de segurança devido a um possível vazamento de nome de domínio privado. Por exemplo, o cliente DNS nativo pode enviar uma consulta para um nome de domínio privado para um servidor DNS público especificamente quando o servidor de nomes DNS da VPN não pôde resolver a consulta DNS.
Consulte o bug da Cisco ID CSCtn14578, atualmente resolvido somente no Microsoft Windows, a partir da versão 3.0(4235). A solução implementa DNS dividido verdadeiro, ela consulta estritamente os nomes de domínio configurados que correspondem e são permitidos para os servidores DNS VPN. Todas as outras consultas são permitidas somente para outros servidores DNS, como aqueles configurados no(s) adaptador(es) físico(s).
Observação: somente os usuários registrados da Cisco têm acesso às ferramentas e informações internas da Cisco.
Quando o tunelamento dividido está desabilitado (a configuração Tunnel-all), o tráfego DNS é permitido estritamente via túnel. A configuração Tunnel-all DNS (configurada na política de grupo) envia todas as pesquisas de DNS pelo túnel, junto com algum tipo de tunelamento dividido, e o tráfego DNS é permitido estritamente via túnel.
Isso é consistente entre as plataformas com uma advertência no Microsoft Windows: quando qualquer DNS Tunnel-all ou Tunnel-all é configurado, o AnyConnect permite o tráfego DNS estritamente para os servidores DNS que são configurados no gateway seguro (aplicado ao adaptador VPN). Este é um aprimoramento de segurança implementado junto com a solução de DNS dividido real mencionada anteriormente.
Se isso se revelar problemático em determinados cenários (por exemplo, as solicitações de atualização/registro de DNS devem ser enviadas para servidores DNS não VPN), conclua estas etapas:
Esse problema do Microsoft Windows é predominante nas seguintes condições:
Esse problema foi resolvido no AnyConnect versão 3.0(4235). Consulte as IDs de bug da Cisco CSCtq02141 e a ID de bug da Cisco CSCtn14578, juntamente com a introdução à solução DNS de divisão real mencionada anteriormente, para obter mais informações.
Observação: somente os usuários registrados da Cisco têm acesso às ferramentas e informações internas da Cisco.
Se uma atualização não puder ser implementada, estas são as possíveis soluções:
access-list acl_linklocal_169.254.1.1 standard permit host 169.254.1.1
group-policy gp_access-14 attributes
split-tunnel-policy excludespecified
split-tunnel-network-list value acl_linklocal_169.254.1.1
split- Tunnel-all-dns disable
exit
<LocalLanAccess UserControllable="true">true</LocalLanAccess>
Os diferentes sistemas operacionais da Cisco lidam com pesquisas DNS de maneiras diferentes quando usados com tunelamento dividido (sem DNS dividido) para o AnyConnect. Esta seção descreve essas diferenças.
Em sistemas Microsoft Windows, as configurações DNS são por interface. Se o tunelamento dividido for usado, as consultas de DNS podem retornar aos servidores DNS do adaptador físico depois que eles falharem no adaptador de túnel VPN. Se o tunelamento dividido sem DNS dividido for definido, a resolução de DNS interno e externo funcionará porque ela retornará aos servidores DNS externos.
Houve uma mudança no comportamento no mecanismo DNS que trata disso no AnyConnect para Windows, na versão 4.2 após a correção do bug da Cisco ID CSCuf07885.
Observação: somente os usuários registrados da Cisco têm acesso às ferramentas e informações internas da Cisco.
Configuração de túnel completo (e separação de túneis com DNS de túnel completo habilitado)
Antes do AnyConnect 4.2:
Somente solicitações DNS para servidores DNS configurados sob a política de grupo (servidores DNS de túnel) são permitidas. O driver do AnyConnect responde a todas as outras solicitações com uma resposta "no such name". Como resultado, a resolução DNS só pode ser executada com os servidores DNS do túnel.
AnyConnect 4.2 +
As solicitações DNS para qualquer servidor DNS são permitidas, desde que tenham origem no adaptador VPN e sejam enviadas pelo túnel. Todas as outras solicitações são respondidas sem esse nome , e a resolução DNS só pode ser executada através do túnel VPN.
Antes da correção do bug da Cisco ID CSCuf07885, o AC restringia os servidores DNS de destino; no entanto, com a correção desse bug, ele agora restringe quais adaptadores de rede podem iniciar solicitações DNS.
Observação: somente os usuários registrados da Cisco têm acesso às ferramentas e informações internas da Cisco.
O driver do AnyConnect não interfere no resolvedor de DNS nativo. Portanto, a resolução DNS é executada com base na ordem dos adaptadores de rede em que o AnyConnect é sempre o adaptador preferencial quando a VPN está conectada. Além disso, uma consulta DNS é enviada primeiro pelo túnel e, se não for resolvida, o resolvedor tenta resolvê-la pela interface pública. A lista de acesso split-include inclui a sub-rede que cobre o(s) servidor(es) DNS do túnel. Para começar com o AnyConnect 4.2, as rotas de host para o(s) servidor(es) DNS de túnel são automaticamente adicionadas como redes com divisão de inclusão (rotas seguras) pelo cliente AnyConnect e, portanto, a lista de acesso com divisão de inclusão não exige mais a adição explícita da sub-rede do servidor DNS de túnel.
O driver do AnyConnect não interfere no resolvedor de DNS nativo. Portanto, a resolução DNS é executada com base na ordem dos adaptadores de rede em que o AnyConnect é sempre o adaptador preferencial quando a VPN está conectada. Além disso, uma consulta DNS é enviada primeiro pelo túnel e, se não for resolvida, o resolvedor tenta resolvê-la pela interface pública. A lista de acesso split-exclude não deve incluir a sub-rede que cobre o(s) servidor(es) DNS de túnel. Para começar com o AnyConnect 4.2, as rotas de host para o(s) servidor(es) DNS de túnel são automaticamente adicionadas como redes com divisão de inclusão (rotas seguras) pelo cliente AnyConnect e, portanto, impedem a configuração incorreta na lista de acesso com divisão de exclusão.
Pré-AnyConnect 4.2
As solicitações DNS, que correspondem aos domínios split-dns, têm permissão para criar túneis de servidores DNS, mas não para outros servidores DNS. Para evitar que essas consultas de DNS interno vazem para fora do túnel, o driver do AnyConnect responde com "no such name" se a consulta for enviada para outros servidores DNS. Portanto, os domínios split-dns só podem ser resolvidos por meio de servidores DNS de túnel.
As solicitações DNS, que não correspondem aos domínios split-dns, são permitidas para outros servidores DNS, mas não podem criar túneis nos servidores DNS. Mesmo nesse caso, o driver do AnyConnect responde com "no such name" (sem esse nome) se uma consulta para domínios não split-dns for tentada por meio de túnel. Portanto, os domínios não split-dns só podem ser resolvidos por meio de servidores DNS públicos fora do túnel.
AnyConnect 4.2 +
As solicitações DNS, que correspondem aos domínios split-dns, são permitidas a qualquer servidor DNS, desde que se originem do adaptador VPN. Se a consulta for originada pela interface pública, o driver do AnyConnect responde com um "no such name" para forçar o resolvedor a sempre usar o túnel para a resolução de nomes. Portanto, os domínios split-dns só podem ser resolvidos via túnel.
As solicitações DNS, que não correspondem aos domínios split-dns, são permitidas a qualquer servidor DNS desde que se originem do adaptador físico. Se a consulta for originada pelo adaptador VPN, o AnyConnect responde com "no such name" (sem nome) para forçar o resolvedor a sempre tentar a resolução de nome através da interface pública. Portanto, os domínios não split-dns só podem ser resolvidos por meio da interface pública.
Em sistemas Macintosh, as configurações DNS são globais. Se o tunelamento dividido for usado, mas o DNS dividido não for usado, não será possível que as consultas DNS acessem os servidores DNS fora do túnel. Você só pode resolver internamente, não externamente.
Isso está documentado na ID de bug da Cisco CSCtf20226 e na ID de bug da Cisco CSCtz86314. Em ambos os casos, essa solução alternativa deve resolver o problema:
O caso DNS dividido é resolvido no AnyConnect versão 3.1. No entanto, você deve garantir que uma destas condições seja atendida:
Observação: o AnyConnect não altera o arquivo resolv.conf no Macintosh OS X, mas altera as configurações DNS específicas do OS X. O Macintosh OS X mantém o arquivo resolv.conf atualizado por razões de compatibilidade. Use o comando scutil —dns para exibir as configurações DNS no Macintosh OS X.
Quando o AnyConnect está conectado, somente os servidores DNS de túnel são mantidos na configuração DNS do sistema e, portanto, as solicitações DNS só podem ser enviadas aos servidores DNS de túnel.
O AnyConnect não interfere no resolvedor de DNS nativo. Os servidores DNS do túnel são configurados como resolvedores preferenciais, que têm precedência sobre os servidores DNS públicos, garantindo assim que a solicitação DNS inicial para uma resolução de nome seja enviada pelo túnel. Como as configurações de DNS são globais no Mac OS X, não é possível para consultas de DNS usar servidores DNS públicos fora do túnel, conforme documentado na ID de bug da Cisco CSCtf20226 . Para começar com o AnyConnect 4.2, as rotas de host para o(s) servidor(es) DNS de túnel são automaticamente adicionadas como redes com divisão de inclusão (rotas seguras) pelo cliente AnyConnect e, portanto, a lista de acesso com divisão de inclusão não exige mais a adição explícita da sub-rede do servidor DNS de túnel.
O AnyConnect não interfere no resolvedor de DNS nativo. Os servidores DNS do túnel são configurados como resolvedores preferenciais, eles têm precedência sobre os servidores DNS públicos, portanto isso garante que a solicitação DNS inicial para uma resolução de nome seja enviada pelo túnel. Como as configurações de DNS são globais no Mac OS X, não é possível para consultas de DNS usar servidores DNS públicos fora do túnel, conforme documentado na ID de bug da Cisco CSCtf20226 . Para começar com o AnyConnect 4.2, as rotas de host para o(s) servidor(es) DNS de túnel são automaticamente adicionadas como redes com divisão de inclusão (rotas seguras) pelo cliente AnyConnect e, portanto, a lista de acesso com divisão de inclusão não exige mais a adição explícita da sub-rede do servidor DNS de túnel.
Se o DNS dividido estiver habilitado para ambos os protocolos IP (IPv4 e IPv6) ou estiver habilitado apenas para um protocolo e não houver nenhum pool de endereços configurado para o outro protocolo:
Um split-DNS real, semelhante ao do Windows, é aplicado. O DNS dividido verdadeiro significa que a solicitação que corresponde aos domínios DNS divididos só é resolvida através do túnel, eles não vazam para os servidores DNS fora do túnel.
Se o split-DNS está ativado para apenas um protocolo e um endereço de cliente é atribuído para o outro protocolo, apenas o fallback de DNS para split-tunneling é aplicado. Isso significa que a AC só permite solicitações de DNS que correspondam aos domínios split-DNS via túnel (outras solicitações são respondidas pela AC com resposta "recusada" para forçar o failover para servidores DNS públicos), mas não pode impor a solicitação que corresponde aos domínios split-DNS que não são enviados de forma limpa, através de adaptador público.
Quando o AnyConnect está conectado, somente os servidores DNS de túnel são mantidos na configuração DNS do sistema e, portanto, as solicitações DNS só podem ser enviadas aos servidores DNS de túnel.
O AnyConnect não interfere no resolvedor de DNS nativo. Os servidores DNS do túnel são configurados como resolvedores preferenciais, que têm precedência sobre os servidores DNS públicos, garantindo assim que a solicitação DNS inicial para uma resolução de nome seja enviada pelo túnel.
O AnyConnect não interfere no resolvedor de DNS nativo. Os servidores DNS do túnel são configurados como resolvedores preferenciais, que têm precedência sobre os servidores DNS públicos, garantindo assim que a solicitação DNS inicial para uma resolução de nome seja enviada pelo túnel.
Se split-DNS estiver habilitado, somente fallback de DNS para split-tunneling será imposto. Isso significa que a AC só permite solicitações de DNS que correspondam aos domínios split-DNS via túnel (outras solicitações são respondidas pela AC com resposta "recusada" para forçar o failover para servidores DNS públicos), mas não pode impor aquela solicitação que corresponde aos domínios split-DNS que não são enviados de forma limpa, através do adaptador público.
O iPhone é o oposto completo do sistema Macintosh e não é similar ao Microsoft Windows. Se o tunelamento dividido for definido, mas o DNS dividido não for definido, as consultas DNS serão encerradas por meio do servidor DNS global definido. Por exemplo, as entradas de domínio DNS divididas são obrigatórias para resolução interna. Esse comportamento é documentado na ID de bug da Cisco CSCtq09624 e é corrigido na versão 2.5.4038 para o cliente AnyConnect iOS da Apple.
Observação: esteja ciente de que as consultas de DNS do iPhone ignoram .domínios locais. Isso está documentado no bug da Cisco ID CSCts89292. Os engenheiros da Apple confirmam que o problema é causado pela funcionalidade do SO. Este é o comportamento projetado, e a Apple confirma que não há nenhuma mudança para ele.
Observação: somente os usuários registrados da Cisco têm acesso às ferramentas e informações internas da Cisco.
ID de bug Cisco CSCtn14578 - AnyConnect para suportar DNS dividido verdadeiro; não fallback
ID de bug Cisco CSCts89292 - AC para consultas de DNS do iPhone ignoram domínios .local
Revisão | Data de publicação | Comentários |
---|---|---|
3.0 |
23-May-2024 |
Recertificação |
1.0 |
12-Jun-2014 |
Versão inicial |