Wie kann OS X 10.5+ dazu gebracht werden, alle .local-DNS-Suchvorgänge mit mDNS aufzulösen?

1313
Alex

OS X 10.5+ verfügt über eine etwas ungewöhnliche Resolver-Konfiguration, um defekte Netzwerke zu umgehen. Es ist hier beschrieben.

http://support.apple.com/kb/HT3473

Das Problem, das ich habe, ist, dass unser Netzwerk nicht auf die Verwendung von .local-Domänen über Unicast-DNS angewiesen ist, sondern für die meisten internen Suchvorgänge mDNS verwendet. Das funktioniert für die meisten unserer Systeme gut, aber wir möchten auch einige Subdomains haben. Leider bricht dies für alle unsere OS X-Benutzer aufgrund dieser Funktion

Hostnamen, die zusätzlich zu local zwei oder mehr Bezeichnungen enthalten, z. B. "server.domain.local", werden standardmäßig mithilfe eines DNS-Servers aufgelöst.

Dies führt dazu, dass unsere Subdomains stattdessen auf dem Unicast-DNS-Server nachgeschlagen werden. Sie wissen nicht, wie .local-Adressen überhaupt aufgelöst werden sollen.

Der Support-Artikel behauptet, dass dies ein Standardverhalten ist, was meines Erachtens auf eine konfigurierbare Sache hindeutet, aber ich kann nicht herausfinden, wie man das als 10.4 benimmt und mDNS für alle lokalen Suchvorgänge verwendet.

1

1 Antwort auf die Frage

0
bahamat

Mac OS X verfügt über eine steckbare Resolver-Bibliothek. Dies bedeutet, dass Sie einen eigenen Resolver schreiben können, der über den vorhandenen Resolverstapel gelegt wird. In der Tat sind Unicast DNS und mDNS vollständig getrennte Schichten, die zusammengestapelt sind.

Das von Apple beschriebene Standardverhalten soll eigentlich den Standardstack bedeuten. Die einzige Möglichkeit, dieses Verhalten zu ändern, besteht darin, ein Resolver-Plug-In zu schreiben, das sich so verhält, wie Sie es möchten.

Wenn dies nach etwas klingt, das Sie ausprobieren möchten, habe ich keine Ahnung, wie es geht. Der von 37signals erzeugte POW-Webserver enthält jedoch ein in Ruby geschriebenes Resolver-Plug-In. POW ist Open Source, daher können Sie hier anfangen (vorausgesetzt, Sie oder jemand, den Sie kennen und Ruby kennen).

Ich weiß, dass es von mDNSResponder unter OS X gehandhabt wird, aber ich kann bis jetzt nichts in Bezug auf diese spezielle Funktion in der Quelle finden. Das Neukompilieren von mDNSResponder oder das Schreiben einer ganzen neuen Ebene ist nicht wirklich eine Option. Alex vor 13 Jahren 0