it-swarm.com.de

curl: (6) Host konnte nicht aufgelöst werden: google.com; Name oder Dienst nicht bekannt

wenn ich versuche, eine Webseite in das Terminal zu laden, wird curl: (6) Could not resolve Host angezeigt. 

Ich habe Internet in meinem PC und versuche es von meiner Heim-Internetverbindung aus. Da ich also hier keine Vollmacht habe. 

[[email protected] kevin]# curl http://google.com
curl: (6) Could not resolve Host: google.com; Name or service not known

clean all und versuchte es erneut, aber kein Glück. 

Wenn ich jedoch IP anstelle des Domainnamens verwende, funktioniert es einwandfrei. 

[[email protected] kevin]# curl http://173.194.46.0

irgendein Hinweis bitte?

32

Probleme waren:

  1. IPV6 aktiviert
  2. Falscher DNS-Server 

So habe ich es behoben:

IPV6-Deaktivierung

  • Terminal öffnen
  • Geben Sie su ein und geben Sie ein, um sich als Superuser anzumelden
  • Geben Sie das Root-Passwort ein
  • Geben Sie cd /etc/modprobe.d/ ein, um das Verzeichnis in /etc/modprobe.d/ zu ändern.
  • Geben Sie vi disableipv6.conf ein, um dort eine neue Datei zu erstellen
  • Drücken Sie Esc + i, um Daten in die Datei einzufügen
  • Geben Sie install ipv6 /bin/true in die Datei ein, um das Laden von IPV6-Modulen zu vermeiden
  • Geben Sie Esc + : und dann wq ein, um die Einstellungen zu speichern und zu beenden
  • Geben Sie reboot ein, um Fedora neu zu starten
  • Öffnen Sie nach dem Neustart das Terminal und geben Sie lsmod | grep ipv6 ein.
  • Wenn kein Ergebnis vorliegt, bedeutet dies, dass Sie IPV6 ordnungsgemäß deaktiviert haben

Google-DNS-Server hinzufügen

  • Terminal öffnen
  • Geben Sie su ein und geben Sie ein, um sich als Superuser anzumelden
  • Geben Sie das Root-Passwort ein
  • Geben Sie cat /etc/resolv.conf ein, um zu prüfen, welchen DNS-Server Ihr Fedora verwendet. Meistens ist dies Ihre Modem-IP-Adresse.
  • Jetzt müssen wir einen leistungsfähigen DNS-Server finden. Glücklicherweise gibt es einen offenen DNS-Server, der von Google verwaltet wird.
  • Gehe zu diese Seite und finde heraus, was die "öffentlichen IP-Adressen von Google" sind.
  • Heute sind das 8.8.8.8 und 8.8.4.4. Aber in Zukunft können sich diese ändern.
  • Geben Sie vi /etc/resolv.conf ein, um die resolv.conf-Datei zu bearbeiten
  • Drücken Sie Esc + i, um Daten in die Datei einzufügen
  • Kommentieren Sie alle Dinge in der Datei, indem Sie am Anfang jeder Zeile ein # einfügen. Löschen Sie nichts, da dies in Zukunft nützlich sein kann.
  • Geben Sie in die Datei zwei Zeilen ein

    nameserver 8.8.8.8
    Nameserver 8.8.4.4

    -Typ Esc + : und dann wq zum Speichern und Beenden

  • Nun sind Sie fertig und alles funktioniert gut (nicht neu zu starten).
  • Aber jedes Mal, wenn Sie den Computer neu starten, wird Ihre /etc/resolv.conf standardmäßig ersetzt. Ich lasse Sie also einen Weg finden, um das zu vermeiden. 

Hier ist mein Blog-Post dazu: http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html

47

Vielleicht haben Sie einige sehr seltsame und restriktive SELinux-Regeln?

Wenn nicht, versuchen Sie strace -o /tmp/wtf -fF curl -v google.com und versuchen Sie anhand der /tmp/wtf-Ausgabedatei herauszufinden, was los ist.

6
Sathish

Sudo systemctl restart docker Für mich stellt sich heraus, dass ein Neustart des Docker-Daemons das Problem mit dem DNS-Caching behoben hat.

1
capital Terefe

Ich habe heute ein ähnliches Problem. Aber merkwürdiger.

  • Host - arbeitet Host pl.archive.ubuntu.com
  • Dig - funktioniert standardmäßig und auf allen anderen DNS-Codes Dig pl.archive.ubuntu.com, Dig @127.0.1.1 pl.archive.ubuntu.com
  • locken - geht nicht! aber für einige Adressen tut es. SELTSAM! Dasselbe in Ruby, APT und viele mehr.
$ curl -v http://google.com/
*   Trying 172.217.18.78...
* Connected to google.com (172.217.18.78) port 80 (#0)
> GET / HTTP/1.1
> Host: google.com
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 302 Found
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
< Referrer-Policy: no-referrer
< Location: http://www.google.pl/?gfe_rd=cr&ei=pt9UWfqXL4uBX_W5n8gB
< Content-Length: 256
< Date: Thu, 29 Jun 2017 11:08:22 GMT
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.pl/?gfe_rd=cr&ei=pt9UWfqXL4uBX_W5n8gB">here</A>.
</BODY></HTML>
* Connection #0 to Host google.com left intact

$ curl -v http://pl.archive.ubuntu.com/
* Could not resolve Host: pl.archive.ubuntu.com
* Closing connection 0
curl: (6) Could not resolve Host: pl.archive.ubuntu.com

Offenbarung

Schließlich verwendete ich strace für curl und stellte fest, dass dies eine Verbindung zu nscd-Deamon war.

connect(4, {sa_family=AF_LOCAL, Sun_path="/var/run/nscd/socket"}, 110) = 0

Lösung

Ich habe den nscd-Dienst (Name Service Cache Daemon) neu gestartet, und es hat geholfen, dieses Problem zu lösen!

systemctl restart nscd.service
0
cardil

Wir hatten das gleiche Problem auf unserem Linux-Server und haben gerade PHP sowie Apache neu gestartet. Wir glauben, dass ein Teil des DNS-Caches in Locken falsch war. Durch einen Neustart von PHP wurde dieses Problem gelöst. 

0
Pascal Klein

Versuchen Sie nslookup google.com, um festzustellen, ob ein DNS-Problem vorliegt. 192.168.1.254 ist Ihre lokale Netzwerkadresse und es sieht so aus, als würde Ihr System es als DNS-Server verwenden. Ist das auch Ihr Gateway/Modem-Router? .__ Was passiert, wenn Sie ping google.com versuchen. Können Sie mit einem Internet-Webbrowser darauf zugreifen? 

0
Benjamin B