dns: kann host aufloesen aber nicht "nutzen"

N

Nebukadneza

Mitglied
Thread Starter
Dabei seit
11.03.2004
Beiträge
24
Reaktionspunkte
0
hi ...

ich hab hier nen lokalen dns caching proxy aufgesetzt - mit allen anderen clients (linux, irix und sogar windoof) tut der spass problemlos - nur osx stellt sich noch etwas quer. ich kann den manche hosts zwar aufloesen, und es kommt auch die richtige ip raus - nur kann ich den host z.b. nicht pingen:
Code:
menchi:~ daddel9$ host edward
edward has address 192.168.0.1
menchi:~ daddel9$ ping edward
ping: unknown host edward

hat jemand ne idee woran das liegen koennte, bzw. wie man es fixt?


danke schonmal fuers lesen :p
 
Oh ja...das könnte auf das selbe Problem rauslaufen, das ich auch schon unter Mac OS X beobachten konnte.

Scheint mit der Namesauflösung zusammenzuhängen, die OS X verwendet. Der schickt irgendwelche mDNS-Pakete in der Gegend rum, anstatt für das interne Netz auch normale DNS-Anfragen zu verwenden, wie er es bei externen Adressen tut.

Eine Lösung habe ich dafür noch nicht gefunden; würde mich also auch freuen, wenn jemand mehr dazu wüsste.

Ich hab mal gegoogelt, und irgendwie ein paar vereinzelte Threads gefunden, die aussagten: "Problem existiert schon ewig, Apple macht aber nix dagegen". Fragt sich nur: "Warum?"

Da ich mir meinen internen DNS auch selber aufgesetzt habe (djbdns) schließe ich eine evtl. Fehlkonfiguriation nicht ganz aus. Allerdings funktioniert es mit allen anderen Betriebssystemen, nur nicht mit Mac OS X.

cla
 
was hast du denn für domain namen bei os x definiert bzw domain suffixe auf den anderen unix rechnern (search in /etc/resolv.conf)?
 
also ich würde ja nicht ausschliessen, dass der dns keine standard konformen configs hat ;)
dass apple im intern netz mdns benutzt hängt eventuell mit der zeroconf/rendevouz geschichte (.local) zusammen?
 
okay, fangen wir mal vorne an :)
Was steht in der /etc/resolv.conf ??

gruss
Kruemel
 
Wahrscheinlich fehlt in /etc/resolv.conf ein Eintrag für die Search-Domain. Bei mir sieht das so aus:

$ cat /etc/resolv.conf
Code:
search cilly.dyndns.org
 nameserver 172.16.17.10
 nameserver 172.16.17.1

Diesen Eintrag mach man in:

System Preferences -> Network -> TCP/IP -> Search Domains
 
oneOeight schrieb:
also ich würde ja nicht ausschliessen, dass der dns keine standard konformen configs hat ;)

Falls du meinen DNS meinst: Ich bin das ganze nach 3 verschiedenen Anleitungen und den Man-Pages mehrmals durchgegangen. Ich kann keinen Fehler mehr finden.
Unter anderen Betriebssystem funktioniert die Auflösung auch ohne Probleme...nur nicht unter OS X.

cla
 
cilly schrieb:
Wahrscheinlich fehlt in /etc/resolv.conf ein Eintrag für die Search-Domain.

Glaube ich nicht...(sonst würde ich mich selber geiseln, wenns so einfach wäre) aber ich kuck heut abend nochmal nach.

cla
 
cla schrieb:
Glaube ich nicht...(sonst würde ich mich selber geiseln, wenns so einfach wäre) aber ich kuck heut abend nochmal nach.
Wenn das nicht geholfen hat, ist dein reverse dns lookup fehlerhaft, d.h. BIND ist falsch konfiguriert.
 
cilly schrieb:
Wenn das nicht geholfen hat, ist dein reverse dns lookup fehlerhaft, d.h. BIND ist falsch konfiguriert.

Wie erklärst du dir dann, das von Windows, Linux, und FreeBSD einwandfreies reverse dns lookup funktioniert? Nur nicht mit Mac OS X?

cla
 
cla schrieb:
Wie erklärst du dir dann, das von Windows, Linux, und FreeBSD einwandfreies reverse dns lookup funktioniert? Nur nicht mit Mac OS X?
Deshalb auch mein erster Tipp: search domain in resolv.conf.

Tipp: resolv.conf wird vom Kontrollfeld Network überschrieben, d.h. es hilft nicht viel, resolv.conf zu editieren, sondern man muss die search domain in System Preferences > Network -> TCP/IP eintragen.
 
dann hilft nur eins, log level im dns erhöhen und gucken was bei der dns anfrage von os x anders läuft, bzw ob sie überhaupt erfolgt.
 
