krul: (6) Kon host: google.com niet oplossen; Naam of dienst niet bekend

wanneer ik een webpagina naar de terminal probeer te laden, geeft het een curl: (6) Could not resolve hostniet oplossen.

Ik heb internet op mijn pc en probeer het vanaf mijn internetverbinding thuis. Dus aangezien ik hier geen proxy inbreng.

[root@localhost kevin]# curl http://google.com
curl: (6) Could not resolve host: google.com; Name or service not known

clean allen probeerde het opnieuw, maar geen geluk.

Maar als ik IP gebruik in plaats van de domeinnaam, werkt het prima.

[root@localhost kevin]# curl http://173.194.46.0

een idee alstublieft?


Antwoord 1, autoriteit 100%

Problemen waren:

  1. IPV6 ingeschakeld
  2. Verkeerde DNS-server

Dit is hoe ik het heb opgelost:

IPV6 uitschakelen

  • Terminal openen
  • Typ suen voer in om in te loggen als de supergebruiker
  • Voer het root-wachtwoord in
  • Typ cd /etc/modprobe.d/om de map te wijzigen in /etc/modprobe.d/
  • Typ vi disableipv6.confom daar een nieuw bestand te maken
  • Druk op Esc + iom gegevens in het bestand in te voegen
  • Typ install ipv6 /bin/truein het bestand om te voorkomen dat IPV6-gerelateerde modules worden geladen
  • Typ Esc + :en dan wqom op te slaan en af te sluiten
  • Typ rebootom fedora te herstarten
  • Na herstart terminal openen en lsmod | grep ipv6
  • Als er geen resultaat is, betekent dit dat u IPV6 correct hebt uitgeschakeld

Google DNS-server toevoegen

  • Terminal openen
  • Typ suen voer in om in te loggen als de supergebruiker
  • Voer het root-wachtwoord in
  • Typ cat /etc/resolv.confom te controleren welke DNS-server je Fedora gebruikt. Meestal is dit uw modem-IP-adres.
  • Nu moeten we een krachtige DNS-server vinden. Gelukkig is er een open DNS-server die wordt onderhouden door Google.
  • Ga naar deze paginaen ontdek wat de “Google Openbare DNS IP-adressen”
  • Vandaag zijn dat 8.8.8.8en 8.8.4.4. Maar in de toekomst kunnen die veranderen.
  • Typ vi /etc/resolv.confom het bestand resolv.conf
  • te bewerken

  • Druk op Esc + iom gegevens in het bestand in te voegen
  • Reageer op alle dingen in het bestand door # in te voegen aan het begin van elke regel. Verwijder niets omdat dit in de toekomst nuttig kan zijn.
  • Typ hieronder twee regels in het bestand

    naamserver 8.8.8.8
    naamserver 8.8.4.4

    -Typ Esc + :en dan wqom op te slaan en af te sluiten

  • Nu ben je klaar en werkt alles goed (niet nodig om opnieuw op te starten).
  • Maar elke keer dat u de computer opnieuw opstart, wordt uw /etc/resolv.conf standaard vervangen. Dus ik zal je een manier laten vinden om dat te vermijden.

Hier is mijn blogbericht hierover:
http://codeketchup.blogspot .sg/2014/07/how-to-fix-curl-6-could-not-resolve.html


Antwoord 2, autoriteit 9%

Misschien heb je een paar hele rare en beperkende SELinux-regels?

Zo niet, probeer dan strace -o /tmp/wtf -fF curl -v google.comen probeer in het /tmp/wtfuitvoerbestand te zien wat er aan de hand is .


Antwoord 3, autoriteit 6%

Ik heb vandaag een soortgelijk probleem. Maar gekker.

  • host – werkt host pl.archive.ubuntu.com
  • dig – werkt standaard en op alle andere DNS’s dig pl.archive.ubuntu.com, dig @127.0.1.1 pl.archive.ubuntu.com
  • krul – werkt niet! maar voor sommige adressen wel. VREEMD! Hetzelfde in Ruby, APT en nog veel meer.
$ 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

Openbaring

Uiteindelijk gebruikte ik straceop curl en ontdekte dat het een verbinding was met nscddeamon.

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

Oplossing

Ik heb de nscd-service (Name Service Cache Daemon) opnieuw opgestart en dit heeft geholpen om dit probleem op te lossen!

systemctl restart nscd.service

Antwoord 4

Probeer nslookup google.com om te bepalen of er een DNS-probleem is.
192.168.1.254 is uw lokale netwerkadres en het lijkt erop dat uw systeem het als DNS-server gebruikt. Is dit ook uw gateway/modemrouter?
Wat gebeurt er als je google.com probeert te pingen. Kun je ernaartoe bladeren in een internetwebbrowser?

Other episodes