DD-WRT servindo servidores DNS adicionais em vez de apenas o IP do roteador


9

Eu tenho um roteador DD-WRT (usando DD-WRT v24SP2-MULTI (21/03/11) std) configurado com DNSMasq para resolver determinados domínios para endereços internos e passar todo o resto. O roteador em si está configurado para usar os servidores DNS públicos do Google para resolver endereços.

Minha tela de configuração fica assim:

Tela de configuração do DDWRT

Meu problema é que, quando um cliente DHCP se conecta, ele obtém o roteador e os dois servidores DNS do Google como os servidores DNS atribuídos:

Servidores DNS atribuídos pelo DHCP

Esse é um problema porque, às vezes, os clientes sem fio tentam resolver um domínio que deveria apontar para um endereço IP interno e acabam recebendo um ip externo, porque, por qualquer motivo, a solicitação é enviada 8.8.8.8para o roteador.

Não quero que o roteador atenda a nada além de seu próprio IP como servidor DNS. Isso é possível?


1
Posso estar enganado, mas como essa é a seção de configuração do servidor DHCP, você está explicitamente dizendo ao seu roteador para fornecer esses servidores do Google como opções de DNS para os clientes. Você deseja removê-los da lista e, em seguida, configurar o roteador para obter seu próprio DNS do google, talvez a resposta abaixo seja a maneira correta de fazer isso.
horatio 24/01

Se eu remover aqueles, o roteador irá fornecer os servidores que ficou do ISP via DHCP ..
0x6A75616E

Você diz "por qualquer motivo" várias vezes em sua postagem e comentários. É por isso que 8.8.8.8 é passado para os clientes. Porque você mandou. Se você não deseja que isso seja relatado, é necessário removê-lo. Se o seu roteador for um servidor DNS, tente SOMENTE o endereço do roteador.
horatio 31/01

@horatio, na verdade não. Meu ponto é por que o servidor dhcp está fornecendo endereços DNS adicionais? Se o dnsmasq estiver no dispositivo e a aplicação de certas regras de resolução de nomes, servir servidores DNS adicionais (além do próprio roteador) anula esse objetivo.
0x6A75616E

Essa seção é uma lista de servidores DNS a serem entregues aos clientes que solicitam informações de DHCP.
horatio

Respostas:


7

É bom que você esteja usando o DNSMasq.

Você pode configurar o que deseja na guia Serviços (> Serviços) , na caixa DNSMasq> Opções DNSMasq adicionais , mas primeiro você deseja limpar esses campos DNS estáticos. Campos DNS estáticos em "Configuração> Configuração básica"

Adicione o seguinte à caixa de opções DNSMasq:

dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006

server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4

Isso parece ter funcionado perfeitamente para mim. Pergunta muito idiota embora. Qual parte dessa primeira linha especifica a opção 006 do DHCP? opção: dns-server?
Residualfail

@ Residualfail: Sim; Eu acho que você pode especificá-lo numericamente também, mas option:dns-servercorresponde à opção DHCP 006.
palswim

