Faça com que o dnsmasq resolva vários domínios de nomes de host locais

Faça com que o dnsmasq resolva vários domínios de nomes de host locais

Estou executando o dnsmasq 2.90 dentro de um contêiner docker baseado no Debian 11.0 como parte do Pi-hole 5.18.2.

Gostaria de configurar o dnsmasq para servir os endereços dos meus nomes de hosts locais para vários domínios locais (ambos .local e .subdomain.mydomain.com), pois um aplicativo local possui o domínio .local codificado. Só posso fazer funcionar para um domínio por vez.

Este contêiner fornece serviços DNS e DHCP para minhas redes locais. Como parte da configuração do Pi-hole addn-hosts=/etc/pihole/local.listé adicionado ao .confarquivo montado em /etc/dnsmasq.d. Esta lista contém uma lista de aproximadamente 30 endereços IP de sub-redes e nomes de host locais e acessíveis localmente, como:

192.168.1.10 server01
192.168.2.20 server02
100.115.x.x server03

dnsmasq está servindo o domínio de pesquisa local sobre DHCP conforme especificado domain=subdomain.mydomain.come dhcp-option=option:domain-search.subdomain.mydomain.comem arquivos de configuração separados montados em /etc/dnsmasq.d, bem como definido como um domínio local com local=/subdomain.mydomain.com/.

Este domínio de pesquisa, assim como o IP do servidor DNS, é aceito e implementado conforme esperado pelos meus clientes:

❯ cat /etc/resolv.conf
search subdomain.mydomain.com
nameserver 192.168.2.2

Um nslookupnome de host funciona addn-hostsconforme o esperado, adicionando o sufixo de pesquisa e retornando o resultado correto:

❯ nslookup
> server01
Server:     192.168.2.2
Address:    192.168.2.2#53

Name:   server01.subdomain.mydomain.com
Address: 192.168.1.10

Gostaria de retornar o mesmo IP para server01.local:

> server01.local
Server:     192.168.2.2
Address:    192.168.2.2#53

** server can't find server01.local: NXDOMAIN

Tentei adicionar local aos arquivos .config local=/subdomain.mydomain.com/local/com e sem entradas domain=/subdomain.mydomain.com/local/separadas . domain=subdomain.mydomain.com domain=localIsso não altera o comportamento ou (se eu adicionar as duas domain=entradas) o nslookup funciona for .locale não for .subdomain.mydomain.com.

Como posso fazer com que o dnsmasq responda com o IP do nome do host para ambos .localos .subdomain.mydomain.comdomínios?

Responder1

Para qualquer um que descubra isso no futuro, a resposta (como costuma acontecer) é que eu estava sendo estúpido.

.local é reservado para mDNSe assim, ao dizer ao meu dispositivo dnsmasq para tentar resolver .local e anunciar sua capacidade de resolver .local, eu estava quebrando o mDNS. Também estava testando a resolução usando o nslookup, que não resolve consultas mDNS.

Removendo todas as referências a .local no dnsmasq, reiniciando os serviços e atualizando as concessões de DHCP e testando a resolução .local por meio de um ping, está funcionando.

informação relacionada