Ping 8.8.8.8 funktioniert, Ping www.google.com jedoch nicht

11

Ich verwende Ubuntu Server 16.04.2 und gebe einen apt-get updatevorübergehenden Fehler zurück, der "alles auf der Liste" behebt .

  • Wenn ich www.google.com anpinge, antwortet es mit einem unbekannten Host.
  • Wenn ich mit 8.8.8.8 pinge, werden Pakete ohne Fehler usw. gesendet.

Ich habe jedes "Update" ausprobiert, das ich in Ubuntu-Foren und im Rest der Internet-Welt finden kann, und nichts funktioniert. Das resolv.confist leer, ifconfig zeigt, dass nic funktioniert, die Firewall ist ausgeschaltet und ich habe den Hammer für alle Fälle weggeworfen. Leider schreibe ich dies auf einem anderen Computer im selben Netzwerk, kann aber keinen Text von den verschiedenen Ausgaben anhängen, um zu zeigen, was los ist. Benötigen Sie Hilfe dazu bitte.

Die Datei resolv.conf enthält folgende Zeilen:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search 8.8.8.8 8.8.4.4

Die letzte Zeile wird beim Neustart des Systems von der Schnittstellendatei platziert. Dies ist neu für 16.04LTS. Ich denke, Windows NT4 war nicht so schlecht und Ubuntu Server 12 auch nicht.

Gary Mercer
quelle
2
Wie erhält Ihr System seine IP-Adresse? Kommt es von einem DHCP-Server? Es ist eine statische IP? Das Pingen der IP-Adresse funktioniert ohne ein IP-Setup des DNS-Servers. Es hört sich jedoch so an, als hätten Sie keine DNS-Adresse eingerichtet oder Ihr DHCP liefert diese nicht.
Terrance
IP ist statisch. Ich habe den DNS-Server nie eingerichtet, als ich die Serversoftware installiert habe.
Gary Mercer
Schauen Sie auf askubuntu.com/questions/143819/… und fügen Sie Ihren DNS-Eintrag für wie die Google DNS-Server um 8.8.8.8 und 8.8.4.4
Terrance
Ich habe das alles gemacht. Meine statische IP kommt von at & t vdsl box. Ich benutze ihre DNS-Nameserver und DNS-Such-IPs. Ich kann nur ableiten, dass at & t die DNS-Abfragen blockiert.
Gary Mercer
Interessant. Vielleicht möchten Sie AT & T kontaktieren und sehen, ob sie es trotzdem blockieren. Ich denke, Sie könnten versuchen, ihre DNS-Server durch die Google DNS-Server zu ersetzen und zu prüfen, ob dies funktioniert.
Terrance

Antworten:

14

Sie benötigen einen Nameserver in Ihrer /etc/resolv.confDatei. Bearbeiten Sie Ihren /etc/resolv.confund fügen Sie einen funktionierenden Nameserver hinzu. Google bietet eine kostenlose , 8.8.8.8.

Mach das:

$ nano /etc/resolv.conf

Platzieren Sie dies als erste nicht kommentierte Zeile:

nameserver 8.8.8.8

Sie können diese Funktionalität überprüfen mit:

$ ping -c10 www.google.com

Sie können diese Änderung dauerhaft machen, indem Sie die Zeile zu dieser Datei Ihrer /etc/resolvconf/resolv.conf.d/headDatei hinzufügen .

LD James
quelle
Whoopie! Erfolg! Entschuldigung, 36 Stunden in Folge auf diese Kiste geschlagen ... Es hat funktioniert. Ich habe sogar die at & t IPs eingegeben und es hat funktioniert. Vielen Dank an alle für eure Hilfe und Schnelligkeit. (Mr. Moderator, diese Jungs brauchten einen Klaps auf den Rücken, um den ganzen emotionslosen Müll loszuwerden)
Gary Mercer
resolv.conf gibt keine Erlaubnis zum Bearbeiten
Syam Kumar KK
Im Gegensatz zu @Ragy Morkos 'Antwort funktionierte es für mich auch in Ubuntu 18.04 LTS
Gwang-Jin Kim
Vielen Dank! Ich konnte www.google.com nicht anpingen, nachdem ich mich in mein Ubuntu eingemischt hatte. Dank Ihrer Lösung kann ich jetzt Installationen usw. in der chroot-ed-Partition durchführen.
Gwang-Jin Kim
3

Die markierte Antwort funktioniert unter Ubuntu 18.04.01 nicht. Um dieses Problem zu beheben, habe ich Folgendes getan:

  • Ausführen sudo gedit /usr/lib/systemd/resolv.conf
  • Fügen Sie nameserver 8.8.8.8(und / oder einen anderen gewünschten Nameserver) ein, speichern Sie ihn und beenden Sie ihn.
  • Fügen Sie durch Ausführen einen Symlink hinzu sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Credits an https://askubuntu.com/a/1050280/899241

Ragy Morkos
quelle
2

Könnten Sie einen Link zu der Seite veröffentlichen, auf der angegeben wurde, dass die Datei resolv.conf leer sein sollte? Ich vermute, dass es bestenfalls irreführend ist.

Bearbeiten Sie diese Datei mit dem Befehl sudo nano /etc/resolv.confund fügen Sie dort eine einzelne Zeile ein:

nameserver 8.8.8.8

Das sollte Ihre Namensauflösung und die verschiedenen Programme, die es verwenden - Ping, Apt-Get usw. - korrigieren.

Sie sollten auch untersuchen, warum resolv.conf leer ist. Möglicherweise ist Ihr DHCP-Server nicht richtig konfiguriert.

