lorsque j'essaie de charger une page Web sur un terminal, l'erreur curl: (6) Could not resolve Host
est générée.
J'ai Internet dans mon PC et j'essaie depuis ma connexion Internet à la maison. Donc, comme je ne suis pas impliqué par procuration ici.
[root@localhost kevin]# curl http://google.com
curl: (6) Could not resolve Host: google.com; Name or service not known
clean all
et réessayé mais pas de chance.
Mais si j'utilise IP au lieu du nom de domaine, cela fonctionne bien.
[root@localhost kevin]# curl http://173.194.46.0
un indice s'il vous plaît?
Les problèmes étaient:
Voici comment je l'ai corrigé:
IPV6 Désactivation
su
et entrez pour vous connecter en tant que super utilisateurcd /etc/modprobe.d/
pour changer le répertoire en /etc/modprobe.d/
vi disableipv6.conf
pour créer un nouveau fichier iciEsc + i
pour insérer des données dans un fichier.install ipv6 /bin/true
sur le fichier pour éviter de charger des modules liés à IPV6Esc + :
puis wq
pour enregistrer et quitter.reboot
pour redémarrer Fedoralsmod | grep ipv6
Ajouter un serveur DNS Google
su
et entrez pour vous connecter en tant que super utilisateurcat /etc/resolv.conf
pour vérifier le serveur DNS utilisé par votre Fedora. Ce sera principalement votre adresse IP de modem.8.8.8.8
et 8.8.4.4
. Mais à l'avenir, ceux-ci pourraient changer.vi /etc/resolv.conf
pour éditer le fichier resolv.conf
Esc + i
pour insérer des données dans un fichier.Tapez ci-dessous deux lignes dans le fichier
serveur de noms 8.8.8.8
serveur de noms 8.8.4.4
-Type Esc + :
puis wq
pour enregistrer et quitter
Voici mon article sur ce blog: http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html
Peut-être avez-vous des règles SELinux très étranges et restrictives?
Sinon, essayez strace -o /tmp/wtf -fF curl -v google.com
et essayez de repérer à partir du fichier de sortie /tmp/wtf
ce qui se passe.
J'ai aujourd'hui le même problème. Mais plus étrange.
Host pl.archive.ubuntu.com
Dig pl.archive.ubuntu.com
, Dig @127.0.1.1 pl.archive.ubuntu.com
$ 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
Révélation
Finalement, j’ai utilisé strace
sur curl et découvert qu’il s’agissait d’une connexion à nscd
deamon.
connect(4, {sa_family=AF_LOCAL, Sun_path="/var/run/nscd/socket"}, 110) = 0
Solution
J'ai redémarré le service nscd (Name Service Cache Daemon) et cela a aidé à résoudre ce problème!
systemctl restart nscd.service
Nous avons eu le même problème sur notre serveur Linux et nous venons de redémarrer PHP ainsi qu'Apache. Nous pensons que certains cache DNS à l'intérieur des boucles étaient erronés et le simple redémarrage de PHP a résolu ce problème
Essayez nslookup google.com pour déterminer s’il existe un problème DNS. 192.168.1.254 est votre adresse réseau locale et il semble que votre système l’utilise comme serveur DNS. Est-ce également votre routeur passerelle/modem? Que se passe-t-il lorsque vous essayez d'effectuer un ping sur google.com? Pouvez-vous y accéder sur un navigateur Web?