Ich habe hier im Unternehmen eine verwendete .local-Domain. Nach der Installation von Debian/SID auf meinem Arbeitsplatzrechner konnten alle entsprechenden Domain-Records nicht mehr aufgelöst werden. Da mich dieses Verhalten nun schon seit einiger Zeit nervt, habe ich jetzt ein paar Minuten zeit investiert. Schuld ist der avahi-daemon wie wir gleich sehen werden ..
Lösungsweg
Was macht man als erstes wenn ein Hostname nicht aufgelöst werden kann? Richtig – nslookup befragen:
~$ nslookup grzstore01.techu.local
Server: 195.3.81.39
Address: 195.3.81.39#53Non-authoritative answer:
Name: grzstore01.techu.local
Address: 10.1.253.253
nslookup hat also, wenn auch nicht authoritiv, den Hostnamen auflösen können. Kann wget es auch?
wreinerws:~$ wget http://grzstore01.techu.local:8888/
–2008-11-24 16:35:01– http://grzstore01.techu.local:8888/
Auflösen des Hostnamen »grzstore01.techu.local«…. fehlgeschlagen: Der Name oder der Dienst ist nicht bekannt.
wget: kann die Host-Adresse »grzstore01.techu.local« nicht auflösen
wget kanns also nicht. Nach einiger Recherche im Internet bin ich darauf aufmerksam geworden, dass die resolver-lib libnss-mdns und der avahi-Daemon nicht eingesetzt werden sollen, wenn man .local-Domains im Netz verwendet.
Lösung
Die Lösung mutet sehr einfach an – ist aber gemein wie ich finde:
aptitude purge avahi-daemon
Das Deinstallieren des avahi-daemon und über die Dependencies der resolver-lib libnss-mdns hat nun den gewünschten Erfolg gebracht. Ob dies Auswirkungen auf irgendwelche lokalen Dienste hat kann ich im Moment noch nicht feststellen – ist aber auch nur meine Workstation.
Es wäre auch eine Möglichkeit, die “mdns” Einträge aus der /etc/nsswitch.conf zu entfernen. Nur für den Fall, dass der Avahi-Daemon trotzdem benötigt wird.
@fladi: ja das stimmt schon aber es wird auf den avahi/mdns relevanten Seiten davon abgeraten, deswegen auch der purge vom avahi-daemon.