Executando DNS localmente na rede doméstica

102

Eu tenho uma pequena rede doméstica que acabou de ficar maior (nova colega de quarto, minha colega de quarto existente tem um laptop (em cima do computador), meus amigos vêm com laptops etc.).

Eu gostaria de executar um servidor DNS local para pesquisas de meu material de rede local ( fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local). Eu costumava ter uma linha de negócios com um IP estático e executava bind / nomeado internamente. No entanto, agora eu tenho uma conta normal.

Os servidores DNS do meu ISP estão mudando constantemente (por qualquer motivo, meu ISP não gosta de manter o mesmo intervalo de IP por muito tempo). Eu preciso que meu DNS local seja atualizado automaticamente para usar o DNS do meu ISP para tráfego externo, mas seja capaz de manter um servidor DNS interno (atualizar o arquivo hosts está sendo um aborrecimento para todas as novas máquinas, além de reconstruir as máquinas existentes com o win7 ou Ubuntu 9.04).

Além disso, os servidores DNS do meu ISP geralmente travam ou não respondem. Existem servidores DNS abertos que são confiáveis ​​(não quero reconfigurar todos os dias) que eu poderia usar como principal e, se falharem, use os meus ISPs?

ATUALIZAÇÃO: Também procurando cada estação de trabalho para poder usar o dhcp para conectar, mas em vez de obter servidores DNS do ISP, obtendo o meu interno ....

Roy Rico
fonte
2
Há pelo menos 2 perguntas aqui: Configuração de DNS local, servidores DNS públicos. Poste 2 perguntas na próxima vez.
hyperslug
17
Concordo, mas estou procurando uma solução geral. cada pergunta por si só teria uma resposta correta, mas pode não se mesclar, estou tentando procurar solução para os dois problemas que funcionam juntos.
Roy Rico
@RoyRico Você já encontrou uma boa solução? Estou tentando fazer a mesma coisa com um roteador Tomato e estou correndo contra as paredes em todas as direções.
11404 Jeff
Se você possui uma caixa Linux, veja como configurar o DNSMASq em detalhes - sfxpt.wordpress.com/2011/02/06/…
xpt
Os novos servidores DNS do Google são 8.8.8.8 e 8.8.4.4 no caso de alguém estava pensando ...
Tmanok

Respostas:

16

Se você deseja que domínios falsos internos funcionem, não pode configurar suas estações de trabalho com nenhum servidor DNS, exceto o seu. Depois de configurar o BIND, ele pode funcionar por si só e você não precisa do seu ISP ou de nenhum outro servidor DNS não autorizado.

Bender
fonte
9
No entanto, um bom internauta encaminhará para os caches DNS do seu ISP, se possível. A carga nos servidores DNS raiz é horrível. Especialmente para sites pequenos como este, porque não aumentaria se cada família decidisse ir direto. (Se você estiver preocupado com a violação do ISP, use DNSSEC).
Sourcejedi
1
@sourcejedi, você entende mal o que um servidor DNS de cache realmente faz ... certamente não bate nos servidores raiz, apenas os incomoda talvez uma vez por semana.
milli 12/02
7
Há uma razão diferente pela qual você deve encaminhar para os servidores DNS do ISP ... você parecerá um cliente comum para eles. Se não o fizer, e eles perceberem que você tem um sistema que envia consultas DNS em todo o mundo, eles presumem que você esteja executando um servidor DNS e podem apenas lançar uma regra de firewall na sua cara e manejá-lo. Você lutará para descobrir o que quebrou e provavelmente perderá horas tentando descobrir se / quando isso acontece.
milli 12/02
1
Além do argumento do @ milli, o DNS do seu ISP também pode substituir a resolução de alguns domínios para suas máquinas particulares com conteúdo mais rápido / armazenado em cache / não medido. Usar DNS público pode interromper esses serviços ou custar mais.
Walf
85

Basicamente, você precisa executar seu próprio servidor DHCP e DNS. Você já está executando seu próprio servidor DHCP se tiver um roteador típico que forneça endereços IP privados.

O servidor DHCP deve estar configurado para distribuir o IP do roteador como o endereço do gateway e o IP do servidor DNS como o endereço do servidor DNS, obviamente.

