wanneer ik een webpagina naar de terminal probeer te laden, geeft het een curl: (6) Could not resolve host
niet 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 all
en 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:
- IPV6 ingeschakeld
- Verkeerde DNS-server
Dit is hoe ik het heb opgelost:
IPV6 uitschakelen
- Terminal openen
- Typ
su
en 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.conf
om daar een nieuw bestand te maken - Druk op
Esc + i
om gegevens in het bestand in te voegen - Typ
install ipv6 /bin/true
in het bestand om te voorkomen dat IPV6-gerelateerde modules worden geladen - Typ
Esc + :
en danwq
om op te slaan en af te sluiten - Typ
reboot
om 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
su
en voer in om in te loggen als de supergebruiker - Voer het root-wachtwoord in
- Typ
cat /etc/resolv.conf
om 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.8
en8.8.4.4
. Maar in de toekomst kunnen die veranderen. - Typ
vi /etc/resolv.conf
om het bestandresolv.conf
- Druk op
Esc + i
om 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 danwq
om 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.
te bewerken
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.com
en probeer in het /tmp/wtf
uitvoerbestand 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 strace
op curl en ontdekte dat het een verbinding was met nscd
deamon.
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?