Cómo depurar un cliente DHCP que no utiliza un servidor DNS remoto para la búsqueda de nombres de host tanto en Linux como en Windows

Cómo depurar un cliente DHCP que no utiliza un servidor DNS remoto para la búsqueda de nombres de host tanto en Linux como en Windows

Tengo problemas para configurar una solución DHCP/DNS, específicamente, para lograr que los clientes utilicen el servicio DNS proporcionado por el enrutador.

Tengo un "EdgeRouter" que configuré como un conmutador (interfaz switch0), con un servidor DHCP, así como un servicio Dnsmasq para proporcionar resolución de nombres de host DHCP segúnesta guía

# show service dhcp-server
 disabled false
 hostfile-update disable
 shared-network-name my-dhcp {
     authoritative disable
     subnet 192.168.7.0/24 {
         default-router 192.168.7.1
         dns-server 192.168.7.1
         domain-name local
         lease 86400
         start 192.168.7.100 {
             stop 192.168.7.240
         }
     }
 }
 static-arp disable
 use-dnsmasq enable

Tengo dos clientes: una computadora portátil Linux Ubuntu 18.04 (llámela ubuntu) y una computadora portátil con Windows 10 (llámela windows), las cuales se conectan al conmutador y obtienen una dirección IP a través de DHCP. Puedo hacer ping completamente entre cada cliente y la interfaz de administración del conmutador, y entre sí. También examiné los registros DHCP recibidos por cada cliente y verifiqué que reciben una dirección de servidor DNS de 192.168.7.1, que es correcta.

En el Switch puedo confirmar estos arrendamientos con:

$ cat /var/run/dnsmasq-dhcp.leases
1420222142 ec:8e:b5:94:bd:8f 192.168.7.175 ubuntu *
1420219707 c8:d3:ff:6f:42:15 192.168.7.100 windows 01:c8:d3:ff:6f:42:15

También ubuntupuedo verificar que el servidor DNS en el conmutador esté funcionando correctamente:

$ dig @192.168.7.1 ubuntu

; <<>> DiG 9.11.3-1ubuntu1.13-Ubuntu <<>> @192.168.7.1 ubuntu
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15747
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ubuntu.            IN  A

;; ANSWER SECTION:
ubuntu.     43200   IN  A   192.168.7.175

;; Query time: 0 msec
;; SERVER: 192.168.7.1#53(192.168.7.1)
;; WHEN: Tue Nov 03 12:21:15 NZDT 2020
;; MSG SIZE  rcvd: 53

Respuesta similar para una excavación con windows.

Si entro al enrutador, puedo ping ubuntuo ping windowssin ningún problema: el nombre se resuelve.

El problema es que ni la computadora portátil con Linux ni con Windows parecen resolverse cuando hago ping desde Windows:

> ping ubuntu
Ping request could not find host ubuntu. Please check the name and try again.

O desde Linux:

$ ping windows
ping: windows: Name or service not known

También desde el cliente Linux:

$ nslookup windows
Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find windows: SERVFAIL

Por lo que tengo entendido, mi computadora portátil Linux ejecuta su propio dnsmasq y /etc/resolv.confse ve así:

nameserver 127.0.0.53
options edns0
search local

No estoy seguro de cómo verificar el estado de dnsmasq para ver si se está reenviando hacia/desde la dirección del servidor DNS que obtuvo DHCP.

En el lado de Windows, no tengo idea de cómo depurar esto.

Además, curiosamente, justo después de escribir esto, el lado de Linux de repente comenzó a funcionar:

$ nslookup windows
Server:     127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
Name:   windows.local
Address: 192.168.7.100

¡No cambié nada! Quizás algo se resolvió por sí solo en un período de 10 a 20 minutos. Pero el lado de Windows no funciona.

¿Cuál sería el mejor siguiente paso para resolver esto?

información relacionada