Estou tentando configurar o Auto NAT duplo com tradução de DNS no Cisco ASA 9.0 (3) e estou tendo alguns desafios com a parte do DNS. Recebi o dobro do NAT funcionando corretamente, de modo que tenho um servidor em produção e no laboratório com o mesmo endereço IP. Consulte b2masd1, nomeif INSIDE (produção) e masd1, nomeif DMZ (laboratório).
Quando você executa ping do DMZ 10.195.18.182 para 1.195.18.182, vejo as traduções acontecendo corretamente nas duas direções ...
É isso que vejo no masd1 ...
O problema é que as consultas DNS da DMZ para INSIDE não estão sendo traduzidas. Quando eu pesquiso b2masd1 da DMZ, espero que o servidor de nomes no INSIDE responda com 10.195.18.182 e, em seguida, o ASA deve traduzir isso para 1.195.18.182. No entanto, isso não está acontecendo; como você pode ver, a entrada DNS não é traduzida.
Alguém pode explicar o que preciso fazer para que as consultas DNS sejam traduzidas corretamente? Preciso de uma consulta para b2masd1 no DMZ para um servidor de nomes na interface INSIDE para retornar 1.195.18.182 (porque o ASA converte o INSIDE A-Record 10.195.18.182 no DMZ addr 1.195.18.182).
Criei uma sala de bate - papo para ajudar no diagnóstico
Informações diversas sobre depuração
Esta é a minha configuração ...
Mostrar xlate, caso isso ajude ...
Mostrar política de serviço inspecionar dns ...
Captura mostrando consultas de b2masd1 para o servidor de nomes (10.195.18.201). OBSERVE as consultas DNS duplas enviadas na interface INSIDE, mas parece que não as recebemos na interface DMZ.
Respondendo à minha própria pergunta para ajudar futuros googlers. Passei cerca de 3 horas no telefone com o TAC; finalmente chegamos à causa raiz do problema.
A solução é adicionar uma entrada NAT especial, que corresponda ao endereço IP no registro A do DNS quando ele chegar na interface INSIDE.
Quando solicitei um ponteiro para a documentação que descreve por que a tradução DNS funciona dessa maneira, o líder do TAC disse que não conhecia ninguém que descrevesse esse comportamento. O líder do TAC também mencionou que, com mais código, o ASA saberia traduzir automaticamente o registro A do DNS sem adicionar explicitamente object network DNS_NAT_masd1; no entanto, não é assim que a dnspalavra - chave para o ASA NAT funciona hoje. Por razões que ainda não estão completamente claras ainda, o ASA exige que o IP do registro A do DNS corresponda ao <proxy_addr>da declaração NAT, usando uma sintaxe semelhante a esta ...
A dificuldade é que essa configuração é exatamente inversa para o que você precisa fazer se quiser acessar o tráfego IP normal do "plano de dados" através do firewall.
Esta é toda a configuração que funciona ...
Mike! Obrigado por compartilhar isso! Eu usei essa solução alternativa com duas vezes NAT e funciona também!
Eu tenho duas vezes NAT (ASA OS v 9.5):
origem nat (externa, interna) dinâmica QUALQUER destino X GroupM GroupN
Então, eu tenho um grupo de servidores "GroupN" no meu interior e eu os NAT para fora para endereços IP "GroupM". Clientes de fora (qualquer) podem acessar meus servidores e, quando clientes externos passam pelo ASA, suas fontes são substituídas pelo endereço IP X.
Aqui não é possível usar a palavra-chave dns. Mas, com sua solução alternativa, criei um conjunto de NATs de objetos auxiliares:
E eu tenho o DNS DNS funcionando corretamente.
BTW, a Cisco em sua documentação diz que esta tarefa é impossível :) http://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/ 115753-dns-doctoring-asa-config.html