Acabei de herdar uma intranet onde um Mandriva Directory Server 5.0 atua como servidor DNS e DHCP interno , baseado em um servidor LDAP para armazenamento de configuração.
A idéia é que todos os hosts de intranet recebam um nome de entrada de DNS-ipdaddres onde o endereço IP esteja em um espaço privado NATted 10.0.*.*
Alguns desses hosts também são declarados em um DNS público real (internet :-)) apontando para o endereço IP público do roteador; ele cuida de alguns encaminhamentos de porta e redirecionamentos http para permitir que alguns serviços de intranet estejam disponíveis de fora do escritório sem um acesso semelhante a VPN ou túnel SSH.
O servidor DNS MDS, portanto, abrange apenas os endereços IP privados e confia nos servidores DNS públicos para o resto.
Agora, tenho algumas perguntas estritamente relacionadas sobre essa configuração.
Eu não estou acostumado a arquivos de configuração mandriva, e estou um pouco confuso sobre a prática correta para esta configuração de dns 'duplo'
-
ONDE posso modificar os servidores de nomes 'públicos' para o MDS?
Está em /etc/sysconfig/network-scripts/ifcfg-eth0
, DNS1
e DNS2
?
Eles mudaram desde então.
-
Qual é a melhor prática para que um host verifique primeiro o DNS do MDS e use o DNS público? Os hosts devem usar somente o DNS do MDS e o MDS acessa os DNSs públicos para obter as entradas ausentes ou ...?
editar
Avançando, mas ainda assim a questão principal parece a mesma.
Por favor, não que o servidor esteja funcionando atualmente e a maioria dos nomes de domínio foi resolvida, mas alguns não são, e provavelmente estavam usando um DNS público antigo e desatualizado.
Após o @TiZon informar, eu editei /etc/resolvconf/resolv.conf.d/tail
para adicionar os servidores de nomes públicos.
Agora é isso que acontece. Quando o servidor de nomes principal falha, ele não faz fallback para os públicos:
dig rueducommerce.com @10.0.0.10
; <<>> DiG 9.5.0-P2 <<>> rueducommerce.com @10.0.0.10
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55845
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;rueducommerce.com. IN A
;; Query time: 0 msec
;; SERVER: 10.0.0.10#53(10.0.0.10)
;; WHEN: Thu May 19 15:50:55 2011
;; MSG SIZE rcvd: 35
Dig (ou nslookup, mesmo comportamento) sem especificar um servidor receberá o código de falha e tente o próximo servidor em /etc/resolv.conf e retorne corretamente o resultado.
dig rueducommerce.com
;; Got SERVFAIL reply from 127.0.0.1, trying next server
; <<>> DiG 9.5.0-P2 <<>> rueducommerce.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38942
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;rueducommerce.com. IN A
;; ANSWER SECTION:
rueducommerce.com. 440 IN A 178.251.201.141
rueducommerce.com. 440 IN A 178.251.200.141
;; Query time: 279 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu May 19 15:51:51 2011
;; MSG SIZE rcvd: 67
mas o stackoverflow funciona
dig stackoverflow.com @10.0.0.10
; <<>> DiG 9.5.0-P2 <<>> stackoverflow.com @10.0.0.10
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40964
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0
;; QUESTION SECTION:
;stackoverflow.com. IN A
;; ANSWER SECTION:
stackoverflow.com. 1800 IN A 64.34.119.12
;; AUTHORITY SECTION:
stackoverflow.com. 38 IN NS ns3.serverfault.com.
stackoverflow.com. 38 IN NS ns2.serverfault.com.
stackoverflow.com. 38 IN NS ns1.serverfault.com.
;; Query time: 230 msec
;; SERVER: 10.0.0.10#53(10.0.0.10)
;; WHEN: Thu May 19 16:02:24 2011
;; MSG SIZE rcvd: 117
O que eu posso depurar para entender por que o stackoverflow está funcionando, mas o comércio não está?
Eu poderia adicionar um DNS público como um DNS secundário no DHCP (como?) e os clientes provavelmente se comportarão melhor (o mesmo que esta linha de comando), mas essa é a maneira correta de resolver esse problema? Para mim, parece que os clientes poderiam começar a obter resultados contraditórios do servidor privado e público.
Existe uma maneira de vincular / nomear ir buscar esses resultados ou dizer ao cliente para onde ir buscá-los?
Espero que a pergunta esteja clara o suficiente, não hesite em adicionar comentários caso eu precise declarar com mais clareza ou adicionar detalhes ... obrigado!