DD-WRT: os hosts de expansão DNSMasq não estão funcionando

12

Eu tenho um roteador Linksys executando DD-WRT (Firmware: DD-WRT v24-sp2 (09/09/09) mini). Eu resolvo com êxito os nomes DNS dos meus sistemas atribuídos por DHCP, mas somente quando eu qualifico totalmente esses domínios. Isso ocorre apesar do uso da opção adicional DNSMasq "expand-hosts", que deve ativar esta 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 espaços reservados para os nomes de negócios 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

Há algo mais que poderia estar ativando o host de expansão no DNSMasq?

Craig Walker
fonte

Respostas:

8

Esta pergunta é antiga, mas é um dos principais resultados do Google para o problema, e eu finalmente entendi.

O problema é que não é o que expand-hostsfaz. A documentação é muito confusa, mas o que expand-hostsfaz é adicionar o domínio para hospedar entradas /etc/hosts, não para consultas de DNS. Então por exemplo

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

As consultas de DNS para astatichostname.example.comresolverão para 10.77.0.5(além das consultas de DNS apenas astatichostname).



Solução:

Portanto, a solução é fazer com que o dd-wrt crie as entradas /etc/hostssem o domínio nelas e diga ao dnsmasq que considere essas entradas do host como parte do example.comdomínio quando uma consulta DNS de registro A totalmente qualificada chegar.
Para fazer isso, você tem que:

  1. Coloque o example.comdomínio no Domain Name campo no Setup -> Configuração básica página, em Configurações opcionais .
  2. Em branco, a configuração Domínio da LAN na página Serviços , em Servidor DHCP .
  3. Adicionar expand-hostsàs opções DNSMasq adicionais na página Serviços em DNSMasq

A etapa 1 controla a domain=configuração inserida no dnsmasq.confarquivo. A etapa 2 remove o domínio das entradas inseridas /etc/hosts. A etapa 3 prende o domínio nas entradas /etc/hostsquando uma consulta DNS totalmente qualificada é recebida.


Estou tão feliz que dd-wrt fez isso agradável e simples ...

Patrick
fonte
2

O seguinte funciona para mim no meu DD-WRT:

expand-hosts
local=/lan/
domain=lan

Eu acho que é porque você está perdendo a localconfiguração. Eu também landefini como meu "Domínio LAN" na GUI.

Jim Hunziker
fonte