Como posso acessar um servidor interno usando um caminho dns?

2

Nosso servidor de criação está hospedado em nosso escritório, mas pode ser acessado de fora por meio de build.mydomain.com. Eu tenho uma entrada de DNS no rackspace que aponta para o firewall do office, que por sua vez encaminha: 80 solicitações para o servidor interno.

Isso funciona muito bem fora do escritório. Eu apenas vou ao link e ele funciona. No entanto internamente (eu estou adivinhando por causa de um problema de loopback ??) Eu não posso usar o nome do DNS eu tenho que usar a sintaxe local link para chegar ao isto. Existe uma maneira de resolver isso sem ter que editar o arquivo host em cada máquina no escritório?

    
por Micah 19.11.2010 / 16:25

5 respostas

4

DNS do Horizonte Dividido

Pergunte ao Rackspace se eles podem configurá-lo (não sei se eles o suportam). Ou execute seu próprio servidor DNS interno com as configurações adequadas.

    
por 19.11.2010 / 16:29
0

Se você não quiser fazer o DNS dividido (o que é mais fácil), sua outra opção é configurar o DNAT da mesma rede no "firewall do escritório".

link

    
por 19.11.2010 / 18:19
0

Eu acho que você está tendo problemas com o NAT na sua máquina de firewall. Você definitivamente CAN faz com que as máquinas internas que atingem o IP público do firewall obtenham os mesmos resultados que os hosts externos. No entanto, para conseguir isso, você precisará "duplicar NAT" nas conexões. Você precisa ter certeza de que tanto a origem quanto o destino serão reescritos.

Eu acho que agora você está apenas fazendo o DNAT, então seus pacotes são encaminhados para a máquina de destino, mas o endereço de origem ainda é o seu endereço de LAN. Portanto, o servidor de destino tenta responder diretamente à origem, mas responde com o endereço IP e a máquina de origem o rejeita porque espera que ele venha do IP público do firewall.

Para esses tipos de problemas, usarei o tcpdump para rastreá-lo. Por exemplo, no host de destino, eu executaria:

tcpdump -lni eth0 port 80

Em seguida, tente estabelecer uma conexão de uma máquina interna com o nome "build.example.com". O que você deve ver é que o endereço de origem é o endereço IP interno do firewall, e o IP de destino obviamente será o IP interno na máquina de destino. Se você não vir nenhum pacote relacionado a esse tráfego, seu DNAT não está funcionando no firewall. Se o endereço de origem for o IP na máquina de origem, significa que você não está fazendo SNATing nos pacotes. Provavelmente porque você é apenas tráfego NAT quando deixa o firewall através do seu link upstream.

Se o tcpdump na máquina de destino não ajudar, você pode tentar fazer um tcpdump no firewall. Existem vários tipos de tcpdumps que normalmente faço:

tcpdump -lni any port 80

Isso mostrará o tráfego da porta 80 em qualquer interface. Portanto, para o NAT, você normalmente verá o pacote de entrada sem nenhuma tradução e, em seguida, também verá esse pacote após os resultados de qualquer NAT. No entanto, este tcpdump mostrará apenas o tráfego HTTP (porta 80). O que você NÃO VER é o tráfego ICMP, como as regras de REJEIÇÃO do firewall ou se nada estiver escutando na porta ...

tcpdump -lni any host $SOURCE_HOST_IP

Este mostrará qualquer coisa para / do host de origem, assim você verá mensagens ICMP que podem ser úteis. No entanto, isso irá ignorar os pacotes NATed.

tcpdump -lni any host $DESTINATION_HOST_IP

Isto mostrará os pacotes indo para a máquina de destino, ou vindo dela. Eles devem listar o IP do host de destino e o IP do firewall que está na mesma rede que o host de destino. Se não for, as regras do NAT precisam ser analisadas.

As exibições de DNS também podem ser usadas, mas isso pode ser chato de configurar e manter também. Mas tem o benefício de que o tráfego vá diretamente para o host de destino em vez de ter que acessar o firewall.

Minha recomendação seria fazer com que os hosts internos acessem o IP externo, mas isso realmente depende das suas necessidades.

O primeiro mostrará pacotes indo para

    
por 19.11.2010 / 18:40
0

eu simplesmente usaria tinydns dnscache .. é um excelente servidor / cache de DNS ..

É fácil de configurar e instalar ... Eu apenas configurá-lo em uma rede de desenvolvimento há poucos dias ...

Espero que isso ajude: D

    
por 19.11.2010 / 19:17
0

Você tem um servidor DNS local? Se você estiver usando o servidor DNS local e cada máquina em sua rede usando-o para resolver a consulta DNS. Você pode criar uma pesquisa direta e adicionar um registro. Se você estiver usando o Windows 2008, também poderá fazer o encaminhamento condicional. Você também pode conseguir isso se tiver uma pequena quantidade de usuários editando seu arquivo host e adicionar a entrada build.domain.com ao seu endereço IP local.

    
por 19.11.2010 / 17:38