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.com
no 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-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 ...