Ubuntu kann den Hostnamen nicht anpingen, aber die IP anpingen?

14

Nun, ich bin gerade zur Administration in die Ubuntu-Welt gegangen. Ich habe ähnliche Threads gefunden, außer, dass ich meinen eigenen Hostnamen und meine IP-Adresse anpingen kann und mein Windows meinen Linux-Hostnamen anpingen kann, aber Ubuntu kann den Windows-Hostnamen nicht anpingen.

Problem:

  • Ich habe 4 Windows-Computer und ich habe 1 Ubuntu-Computer
  • Mein Windows-Computer kann Ubuntu-Computer nach Hostname und nach IP-Adresse pingen. Außerdem zeigt Net View (Eingabeaufforderung cmd) den Hostnamen von Ubuntu Computer an.
  • Ubuntu Computer kann nur nach IP-Adresse pingen, nicht nach Hostname. Ich habe auch Samba installiert.
  • Ubuntu Computer kann sich selbst nach IP-Adresse und Hostname anpingen
  • Ich kann den Befehl arp verwenden und zeige alle IP-Adressen der Computer im Netzwerk an, jedoch nur nach IP-Adresse.

Wie kommt es, dass ich nur nach IP-Adresse und nicht nach Hostname an die Windows-Computer pingen kann? Aber Ubuntu kann sich selbst nach IP-Adresse und Hostname pingen und Windows-Computer können Ubuntu auch nach Hostname pingen?

user2805313
quelle
Versuchen Sie den Hostnamen in ALL CAPS. das könnte der trick sein.
jrg
Ja, das habe ich versucht, aber kein Glück. = (Jemand sagte, dass er am Ende .local hinzufüge. Meine Kollegen sagten, dass ich das Netzwerk so konfigurieren muss, dass es auf den Router zeigt, damit es verstanden wird. Also werde ich das ausprobieren, und wenn es funktioniert, gehe ich voraus und
poste
Möglicherweise liegt ein DNS-Serverproblem vor. Konfigurieren Sie die DNS-Servereinstellungen korrekt. Vielleicht können Ihnen diese beiden Quellen helfen. serverfault.com/questions/389522/… . askubuntu.com/questions/23011/… .
Wolverine

Antworten:

22

Das hier beschriebene Problem hängt möglicherweise überhaupt nicht mit DNS zusammen.

Sie müssen wissen, dass Windows den Windows-Hostnamen über andere Mechanismen als Standard-DNS in seine IP auflösen kann: NetBIOS-Suche, WINS, ...

Wie Sie sagten, Sie haben Samba auf Ihrem Ubuntu installiert, ist dies wahrscheinlich das, was passiert. Auf allen Windows-Computern kann der Windows-Name standardmäßig in die IP-Adresse aufgelöst werden. Da Samba unter Ubunut installiert ist, wird der Ubuntu-PC auf Ihrem Windows-PC als Windows-PC angesehen, und die gleiche Auflösung ist möglich.

Sie sagen, dass Sie net viewunter Windows ausgeführt werden und Ihren Ubuntu-PC sehen, sodass der NetBIOS-Name in Ihrem Netzwerk gut veröffentlicht ist und unter Windows funktioniert.

Um unter Ubuntu dasselbe Verhalten wie unter Windows zu erzielen, müssen Sie zusätzliche Software installieren und konfigurieren. Sie müssen lediglich eine Suchbibliothek hinzufügen, mit der Ubuntu NetBIOS-Namen in IP konvertieren kann. Diese Bibliothek ist im Paket libnss-winbind enthalten.

Wie jedes andere Ubuntu-Paket installieren Sie es, indem Sie dies tun sudo apt-get install libnss-winbind. Ist die Bibliothek möglicherweise bereits installiert, können Sie sie auf Vorhandensein überprüfen dpkg -l|grep libnss-winbind.

Sobald die Bibliothek installiert ist, müssen Sie sie in der /etc/nsswitch.confDatei aktivieren . Diese Datei ist die Konfigurationsdatei für den NSS ( Name Service Switch ), die definiert, aus welchen Quellen Linux Hostnamen, Benutzernamen, Gruppennamen usw. auflösen kann.
In dieser Datei befindet sich bereits eine Zeile hosts:, die wahrscheinlich so aussieht

hosts:          files dns

Dies weist Ihr System an, zuerst in die /etc/hostsDatei und dann in das konfigurierte DNS zu schauen , um die Hostnamen aufzulösen.
Sie müssen diesen Weg ändern:

hosts:          files dns wins

Beachten Sie, dass die Reihenfolge der Wörter files , dns und wins wichtig ist. Zuerst überprüft das System die lokale Datei auf Auflösung, fragt dann den DNS-Server und führt schließlich, falls noch nicht gefunden, eine NetBIOS-Suche durch.

Sobald dies aktualisiert wurde, muss der winbind- Dienst ausgeführt werden , um ordnungsgemäß zu funktionieren . Das Paket, das es enthält, ist eine Abhängigkeit von libnss-winbind , daher wurde es mitinstalliert.
Tun service winbind start, um es zu aktivieren.

Benoit
quelle
Vergessen Sie nicht, sudo mit dem Befehl service winbind start zu verwenden.
Tristan
0

Die Konvertierung von Hostnamen in IP kann erfolgen, wenn:

- Sie deklarieren sie in der Datei / etc / hosts (nicht empfohlen)

-Sie erhalten es von einem DNS-Server.

Ich würde sagen, Ihr Problem kann sein, dass Ihre Netzwerkschnittstellenkonfiguration keinen DNS-Server hat oder nicht den verwendet, den Windows-Boxen verwenden. Wenn sie die DHCP-Schnittstellenkonfiguration verwenden, ist die DNS-Konfiguration am häufigsten enthalten, und wenn Sie einen Windows-Domänenserver in Ihrem Netzwerk haben, wird dieser höchstwahrscheinlich als primärer DNS verwendet.

Versuchen Sie: 'nslookup some_machine_name' in der Befehlszeile, um zu sehen, was passiert. Hier erfahren Sie, welchen Server Sie ggf. verwenden.

HTH

Pyrophorus
quelle