El entorno es una red privada con un único enrutador que utiliza dnsmasq de DD-WRT para resolver nombres y realizar almacenamiento en caché. Resolver hosts a través de DNS funciona bien:
excavar +corto @192.168.1.1 gamma
192.168.1.22
Ahora, cuando intento acceder a un recurso compartido SMB en un host o incluso simplemente hacer ping, Windows ni siquiera intenta resolver el nombre a través de DNS, sino que solicita resolución LLMNR y NBNS, las cuales quiero evitar.
Aquí hay un resultado de Wireshark al hacer ping al host.gama, observe que no hay resolución DNS alguna:
0.000000 192.168.1.11 -> 224.0.0.252 LLMNR 65 Standard query 0x64a0 A gamma
0.099582 192.168.1.11 -> 224.0.0.252 LLMNR 65 Standard query 0x64a0 A gamma
0.303237 192.168.1.11 -> 192.168.1.255 NBNS 92 Name query NB GAMMA<00>
1.052808 192.168.1.11 -> 192.168.1.255 NBNS 92 Name query NB GAMMA<00>
1.802938 192.168.1.11 -> 192.168.1.255 NBNS 92 Name query NB GAMMA<00>
Por otro lado, hacer ping a una dirección de host con un FQDN, comogamma.local, siempre usa DNS:
0.426289 192.168.1.11 -> 192.168.1.1 DNS 71 Standard query 0xe319 A gamma.local
0.427027 192.168.1.1 -> 192.168.1.11 DNS 87 Standard query response 0xe319 A 192.168.1.22
Aquí hay algunos resultados de la configuración de mi cliente:
netsh dnsclient mostrar estado
Name Resolution Policy Table Options
--------------------------------------------------------------------
Query Failure Behavior : Always fall back to LLMNR and
NetBIOS for any kinds of errors
Query Resolution Behavior : Resolve both IPv4 and IPv6
addresses for names
Network Location Behavior : Never use Direct Access settings
Machine Location : Outside corporate network
Direct Access Settings : Not Configured
DNSSEC Settings : Not Configured
ipconfig / all
Host Name . . . . . . . . . . . . : BETA
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ahora he buscado por todas partes una solución, pero por lo que he reunido, Windows solo realiza una resolución DNS real cuando está conectado a un controlador de dominio. ¿Es esto modificable? Tal vez configure el cliente en un modo en el quepiensa¿Está conectado a un controlador de dominio?
La única solución que he encontrado hasta ahora sería agregar un sufijo DNS .local a través de la configuración DNS del adaptador (Windowshaceenviar consultas DNS para gamma.local, por ejemplo), pero ¿no hay una manera de configurar Windows para que siempre resuelva nombres comogama¿Aunque DNS primero?