Die Umgebung ist ein privates Netzwerk mit einem einzelnen Router, der DD-WRTs dnsmasq zur Namensauflösung und zum Caching verwendet. Die Auflösung von Hosts über DNS funktioniert einwandfrei:
dig +short @192.168.1.1 gamma
192.168.1.22
Wenn ich jetzt versuche, auf eine SMB-Freigabe auf einem Host zuzugreifen oder sie einfach anzupingen, versucht Windows nicht einmal, den Namen über DNS aufzulösen, sondern fordert stattdessen eine LLMNR- und NBNS-Auflösung an, die ich beide vermeiden möchte.
Hier ist eine Ausgabe von Wireshark beim Pingen des HostsGamma, beachten Sie, dass keinerlei DNS-Auflösung stattfindet:
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>
Andererseits ist das Pingen einer Hostadresse mit einem FQDN, wiegamma.local, verwendet immer 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
Hier ist eine Ausgabe der Konfiguration meines Clients:
Netsh DNS-Client zeigt Status an
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 /alle
Host Name . . . . . . . . . . . . : BETA
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Jetzt habe ich überall nach einer Lösung gesucht, aber soweit ich weiß, führt Windows nur dann eine echte DNS-Auflösung durch, wenn es mit einem Domänencontroller verbunden ist. Kann man das ändern? Vielleicht kann man den Client in einen Modus versetzen, in dem erdenktes ist mit einem Domänencontroller verbunden?
Die einzige Lösung, die ich bisher gefunden habe, wäre, ein .local DNS-Suffix über die DNS-Konfiguration des Adapters anzuhängen (WindowstutDNS-Anfragen für gamma.local senden, zum Beispiel), aber gibt es nicht eine Möglichkeit, Windows so einzustellen, dass Namen wieGammaaber zuerst DNS?