sмurf
quelle
Dies ist, was die Datei enthält: # Dynamische resolv.conf (5) -Datei für glibc resolver (3), die von resolvconf (8) generiert wurde # BEARBEITEN SIE DIESE DATEI NICHT HAND - IHRE ÄNDERUNGEN WERDEN ÜBERSCHRIFTET Suche 8.8.8.8 8.8.4.4 Die letzte Zeile wird beim Neustart des Systems von der Schnittstellendatei platziert.
Gary Mercer
@ GaryMercer bitte füge das deiner Frage hinzu. Es ist schwierig, einen Kommentar zu lesen.
Wjandrea
0

Keine gute Idee unter Ubuntu 16.04.x, nur zu überschreiben /etc/resolv.conf. Das Betriebssystem wird es höchstwahrscheinlich für sich selbst überschreiben.

Die Datei /etc/resolv.confist normalerweise ein symbolischer Link zu einer anderen Datei:

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

Das heißt, es ist korrekt und Sie können es bearbeiten, aber höchstwahrscheinlich wird es von einem anderen Programm überschrieben. Ich gehe davon aus, dass Sie NetworkManager installiert haben. Meines Wissens verwaltet dieser Service den Inhalt Ihrer Entschlossenheit. Sie sollten also wirklich versuchen, diese einzurichten. (Andererseits könnte NetworkManager auf Ihrem System deaktiviert sein. Möglicherweise müssen Sie es mir mitteilen.)

Versuchen Sie nmtui, dort den richtigen DNS-Server hinzuzufügen. Ich würde auch 8.8.8.8nur als sekundäres DNS verwenden. Ihr primärer DNS sollte ein Computer oder Router in der Nähe Ihres lokalen Netzwerks sein oder was auch immer Sie dort haben ...

Gerhard Stein
quelle
Kein Netzwerkmanager. Es ist ein Server ohne GUI. Ich habe dnsutils installiert, bevor die Verbindung zu den Repositorys beendet wurde.
Gary Mercer
@ Gary Mercer: Wie bringt man dann die Netzwerkschnittstelle? (ifup und ifdown?) Die Benutzeroberfläche des Netzwerkmanagers ist eine optionale Komponente. nmtuiist die textbasierte von diesem.
Gerhard Stein
Ich rufe das Nic auf, indem ich das System neu starte. Da es sich um einen Server handelt, wird er nie "ausgeschaltet". Ich habe festgestellt, dass die Verwendung von Neustartdiensten aufgrund der anderen miteinander verbundenen Komponenten, aus denen alle Dienste bestehen, die die Schnittstelle verwenden, nicht immer funktioniert. Es ist einfach einfacher und effizienter, alle Dienste mit einem einfachen Neustartbefehl neu zu starten.
Gary Mercer
Durch einen Neustart Ihres Systems muss etwas "ein Manager" Ihre Geräte bringen. In welcher haben Sie die statischen IP-Adressen konfiguriert?
Gerhard Stein
0

Ich hatte das gleiche Problem, bis ich die Datei 50-cloud-init.yaml mit den folgenden Werten bearbeitete

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

hoffe es funktioniert auch bei dir

Sal-Sanchez
quelle
Wenn Netplan und Google DNS-Server verwendet werden , sollten Sie addresses: [8.8.8.8,8.8.4.4] (möglicherweise besser Cloudflares 1.1.1.1 verwenden ) /etc/netplan/50-cloud-init.yamlund dann sudo netplan --debug apply.
Pablo Bianchi
0

Sie haben ein Problem mit dem DNS-Server, den Sie für Ihr System angegeben haben. Überprüfen Sie Ihren Nameserver-Eintrag in /etc/resolv.conf.

Das Problem ist, dass der Ping-Befehl "www.google.com" nicht identifizieren kann, da Ihr DNS-Server es nicht lösen und die tatsächliche IP-Adresse von Google angeben kann (auf jeden Server kann nur über seine IP-Adresse zugegriffen werden).

Lösung

Bearbeiten Sie den Eintrag in /etc/resolv.conf. /etc/resolve.confStellen Sie entweder einen korrekten DNS-Server Ihrer Wahl bereit, der "www.google.com" auflösen kann.

oder ySie können Ihren lokalen Systemauflöser mit der IP-Adresse 127.0.0.53 angeben, indem Sie eine Zeile hinzufügen

nameserver 127.0.0.53

oder geben Sie die DNS-Server-IP von Google an (eine davon): 8.8.8.8 oder 8.8.4.4

nameserver 8.8.8.8**

PS : Sie können besser verstehen , wie DNS funktioniert hier

Shubham Gosain
quelle
-2

Das Problem, das wir hier angesprochen haben, bestand darin, Domain-Namen intern in eine IP-Adresse aufzulösen. Seit Version 15 des Ubuntu-Servers wird meines Erachtens ein System dynamischer Konfigurationsdateien verwendet, die sich bei jedem Neustart oder Neustart des Dienstes oder Systems ändern. Wenn der Administrator eine Änderung an der Datei resolv.conf vornimmt, werden diese Änderungen beim Neustart des Resolver-Dienstes gelöscht.

Um Änderungen dauerhaft zu machen, hat Ubuntu eine Möglichkeit geschaffen, Benutzeränderungen dauerhaft zu machen, ohne die dynamische Konfiguration der Konfigurationsdateien zu beeinträchtigen. Der Vorschlag von LD James (oben) war, die Änderungen, die ich an der /etc/resolvconf/resolv.conf.d/headDatei vornehmen musste, hinzuzufügen .

Dies machte die Änderungen dauerhaft und löste das Problem der Behebung der Fehlermeldung Domainnamen host not found. Dies ist die Lösung, um den DNS-Nameserver in der Schnittstellendatei festzulegen und ihn dann auch auf den Resolver zu übertragen. Vielen Dank für Ihre großartigen Bemühungen, dieses Rätsel zu lösen.

Gary Mercer
quelle