Eu tenho o que pensei ser uma configuração simples: quero dnsmasq
responder por nomes de host em um arquivo de hosts local especificado usando a addn-hosts
opção. A configuração completa fica assim:
local=/example/
domain=example
expand-hosts
except-interface=lo
bind-dynamic
no-hosts
listen-address=10.89.0.1
addn-hosts=/tmp/addnhosts
Onde /tmp/addnhosts
contém:
10.89.0.4 foo
10.89.0.5 bar
(Essa é uma guia entre o endereço e o nome do host.)
Espero consultas a este servidor para foo.example
ou bar.example
retornar o endereço correspondente, mas executando dnsmasq -d -q -C example.conf
vejo no console:
dnsmasq: started, version 2.80 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile
dnsmasq: using local addresses only for domain example
dnsmasq: reading /etc/resolv.conf
dnsmasq: using local addresses only for domain example
dnsmasq: using nameserver 127.0.0.1#53
dnsmasq: read /tmp/addnhosts - 2 addresses
dnsmasq: query[A] foo.example from 10.89.0.5
dnsmasq: config foo.example is NODATA-IPv4
dnsmasq: query[AAAA] foo.example from 10.89.0.5
dnsmasq: config foo.example is NODATA-IPv6
Se eu adicionar entradas de endereço explícitas ( address=/foo.example/10.89.0.4
), tudo funcionará conforme o esperado. o que estou perdendo? O registro de consultas acima não ajudou muito a identificar o problema; existe algum log mais detalhado que eu possa obter?
Estou usando o dnsmasq 2.80, que parece ser o atual.
Estou usando o Fedora 31 e estava enfrentando o mesmo problema começando com a versão 2.80-12.
Depois de atualizar para 2.80-13, tudo funciona bem, de novo!
O log de alterações do Fedora para 2.80-13 diz "Fix last build breakage of DNS" que corresponde ao seu problema...
Espero que ajude.