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:
- Coloque o domínio
example.comno campo Nome do domínio na Configuração - > Página Configuração básica em Configurações opcionais . - Anule a configuração Domínio de LAN na página Serviços em Servidor DHCP .
- Adicione
expand-hostsa 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 ...