DD-WRT: DNSMasq expand-hosts não funcionando

11

Eu tenho um roteador Linksys rodando DD-WRT (Firmware: DD-WRT v24-sp2 (09/08/09) mini). Eu tenho resolvido com sucesso os nomes DNS para meus sistemas atribuídos pelo DHCP, mas somente quando eu qualifico totalmente esses domínios. Isso ocorre apesar de usar a opção adicional DNSMasq "expand-hosts", que supostamente ativa essa função precisa.

Aqui está o meu dnsmasq.conf:

interface=br0
resolv-file=/tmp/resolv.dnsmasq
domain=example.com
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,10.77.0.5
dhcp-authoritative
dhcp-range=lan,10.77.0.100,10.77.0.149,255.255.0.0,1440m
dhcp-host=00:1A:A0:1D:82:5A,astatichostname,10.77.1.40,infinite
expand-hosts

(FYI: example.com e astatichostname são marcadores para os nomes reais que eu uso. Minha rede usa 10.77.0.0/16; meu roteador está em 10.77.0.5.)

Resultados:

> nslookup astatichostname 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

** server can't find astatichostname: NXDOMAIN

> nslookup astatichostname.example.com 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

Name:   astatichostname.example.com
Address: 10.77.1.40

Existe algo mais que pode estar atrapalhando o host de expansão no DNSMasq?

    
por Craig Walker 21.02.2010 / 23:40

2 respostas

9

Essa pergunta é antiga, mas é um dos principais resultados do Google para o problema e finalmente percebi isso.

O problema é que não é o que o expand-hosts faz. A documentação é muito confusa, mas o que expand-hosts faz é adicionar o domínio às entradas do host em /etc/hosts , não às consultas do DNS. Então, por exemplo

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

Em seguida, as consultas do DNS para astatichostname.example.com serão resolvidas para 10.77.0.5 (além das consultas DNS para apenas astatichostname ).


Solução:

Portanto, a solução é obter dd-wrt para criar as entradas em /etc/hosts sem o domínio nelas e, em seguida, informar ao dnsmasq para considerar essas entradas de host como parte do domínio example.com quando um registro A totalmente qualificado Consulta DNS vem dentro. Para fazer isso, você precisa:

  1. Coloque o domínio example.com no campo Nome do domínio na Configuração - > Página Configuração básica em Configurações opcionais .
  2. Anule a configuração Domínio de LAN na página Serviços em Servidor DHCP .
  3. Adicione expand-hosts a Opções adicionais de DNSMasq na página Serviços em DNSMasq

A etapa # 1 controla a configuração domain= que é colocada no arquivo dnsmasq.conf . O passo # 2 remove o domínio das entradas colocadas em /etc/hosts . A etapa # 3 vincula o domínio às entradas em /etc/hosts quando uma consulta DNS totalmente qualificada é recebida.


Estou tão feliz que o dd-wrt fez isso legal e simples ...

    
por 23.09.2012 / 07:53
2

O seguinte funciona para mim no meu DD-WRT:

expand-hosts
local=/lan/
domain=lan

Eu acho que é porque você está perdendo a configuração local . Eu também tenho lan definido como meu "domínio de LAN" na GUI.

    
por 15.03.2010 / 20:16