Cisco - NAT faz com que o nslookup retorne o IP local

4

Um pouco de fundo :

Eu tenho um servidor na minha LAN que é estaticamente NAT para seu IP público no meu Cisco 871. O restante da mesma sub-rede local é estaticamente NAT para um IP Público diferente, para separar o tráfego. O servidor de nomes público autoritativo para o meu domínio tem todos os registros relevantes e corretos para o servidor. Além disso, a informação foi totalmente propagada para o resto do mundo há algumas semanas.

O problema :

Ao executar nslookup do meu domínio a partir de qualquer máquina na mesma LAN física do servidor, independentemente da sub-rede (tenho duas sub-redes), recebo o IP local do servidor em vez de seu IP público. O nslookup retorna o IP correto (público) quando executado fora dessa rede.

O que eu sei até agora :

Eu sei que o problema desaparece instamagicamente assim que eu removo o NAT estático para o servidor (veja a linha em negrito na configuração abaixo). Eu não estou usando o CBAC para o tráfego DNS ou qualquer coisa dessa natureza. Meus colegas e eu estamos seriamente confusos.

Aqui estão os trechos relevantes (endereços deliberadamente alterados) da minha configuração:

  • ip nat natatório 65.x.x.162 65.x.x.162 netmask 255.255.255.240
  • ip nat pool convidados 65.x.x.164 65.x.x.164 netmask 255.255.255.240
  • ip nat dentro da lista de fontes 1 sobrecarga do escritório de pool
  • ip nat dentro da lista de fontes 2 sobrecarga de convidados do pool
  • ip nat dentro da fonte tcp estática 192.168.1.1 22 interface FastEthernet4 41234
  • ip nat dentro da fonte static tcp 192.168.1.69 22 interface FastEthernet4 44321
  • ip nat dentro da fonte tcp estática 192.168.1.12 interface 3389 FastEthernet4 51234
  • ip nat dentro da fonte static 192.168.1.9 65.x.x.163
  • !
  • autorização da lista de acesso 1 192.168.1.0 0.0.0.255
  • lista de acesso 1 nega qualquer
  • autorização da lista de acesso 2 192.168.100.0 0.0.0.255
  • lista de acesso 2 nega qualquer

Alguém por favor pode me ajudar a entender por que isso está ocorrendo?

    
por Berkus Aurelius 01.06.2009 / 22:32

3 respostas

4

Ele é chamado de "DNS Doctoring" - ele está tentando ajudá-lo, fornecendo ao cliente local o endereço local em vez do endereço NAT:

Link com as FAQs do NAT

Ele está fazendo isso porque o código do firewall do IOS (bem como o PIX ou o ASA) inspeciona o DNS por padrão, portanto, para desativá-lo, emita um "no inspect dns". Presumivelmente, o comportamento do Firewall do IOS entra em ação quando você começa a usar os NATs estáticos.

Link com detalhes do PIX / ASA sobre o DNS Doctor

    
por 01.06.2009 / 22:59
4

para desativar o DNS Doctoring, tente o seguinte comando:

no ip nat service alg udp dns

    
por 28.04.2011 / 18:01
0

Você pode postar um pouco de informação sobre sua estrutura de resolução de DNS. Por exemplo, clientes - > Servidor A - > ISP A. Parece que você está criando um 'loop' quando o NAT para o servidor está no lugar onde o último sistema DNS interno que vai para resolução para um servidor externo está olhando para o IP público do seu servidor ao invés do seu ISP ?? / p>

Para esclarecer um pouco. Quando o NAT não está no lugar, seu roteador está fornecendo resolução ou encaminhando-o para o ISP. Mas com o NAT, o tráfego é enviado de volta ao próprio servidor.

    
por 01.06.2009 / 22:43