Seu servidor DNS deve estar configurado para resolver um domínio de nível superior não oficial localmente, como .local, e depois encaminhar outras solicitações para outro DNS. No BIND, você precisa adicionar uma forwarders { }seção ao seu `/etc/bind/named.conf.options ', que contém os servidores DNS públicos que você deseja usar para resolver endereços não locais. Como outros comentários sugerem, se você não deseja encaminhar para os servidores DNS do seu ISP, pode usar o OpenDNS, os servidores DNS públicos do Google ou o 4.2.2.1/4.2.2.2 (esqueço quem os faz).

Se você estiver executando seu próprio servidor DNS, precisará de uma caixa que esteja sempre ativa, pois todas as consultas DNS na sua rede doméstica passarão por ele. Esta caixa precisa de um IP fixo na sua sub-rede doméstica. Certifique-se de que não possa ser bloqueado pelo DHCP, e a própria caixa não deve estar recebendo um IP via DHCP. Se o seu DHCP estiver configurado para distribuir endereços de 192.168.1.1 a 192.168.1.100, por exemplo, dê ao servidor DNS o IP 192.168.1.101. Na situação habitual dos roteadores domésticos, basta informar ao roteador que o servidor DNS é 192.168.1.101 e reinicie.

Se você pode obter um DNS local em execução no seu roteador de banda larga, ótimo, mas um servidor DNS pode se beneficiar de muita RAM para consultas de cache, dependendo do software DNS usado. Na minha rede, apenas uso o BIND direto . Parece que você pode ter um pouco de experiência com isso e para mim funciona muito bem.

LawrenceC
fonte
3
4.2.2.1/4.2.2.2/4.2.2.3 são da camada 3.
Hengjie
1
Excelente resposta! Obrigado pela informação completa e clara. Em breve, tentarei configurar isso na minha rede local.
Forma
2
Sucesso! Essa abordagem é sólida. Definir um IP fixo fora do intervalo endereçável / evitar DHCP para a caixa DNS é especialmente relevante. Obrigado!
Formulário
@Hengjie, o que é a camada 3?
Jonathan
A camada 3 é um provedor de datacenter e também um provedor de rede. Eles também fornecem servidores DNS sólidos.
Hengjie
15

Existem servidores DNS abertos que são confiáveis

Você disse: OpenDNS .

208.67.222.222
208.67.220.220
hyperslug
fonte
3
Também gostaria de consultar aboutdebian.com/dns.htm para obter uma boa visão geral das diferentes maneiras de configurar seu próprio servidor DNS.
23909 Kenneth Cochran
1
+1 para o OpenDNS. Eu o uso no trabalho e em casa. Serviço fantástico.
DWilliams
4
Cuidado para que os servidores de nomes do OpenDNS sejam mentirosos: eles reescrevem as respostas do DNS, direcionam você para um serviço de anúncios ou censuram alguns destinos.
Bortzmeyer
1
@ortz, eu não os vi mentir sobre isso, mas eles redirecionam para sua página de destino + anúncios em caso de URLs malformados. A censura está ativada e desativada por padrão.
hyperslug
12
Os servidores DNS públicos do Google em 8.8.8.8 e 8.8.4.4 também são muito bons.
LawrenceC
6

Se você estiver executando o Windows - verifique o Simple DNS Plus - é um servidor DNS completo que também vem com um plug-in de servidor DHCP - e possui uma GUI fácil de usar.

[Nota: o produto é desenvolvido pelo autor deste post]

Jesper
fonte
Estou executando o Windows como uma das minhas máquinas, mas nem sempre ela está ligada. A máquina Linux geralmente está ligada.
Roy Rico
Apenas mencionar que isso não é uma solução gratuita. É oferecido um teste de 14 dias e licenciamento educacional. Caso contrário, você
puxará a
5

O Unbound é bastante fácil, suporta arquivos de configuração no estilo bind e é bastante confiável. Se o servidor for uma caixa do tipo 'gateway' autônomo e você desejar algumas informações adicionais, convém dar uma olhada na distribuição de firewall / gateway chamada desembaraçar também.

Journeyman Geek
fonte
4

Se você possui uma caixa Linux, você deseja configurar o DNSMASq para obter seus endereços locais e usá-lo como um servidor DNS de encaminhamento / armazenamento em cache para endereços externos. Isso também é frequentemente usado nas distribuições linux para roteadores domésticos, como openwrt / ddwrt / tomato.

Como alternativa, na maioria das redes Apple / Mac, você usaria o Bonjour / Zeroconf no qual os computadores Linux e Apple podem se comunicar para obter uma resolução de serviço / DNS em nível de broadcast.

Dito isto, em uma rede puramente híbrida com todos os três sistemas operacionais em execução, você definitivamente desejará um servidor DNS local com encaminhamento para o OpenDNS, GoogleDNS ou DNS do ISP local, dependendo da sua localização / necessidades.

jonathanserafini
fonte
2

4.2.2.1 e 4.2.2.2 são o que eu uso

edit: ou seja, em relação aos servidores públicos. Fácil de lembrar e acho que não os vi falhar desde que os uso.

DHayes
fonte
Já vi isso antes. Quem dirige aqueles? O público está autorizado a usá-los? quão confiáveis ​​eles são?
Roy Rico
Verizon. Parece que eles não se importam. Muito.
Hyperslug 23/09/09
Eles são servidores DNS abertos, gratuitos para uso público. Eles são rápidos e confiáveis.
Walter
3
Eu já vi 4.2.2.2 falhar o suficiente para nossos clientes (que exigem DNS confiável para processamento de cartão de crédito!) Que eu sempre os altero para o DNS público ou o OpenDNS do Google sempre que os vejo. A mudança dos servidores da Verizon sempre resolve esse problema imediatamente.
Stephen Jennings
2

Qualquer roteador de banda larga oferece serviços de DNS e DHCP para a rede local. Se você deseja conexões INcomming da Internet com máquinas locais, precisa de um roteador que também suporte DynDNS e Incomming PortForwarding.

Se você escolher um da lista de hardware compatível com DD-wrt, poderá atualizá-lo com esse firmware e ele oferecerá suporte a qualquer recurso que você possa precisar em sua pequena rede.

Nikolaas
fonte
4
Não acho que a maioria dos roteadores de banda larga forneça serviço DNS, pelo menos não com o firmware fornecido. A maioria apenas fornece DHCP e usa isso para informar seus sistemas para usar os servidores DNS do seu ISP. Agora, se você atualizar um firmware de terceiros como DD-WRT, OpenWRT ou Tomato, eles também poderão fornecer serviços de DNS.
afrazier 16/02
1

Para executar um servidor DNS na sua LAN, consulte 'pdnsd', que é um servidor de nomes para * nix.

Zuu
fonte
1

Alguns servidores DNS gratuitos que você pode usar para encaminhar:

1.1.1.1 - Cloudflare
1.0.0.1 - Cloudflare
4.2.2.1 - Layer 3
4.2.2.2 - Layer 3
4.2.2.3 - Layer 3
8.8.8.8 - Google
8.8.4.4 - Google
208.67.222.222 - OpenDNS
208.67.220.220 - OpenDNS
JCA122204
fonte
0

Se você baixar o programa de benchmark DNS a partir do texto do link , ele fará o benchmark de uma lista de servidores DNS públicos, bem como do servidor DNS local. Depois de executar este programa, tente colocar uma cópia dos servidores mais rápidos na configuração DNS do seu roteador e, em seguida, renove a sua sessão DHCP e execute o teste novamente.

Se o seu roteador permitir, adicione o roteador e um dos servidores DNS externos rápidos à lista de servidores DNS que ele entrega ao cliente DHCP (mas escolha um diferente daquele que você inseriu para os endereços do servidor DNS do roteador).

Walter
fonte
0

Eu tive um problema parecido. Comprei um roteador compatível com OpenWRT e instalei o OpenWRT. Oferece ligação IP estática junto com a resolução de nomes no roteador, o que me permitiu atribuir nomes aos meus computadores e dispositivos na rede como eu desejasse.

Cara
fonte
-1

Talvez eu esteja dizendo algo estúpido. Nesse caso, eu simplesmente adicionaria IP e nomes aos arquivos de hosts nas máquinas individuais.

192.168.0.120 tv.local

192.168.0.80 studiopc.local

Stefano
fonte