1
Parece que eu poderia ter falado cedo demais. Parece que o DNS está voltando para o DNS do Google depois que meu DNS interno é desligado. = (
Residualfail

4

Informações obtidas no site oficial do DD-WRT: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Parece que você pode definir os servidores DNS restantes para IPs não roteáveis ​​(no meu caso 10.0.0.0& 10.0.0.1) e comprimirá os servidores DNS dos ISPs com esses não roteáveis. Até agora, para mim, parece estar funcionando sem demora, aguardando nos servidores DNS inexistentes.


Não haverá atraso, porque endereços não roteáveis ​​serão descartados imediatamente pela pilha de rede. Isso cria uma quantidade menor de sobrecarga e é um hack, mas não deve haver problemas no mundo real.
Alguém

3

Eu não estou usando DDWRT, então isso é meia pergunta / meia resposta.

O manual DNSMasq como servidor DHCP diz na seção "Opções extras do DNSMasq":

Existem algumas opções extras na interface da web do DNSMasq que você pode definir inserindo-as em Opções adicionais do DNSMasq na guia "Serviços".

Se você deseja passar pelos servidores DNS do seu ISP, pode usar os seguintes parâmetros:

dhcp-option=6, x.x.x.x, y.y.y.y

onde xxxx = DNS1 aaaa = DNS2

Isso parece significar que a passagem dos servidores ISP é opcional, portanto, localizar e excluir a linha acima deve desativá-la.


1
Eu definiria dhcp-option = 6,192.168.10.10 para passar esse endereço IP como IP do servidor DNS para clientes DHCP.
thane

1
Obrigado pelo ponteiro. Tentei fazer isso em ambos uDHCPd (que é o DNS daemon eu estava usando no ddwrt) e dnsmasq (ligado a ele), mas sem sucesso :( Ele mantém servindo os registros DNS adicionais por qualquer motivo..
0x6A75616E

Nesse caso, talvez você deva postar a pergunta nos fóruns do DD-WRT .
harrymc

2

Se você não deseja que os clientes acessem o DNS externo, não coloque seus endereços na configuração do servidor DHCP.

Suponho que você queira adicionar (eventualmente, mais rapidamente) os servidores DNS do Google em uma configuração do cliente DHCP externo (onde o DNSMASQ usaria as preferências do cliente DNS)

Extra:

Você precisa adicionar servidores DNS (todos) extras à configuração do link da WAN. O DNSMasq os usará e nunca o cliente DHCP adquirirá do provedor.


obrigado por sua contribuição, mas isso não faz muito sentido no contexto da pergunta. O DNSMasq funciona encaminhando solicitações de DNS de clientes para servidores DNS reais, com a capacidade de modificar algumas respostas em tempo real. Se eu removi os servidores DNS da configuração, o roteador apenas reverte para os servidores atribuídos pelo ISP. Você está respondendo à minha pergunta dizendo "corrigir sua configuração", mas a pergunta em si é "como corrigir a configuração".
0x6A75616E

2

Uma opção de configuração típica para DD-WRT é permitir que o roteador direcione o DNS para fora dos servidores DNS principais do ISP; que você fez com sucesso; no entanto, como as solicitações são geradas a partir da máquina CLIENT, conectando DEMASIADO O roteador, a ordem de preferência é sempre dada ao DNS configurado na máquina do cliente e depois ao roteador.

O que você está descrevendo é que o cliente está se associando ao seu roteador, o que está correto, mas o DNS mostra o IP do roteador + 2 outras configurações de DNS. Verifique o computador cliente e verifique se as configurações de IPV4 estão definidas para extrair dinamicamente a configuração do servidor DNS da conexão, e não manualmente:

Configurando o Cliente

Em seguida, verifique se o seu roteador DD-WRT está configurado corretamente:

Configurar roteador

Na sua configuração acima, você também tem alguns problemas; você definiu o intervalo de endereços DHCP para iniciar 200e terminar em 255; Eu recomendaria que você altere isso para começar em 200 e terminar em 254; deixando o endereço 255 desativado, já que para configurações normais *.*.*.255é um endereço de broadcast e não um endereço IP normal a ser usado para atribuir ao cliente associado.

Eu destaquei as configurações de DNS local porque você definiu a sua 127.0.0.1; o que significa que você está executando um servidor DNS local no roteador . Se não for esse o caso, altere-o para 0.0.0.0ou um endereço adequado para um servidor DNS local na sua rede.

Você notará que quando o servidor e o cliente são configurados dessa maneira, apenas o endereço IP do DNS dos roteadores aparecerá; e todas as solicitações serão roteadas pelos servidores DNS associados ao roteador.

Nota sobre o servidor DNS local Se você desejar que o roteador associe determinado endereço local aos IPs locais, adicione-os às opções de configuração do DNSMasq na tela DD-WRT apropriada ou use um servidor DNS local e insira um endereço IP adequado para esse servidor (geralmente um servidor estático, dentro do escopo da rede). Dessa forma, a ordem da resolução será primeiro o servidor local, depois o 2 externo. Mas, ainda assim, apenas os clientes verão o IP do roteador como o servidor DNS.


obrigado pela sua resposta !, Verifiquei se todos os clientes na rede não têm servidores DNS codificados. De fato, em todos os casos, o 192.168.10.10 (o próprio roteador) volta como o primeiro servidor DNS a ser atingido. O que acontece é que alguns computadores atingem aleatoriamente os servidores DNS secundários que o DHCP está fornecendo. Tentei um milhão de coisas e parece que não há como fazê-lo servir apenas a si mesmo. Eu posso acabar executando outras instâncias dnsmasq em uma máquina diferente e usá-la como dns2 e dns3 .. como um hack! ri muito. thx novamente.
0x6A75616E

2

Estou com um problema semelhante após a morte do meu roteador e precisava executar o WRT160N com flash.

Eu tenho uma caixa funcionando como um servidor DNS local em 192.168.2.30 na minha rede. Eu basicamente quero que o DHCP apenas forneça esse endereço como um servidor DNS; Não quero que o DNS vá para outro lugar.

Estou usando "Firmware: DD-WRT v24-sp2 (19/12/10) mini"

Não parece importar qual combinação de configurações de DNSMasq, configurações de DHCP, DNS local ou o que eu uso. Se o Servidor DNS 2 e o Servidor DNS 3 estiverem em branco ou corresponderem ao Servidor DNS 1, o DD-WRT insistirá em distribuir os servidores DNS da Comcast para esses pontos. Eu não quero isso, pois tenho encaminhamento 192.168.2.30 para o OpenDNS para consultas que não são locais.

Estou escrevendo isso como um bug nesta versão bastante antiga (agora) do DD-WRT e vou instalar / configurar meu próprio servidor DHCP em 192.168.2.30 e desativar o DHCP no roteador.


1
isso não é realmente uma má idéia ... Eu poderia apenas configurar o dhcp em outra caixa e parar de brincar com o ddwrt.
0x6A75616E

1
Esse problema ainda existe na minha compilação de fevereiro de 2016, parece ser um recurso. Estou abandonando o roteador e voltando ao PC Linux para isso. As pessoas que desenvolvem software de roteador devem realmente entender melhor os problemas de privacidade que acompanham esse comportamento inesperado, incomum e irresponsável da GUI. Se eu tiver que cortar as coisas sozinho, não há realmente sentido em usar um sistema comparativamente complicado e limitado. E quando você já está executando o DNS e o DHCP em outra máquina, o que resta para o roteador? Empurrando pacotes?
Alguém

1

Adicionado alguns anos atrasado porque me deparei com essa busca por uma resposta ... Adicionei interfaces virtuais ao meu pi-hole para lidar com mais 2 endereços IP.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Isso me permitiu preencher todas as 3 caixas com endereços locais e distribuí-las o suficiente para que, embora o roteador dd-wrt esteja distribuindo 5, 3 locais e os 2 DNS do ISP upstream, minhas máquinas não os atinjam.


0

Como usar um método menos invasivo: se for sua LAN e seu DNS, tenho certeza de que existem alguns endereços a serem dispensados ​​para que o DNS escute em três IPs.

O ganho de ter endereços não roteáveis ​​deve ser irrelevante na prática, mas pelo menos você não está confiando em algo que está sendo quebrado e os roteadores respondem a isso. Você nunca pode ter certeza se isso não vai mudar algum dia.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.