Bonjour-Dienste werden nicht angezeigt (Drucker, Fileshares, ...)

F

fibbsanton

Registriert
Thread Starter
Dabei seit
12.01.2012
Beiträge
4
Reaktionspunkte
0
Hallo!

Ich habe hier auf meinem Mountain Lion ein Problem, zu dem ich nirgends ordentliche Hilfe finde, da Bonjour ja eigentlich das "es geht einfach" Protokoll ist. Mein Problem ist wahrscheinlich nicht unbedingt Mountain Lion spezifisch, da ich mir ziemlich sicher bin, dass ich auch zu Lion-Zeiten schon einige Zeit lang dieses Problem hatte:

Bonjour-Services, die im Netzwerk avisiert werden, wie Drucker, Dateifreigaben, iTunes Server, ... werden auf meinem Mac nicht angezeigt. Es erscheint meine Synology-NAS mit aktiviertem iTunes Server nicht (mehr) in iTunes, meine NAS nicht mehr unter "Geräte" im Finder, mein Drucker nicht wenn ich einen neuen Drucker hinzufügen möchte usw....

Da ich ein wenig Unix- und Netzwerk-affin bin habe ich versucht ein bisschen was herauszufinden, komme aber ohne einen heißen Tipp wahrscheinlich nicht weiter.

Ich habe einen Linux-Rechner im gleichen Netzwerk, der anhand von "avahi" auch Bonjour spricht. Bei diesem wird beispielsweise auch die NAS-iTunes Freigabe in Rhythmbox (ein iTunes-"Clone") angezeigt und ich kann Musik davon spielen. Auf Kommandozeile gibt es unter Linux das Tool avahi-browse, welches (hier der Übersicht halber auf den Service-Typ _http._tcp eingeschränkt, die anderen Dienste wie Drucker etc. tauchen auch auf) folgende Ausgabe bringt:

Code:
fibbs@linuxkiste:~$ avahi-browse _http._tcp
+   eth0 IPv4 HomeNAS                                       Web Site             local
+   eth0 IPv4 HomeNAS(WebDAV)                               Web Site             local
+   eth0 IPv4 Officejet 6500 E710a-f [866A51]               Web Site             local

Man sieht also avisierte Bonjour-Services meiner NAS und meines Druckers.

Unter Mac OS X gibt es das Kommando "dns-sd", welches eigentlich das gleiche tut. Auch hier wieder ein "Browse" auf Services des Typs "_http._tcp":

Code:
[fibbs@mac:~]$ dns-sd -B _http._tcp
Browsing for _http._tcp
DATE: ---Tue 11 Sep 2012---
22:58:40.243  ...STARTING...

Wie sie sehen, sehen Sie nichts. Wenn ich nun auf der gleichen LOKALEN Maschine einen Bonjour-Service avisiere (das ist auch der Grund, weswegen ich bei den vorherigen Kommandos nur http browse: das Beispiel in der manpage ist genau dieses), erscheint dieser neue Service sofort auf dem Linux und auf dem Mac (lokale Maschine, wie gesagt):

Avisieren des Services, am Mac:
Code:
[fibbs@mac:~]$ dns-sd -R "My Test" _http._tcp . 80 path=/path-to-page.html
Registering Service My Test._http._tcp port 80 TXT path=/path-to-page.html
DATE: ---Tue 11 Sep 2012---
23:21:50.177  ...STARTING...
23:21:50.902  Got a reply for service My Test._http._tcp.local.: Name now registered and active

Erscheinen des (einzigen) Services am gleichen Mac:
Code:
[fibbs@mac:~]$ dns-sd -B _http._tcp
Browsing for _http._tcp
DATE: ---Tue 11 Sep 2012---
23:21:32.722  ...STARTING...


Timestamp     A/R Flags if Domain                    Service Type              Instance Name
23:21:51.153  Add     3  9 local.                    _http._tcp.               My Test
23:21:51.153  Add     3 10 local.                    _http._tcp.               My Test
23:21:51.153  Add     2  5 local.                    _http._tcp.               My Test

Erscheinen des neuen Services am Linux-Rechner:
Code:
fibbs@linuxkiste:~$ avahi-browse _http._tcp
+   eth0 IPv4 HomeNAS                                       Web Site             local
+   eth0 IPv4 HomeNAS(WebDAV)                               Web Site             local
+   eth0 IPv4 Officejet 6500 E710a-f [866A51]               Web Site             local

+   eth0 IPv4 My Test                                       Web Site             local

