Bit hier stecken.
Ich habe 2 Maschinen, die LAN-Hostnamen nicht auflösen können, es sei denn, es gibt bestimmte Einträge in / etc / hosts
Andere Computer im LAN können jedoch Hostnamen auflösen.
Mein LAN:
- 1 x Cisco-Router, der DD-WRT v24-sp2 mit aktiviertem DNSMasq ausführt. Ich habe dies mit den Hostnamen und IPs in meinem LAN konfiguriert.
- 1 x Kubuntu 12.10 (löst alle Hostnamen korrekt auf, solange sie auf dem Router in DNSMasq eingegeben werden)
2 x NAS (auch alle Namen korrekt auflösen)
1 x Ubuntu Server 12.04 (dadurch werden lokale Hostnamen NICHT aufgelöst, es sei denn, sie werden in / etc / hosts eingegeben)
- 1 x XBMCLive (Dharma) (gleich - wird nur aufgelöst, wenn sich die Einträge in / etc / hosts befinden)
Wie erhalte ich die letzten 2, um die DNSMasq-Einträge auf dem Router zu verwenden? Jeder Computer ist so eingestellt, dass er den Router als Nameserver verwendet, und alle Einheiten lösen externe Adressen korrekt auf.
Vielen Dank.
einige weitere Infos:
auf dem Server, wenn ich einen anderen PC anpinge (wstation)
$ ping wstation
PING wstation.local.domain (x.x.x.x)
Wenn ich dann .local anhänge
$ ping wstation.local
PING wstation.local.local.domain (x.x.x.x)
und direkt
$ ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_req=1 ttl=64 time=0.387 ms
64 bytes from 10.0.0.4: icmp_req=2 ttl=64 time=0.316 ms
64 bytes from 10.0.0.4: icmp_req=3 ttl=64 time=0.312 ms
64 bytes from 10.0.0.4: icmp_req=4 ttl=64 time=0.280 ms
64 bytes from 10.0.0.4: icmp_req=5 ttl=64 time=0.322 ms
^C
--- 10.0.0.4 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.280/0.323/0.387/0.038 ms
Antworten:
Über Ihre aktuelle Ausgabe
Zeigt eindeutig an, dass Ihr PC
.local.domain
an Nicht-FQDN-Abfragen angehängt wird. Dies ist falsch konfiguriert oder zumindest falsch in Ihrer Einrichtung. (es sei denn, Sie verwenden das.local.domain
Suffix absichtlich)Namensauflösung und Punkte
Eine wichtige Sache, die viele Leute nicht wissen, ist, dass ein vollständiger Name immer mit einem Punkt (
.
) enden sollte . Wenn Sie es weglassen, versucht der Computer, es in der lokalen Suchdomäne (z. B. mydomain.tld) aufzulösen. Also in diesem Fallmypc.local
würde eine Abfrage nach werdenmypc.local.mydomain.tld
. Um dies zu verhindern, fragen Sie mit dem Punkt ab.Resolver-Konfiguration
Hierbei ist die Resolver-Konfiguration von großer Bedeutung. In Ubuntu (und Debian) ist dies in der Datei konfiguriert
/etc/network/interfaces
(vorausgesetzt, Sie führen keinen NetworkManager aus):Die Namensauflösung unter Linux kann auch auf andere Weise erfolgen. Es ist nicht nur so, dass der lokale DNS-Server nach all dem abgefragt wird. Sehen Sie sich Ihre
/etc/nsswitch.conf
Datei für diehosts
Konfiguration der Lösung an:Dies bedeutet, dass zuerst Dateien versucht werden (dies ist die
/etc/hosts
Datei), dann mDNS und erst später der echte DNS-Server abgefragt wird. mDNS wird mit Avahi unter Linux implementiert und heißt auf Apple-Geräten Bonjour. Es wird.local
standardmäßig das Suffix verwendet und funktioniert über Broadcast-Nachrichten. Ähnlich wie ARP funktioniert das dann aber für DNS.Alle diese Systeme können sehr verwirrend sein und noch mehr, wenn sie
.local
in einem normalen DNS-Setup mit mDNS-Geräten verwendet werden. Ich denke, das ist der Grund, warum Sie jetzt verwirrt sind, warum ein Gerät funktioniert und das andere nicht: Sie verwenden nicht alle die gleiche Auflösungsmethode.Dinge zu klären
.local
Sie sich nicht vollständig auf mDNS verlassen möchten. Aus Ihrer Frage geht hervor, dass Sie die Konfiguration der Dinge an einem zentralen Ort aufbewahren möchten. Mein Ansatz hier ist es, dies zu vermeiden.my.home
. Für dnsmasq ist dies eine einzelne Einstellung, aber in regulären Setups sollte dies sowohl auf dem DNS-Server als auch auf dem DHCP-Server konfiguriert werden (wie dies über DHCP angekündigt wird)./etc/resolv.conf
falls Sie in der Vergangenheit daran herumgespielt haben.Konfigurieren Sie die PCs in Ihrem Netzwerk so, dass sie
my.home
als lokale Suchdomäne verwendet werden. Dies kann automatisch über DHCP oder bei Verwendung von statischen Adressen über die/etc/network/interfaces
Datei oder in Network Manager erfolgen:ping hostname
) als auch der vollständige Name (ping hostname.my.home
) funktionieren.quelle
files mdns4_minimal [NOTFOUND=return] dns mdns4
. Jetzt verhält sich alles eher so, wie ich es von meinen (schlecht benannten) host.foo.local-adressierten Computern erwarte. Bevor diese Änderungping hostname
funktionieren würde,ping hostname.foo.local
scheiterte sie jedoch. Ich war wirklich verwirrt, alsdig hostname
es fehlschlug unddig hostname.foo.local
ein Ergebnis lieferte, das Gegenteil von dem, was ich erwartet hatte. Jetzt kann ich die FQDNs wie erwartet anpingen. Gibt es einen Nachteil, wenn die Reihenfolge so festgelegt wird?Aufgrund der Antwort von gertvdijk habe ich gerade die Zeile in nsswitch.conf auskommentiert
quelle
Ich habe ähnliche Probleme mit einer / etc / hosts, die mehrere Leerzeichen zwischen IP und Hostname enthält, anstatt ein TAB zu verwenden. Nach dem Wechsel zu TAB konnte der Hostname durch Ping aufgelöst werden.
Siehe auch unter /superuser//a/938366/467479
quelle