cla schrieb:
Wie erklärst du dir dann, das von Windows, Linux, und FreeBSD einwandfreies reverse dns lookup funktioniert? Nur nicht mit Mac OS X?
Ach ja, reverse DNS lookup geht auch bei Mac OS, wenn es richtig konfiguriert ist! Wenn es nicht funktioniert, dann ist deine DNS-Zone fehlerhaft konfiguriert.
 
da fällt mir ein, habt ihr vielleicht IPv6 bei os x an? und im nameserver nichts für ipv6 im zone file?
probiert mal ipv6 zu deaktivieren, vielleicht klappt es dann
 
oneOeight schrieb:
da fällt mir ein, habt ihr vielleicht IPv6 bei os x an? und im nameserver nichts für ipv6 im zone file?
probiert mal ipv6 zu deaktivieren, vielleicht klappt es dann
Das macht kein Unterschied, da der Mac OSX interne lookupd automatisch ein Fallback auf IPv4 hat.
 
@Nebukadneza: Verwendest du bei dir lokal die .local Domain? Also edward.local?

Ich glaube, ich bin dem Problem auf der Spur...und es scheint nicht an meinem DNS zu liegen...aber ich überprüfe das erst noch, um ganz sicher zu gehen.

cla
 
cilly schrieb:
Das macht kein Unterschied, da der Mac OSX interne lookupd automatisch ein Fallback auf IPv4 hat.

das funktionierte bloss wohl nicht so ganz bei <10.3.6
führte u.a. dazu das safari manchmal keine webseiten fand...
 
@Nebukadneza

Und was soll der ganze Unsinn?

Alle Rechner lassen sich doch mit ihrem Gerätenamen standardmäßig mit allen Funktionen und Diensten ansprechen die man einrichten kann.

Der Gerätename steht in den Systemeinstellungen > Sharing ganz oben. Und da kannst du reinschreiben welchen Namen du auch immer willst. Und wenn Ping funktioniert, dann funzt das andere auch.

Und das dürfte doch reichen, oder?

Und wenn du einen virtuellen Domainnamen oder eine Weiterleitung benötigst, dann tue das doch gleich richtig und benutze den DynDNS-Service.
 
Zuletzt bearbeitet:
@ placebo

[ ] Du hast verstanden, um was es hier geht.

cla
 
Sooooo....jetzt da. Problem gelöst.

Es liegt an meiner lokal verwendeten Domain ".local", welche in vielen Anleitungen empfohlen wird.
Nur verwendet Apple die ".local" Domain für ihr internes mDNS-System zur Namensauflösung. Soll heißen...jeder Hostnamen OHNE Domainnamen wird versucht im lokalen Netz über mDNS-Anfragen aufzulösen. Das funktioniert aber nur dann, wenn die anderen Rechner auch mDNS-Anfragen beantworten, bzw. der lokal aufgesetzten DNS-Server auch mDNS-Anfrage beantwortet. Bei lauter Macs im Netzwerk ist das also kein Problem. Wenn jetzt aber ein heterogenes Netzwerk vorliegt, bei dem nicht alle Rechner mDNS-Anfragen beantworten können, werden diese Anfragen niemals beantwortet...und der normale DNS-Server wird auch niemals antworten, da er von Mac OS X nie gefragt werden wird weil Mac OS X lokale Hostnamen automatisch NUR über mDNS versucht aufzulösen, wenn die lokale Domain ".local" ist.

Setzt man die lokale Domain jetzt auf was anderes, z.B. ".private" (wie auch in RFC 1918 vorgeschlagen), dann frägt Mac OS X auch den "offiziellen" (eigenen) DNS-Server mit einer normalen DNS-Anfrage, die dann auch prompt beantwortet wird.

Und schon funktioniert alles wie gedacht. :))) freu
Sogar die mDNS-Abfrage auf Rechnern, die das unterstützen scheint parallel zu funktionieren. Halt unter den Rechnern untereinander, ohne den lokalen DNS.

Ich hoffe, ich hab das jetzt alles richtig verstanden...zumindest gibt mir der Erfolg recht. Ergänzungen oder Korrekturen sind ausdrücklich erwünscht.

Wer noch mehr darüber lesen will, sollte mal hier diesen Thread lesen:
http://lists.apple.com/archives/rendezvous-dev/2003/Jun/msg00024.html

Oder auch das RFC 1918:

http://www.faqs.org/rfcs/rfc1918.html

@Nebukadneza: sollte also deine lokale Domain auch ".local" sein, könnte ein Wechsel auf z.B. ".private" auch die Lösung für dein Problem sein.

cla
 
Zuletzt bearbeitet:
Zurück
Oben Unten