Ein vom Mac aus avisierter Bonjour-Service wird also am Linux gesehen, jedoch sieht der Mac überhaupt keine Bonjour-Services im lokalen Netzwerk. Jetzt habe ich geschaut, welches Ports von Bonjour verwendet werden und ich bin auf UDP-Port 5353 gestoßen. Meine erste Vermutung war, dass etwas diesen UDP-Port 5353 einwärts am Mac blockt (Firewall). Das ist aber nach einem Test mit "tcpdump -ien1 udp port 5353" und einem passenden netcat vom Linux-System aus nicht der Fall (Pakete kommen an). Ob man Bonjour global abschalten kann und ich das versehentlich gemacht habe.... kann sein. Meine Firewall auf dem Mac läuft (derzeit) nicht, 3rdParty-Firewalls habe ich (ziemlich sicher) nicht installiert.

Ist hier jemand der ausreichend Ahnung von Bonjour und Mac OS hat der mir weiter helfen kann?



Vielen Dank im Voraus


Christian
 
btw: mdnsResponder läuft natürlich....
 
*bump* *bump*

nobody? really?
 
moin christian,

leider habe ich keine lösung für das problem, aber ich wollte dir sagen, du bist nicht allein ...
schwacher trost, ich weiß, aber mir geht es genau so wie dir.

begonnen hat es bereits unter 10.6.4 mittlerweile bin ich bei 10.7.5, gerade noch ein combo-update gemacht ... keine veränderung.

das problem ist auf meinem rechner auch accountübergreifend, dachte es liegt vielleicht am profil ... leider auch nicht.
dem mdnsresponder bin ich auch ewig hinterhergejagt und habe unmengen von webseiten gewälzt, vergeblich.

gruß, sandako
 
Ein paar Stichworte:

Reihenfolge der Netwerkinterfaces in den Netzwerk Einstellungen prüfen. (Man kann die Service Order am Zahnrad ändern)
Search Domain in DNS überprüfen.
Netzmasken überprüfen.
Default Gateway prüfen.

Im Terminal

"sudo killall -INFO mDNSResponder"

Danach hat man in "/var/log/system.log" einen Auszug der Search Domain, Registration Domain und den erkannten Services.
 
hallo pmau, danke für die stichworte.
hab mir das alles mal angesehen und mit den werten eines "funktionierenden" macs im gleichen netz verglichen.
konsole zeigt mir im grunde nur einen unterschied in den einträgen (bis auf den cache bereich natürlich) an den ich nicht verstehe/kenne:

08.10.12 22:36:44,618 mDNSResponder: -------- NAT Traversals --------
08.10.12 22:36:44,618 mDNSResponder: 000000010A0B67E8 UDP Int 5353 Ext 5353 Err 0 Retry 2543 Interval 3600 Expire 6143

sonst taucht bei meinem rechner folgende meldung noch massenhaft auf die es bei dem funktionierenden nicht gibt:
08.10.12 22:24:06,753 mDNSResponder: mDNSPlatformSendUDP sendto(9) failed to send packet on InterfaceID 0000000000000005 en1/6 to FF02:0000:0000:0000:0000:0000:0000:00FB:5353 skt 9 error -1 errno 1 (Operation not permitted) 713860443
 
Hi!

Ich habe das Problem inzwischen in den Griff bekommen. Nachdem wie oben bereits geschrieben die Pakete am Interface ankamen habe ich genau das gemacht, was auch pmau vorgeschlagen hat: den mDNSResponder in den DEBUG versetzt und getestet. Es schien so, als ob der mDNSResponder kein Paket erhalten würde, was ihn dazu bewegt, vom avisierten Service Notiz zu nehmen.

Letztlich habe ich mit dem Apple Support telefoniert. Der schlug mir vor, den SafeBoot zu verwenden (Shift drücken beim Boot) um ohne die Verwendung von thirdparty-Kernel-Extensions, Startup-Objects und Launch Daemons zu booten. Das ging während dem Telefonat jedoch nicht, da ich FileVault aktiv habe. Ich habe dann FileVault ausgeschaltet und während ich darauf wartete, in Safeboot zu booten, habe ich nach dem Telefonat mit dem Support mal mit
Code:
kextstat | grep -v 'com.apple'
nachgesehen, was da so für kexts geladen sind, und siehe da: es war eine kext von Checkpoints (Firewall-Hersteller) VPN-Client installiert, der dafür bekannt ist die Kontrolle über den lokalen Netzwerk-Traffic an sich zu reißen. Den Client hatte ich schon lang deinstalliert, aber die kext war noch da. Nachdem ich diese entladen hatte und das entsprechende File mitsamt dem Launch Agent gelöscht hatte, ging Bonjour auf Anhieb wieder.
 
großartig :) , dat checkpoint ding ist bei mir auch drin.

mit kextunload entfernt, launchagent entfernt, neustart, und glücklichsein!
Code:
kextunload /System/Library/Extensions/cpfw.kext

vielen dank für eure hilfe ... ich kann die server ... die drucker ... ich kann wieder sehen :D
 
Zuletzt bearbeitet:
Zurück
Oben Unten