dnsmasq não está resolvendo nomes de hosts locais

2

Eu tenho um servidor Linux local executando o dnsmasq para minha LAN. Tem trabalhado sem problemas nos últimos anos. Eu mantenho o sistema operacional e os pacotes atualizados regularmente. Após a atualização de rotina de ontem, estou recebendo erros de máquinas na LAN quando eles tentam resolver a maioria dos nomes de host locais. Eu suspeito que eu possa ter tido uma configuração de trabalho que estava de algum modo defeituosa, e a atualização expôs minha falha; Eu não estou encontrando relatos deste problema após a atualização, então eu suponho que tenho um erro em algum lugar.

Este é o erro que estou recebendo na maioria dos clientes:

# ping myfileserver
ping: myfileserver: Name or service not known

No entanto, se eu pingar o endereço do myfileserver, será bem-sucedido:

# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.325 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.239 ms

Aqui está o resolv.conf nos clientes:

# cat /etc/resolv.conf
# Generated by NetworkManager
search mylan
nameserver 192.168.1.1

192.168.1.1 é o endereço do meu servidor dnsmasq.

Eu posso estar esquecendo de algo óbvio, mas o drill mostra que o cliente está recebendo uma resposta do servidor dnsmasq que contém o nome do host e o endereço IP local apropriados.

# drill myfileserver
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 40614
;; flags: qr aa rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 
;; QUESTION SECTION:
;; myfileserver.     IN      A

;; ANSWER SECTION:
myfileserver.        0       IN      A       192.168.1.2

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 0 msec
;; SERVER: 192.168.1.1
;; WHEN: Wed Oct 24 00:12:18 2018
;; MSG SIZE  rcvd: 41

No servidor, o systemd mostra que o processo do dnsmasq está sendo iniciado e executado normalmente:

systemctl status dnsmasq.service 
dnsmasq.service - A lightweight DHCP and caching DNS server
Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-10-24 00:08:13 EDT
    Docs: man:dnsmasq(8)
Process: 28230 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/SUCCESS)
Main PID: 28231 (dnsmasq)
    Tasks: 1 (limit: 4915)
Memory: 1.4M
CGroup: /system.slice/dnsmasq.service
        └─28231 /usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file

Aqui está a saída do log do dnsmasq inicializando no servidor. Não há erros.

Oct 23 01:50:48 mydnsmasqd systemd[1]: Starting A lightweight DHCP and caching DNS server...
Oct 23 01:50:48 mydnsmasqd dnsmasq[768]: dnsmasq: syntax check OK.
Oct 23 01:50:48 mydnsmasqd systemd[1]: Started A lightweight DHCP and caching DNS server.
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: started, version 2.80 cachesize 5000
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: compile time options: IPv6 GNU-getopt DBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify du>
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: DBus support enabled: connected to system bus
Oct 23 01:50:48 mydnsmasqd dnsmasq-dhcp[772]: DHCP, IP range 192.168.10.100 -- 192.168.10.200, lease time 1d
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: using local addresses only for domain mylan
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: reading /etc/resolv-custom.conf
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: using local addresses only for domain mylan
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: using nameserver 8.8.8.8#53
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: using nameserver 8.8.4.4#53
Oct 23 01:50:48 mydnsmasqd dnsmasq[772]: read /etc/hosts - 72 addresses

Durante a solução de problemas, alterei a configuração do dnsmasq e a reiniciei. O log novamente não mostra erros no início e minhas várias alterações de configuração não tiveram impacto sobre esse problema. A configuração do dnsmasq não foi alterada quando esse problema começou. É uma configuração bajular relativamente simples, mas durante a solução de problemas eu simplifiquei para quase nada. Aqui está o que eu tenho agora (deixando de fora a parte de ligação da interface, que claramente não é relevante):

# grep -v '^#' /etc/dnsmasq.conf
resolv-file=/etc/resolv-custom.conf
dhcp-range=set:eth0,192.168.10.100, 192.168.10.200, 24h
cache-size=5000
no-negcache
conf-dir=/etc/dnsmasq.d,.bak

# cat /etc/resolv-custom.conf
search mylan
domain mylan
nameserver 8.8.8.8
nameserver 8.8.4.4

Todas as máquinas estão executando o Arch Linux, 4.18.10-arch1-1-ARCH Dnsmasq versão 2.80

    
por MountainX 24.10.2018 / 07:09

0 respostas