curl: (6) impossible de résoudre host: google.com; nom ou service non connu
quand j'essaie de charger une page web sur un terminal, elle donne curl: (6) Could not resolve host
erreur.
j'ai internet dans mon PC et j'essaie depuis ma connexion internet à la maison. Comme moi, il n'y a pas de mandataire impliqué ici.
[root@localhost kevin]# curl http://google.com
curl: (6) Could not resolve host: google.com; Name or service not known
clean all
et essayé de nouveau, mais pas de chance.
mais si j'utilise IP au lieu du nom de domaine, ça marche très bien.
[root@localhost kevin]# curl http://173.194.46.0
un indice s'il vous plaît?
6 réponses
Questions étaient les suivantes:
- IPv6 activé
- mauvais serveur DNS
Voici comment j'ai corrigé:
Désactivation de l'IPV6
- Ouvrir Un Terminal
- Tapez
su
et entrer pour se connecter en tant que super-utilisateur - Entrez le mot de passe root
- Tapez
cd /etc/modprobe.d/
pour changer le répertoire/etc/modprobe.d/
- Tapez
vi disableipv6.conf
pour créer un nouveau fichier il y a - Appuyez sur
Esc + i
pour insérer des données dans le fichier - Tapez
install ipv6 /bin/true
sur le fichier pour éviter de charger des modules relatifs à IPV6 - Tapez
Esc + :
etwq
pour enregistrer et quitter - Tapez
reboot
pour redémarrer fedora - après redémarrage, ouvrez terminal et tapez
lsmod | grep ipv6
- si aucun résultat, cela signifie que vous avez correctement désactivé IPV6
Ajouter Google DNS server
- ouvert Terminal
- Tapez
su
et entrer pour se connecter en tant que super-utilisateur - Entrez le mot de passe root
- Tapez
cat /etc/resolv.conf
pour vérifier quel serveur DNS votre Fedora utilise. La plupart du temps, ce sera votre adresse IP Modem. - maintenant nous devons trouver un serveur DNS puissant. Heureusement, il existe un serveur DNS ouvert maintenu par Google.
- cette page et découvrez quelles sont les "adresses IP DNS publiques de Google"
- aujourd'Hui, ceux
8.8.8.8
et8.8.4.4
. Mais à l'avenir, ceux-ci peuvent changer. - Tapez
vi /etc/resolv.conf
modifierresolv.conf
le fichier - Appuyez sur
Esc + i
pour insérer les données dans le fichier - Commentaire toutes les choses dans le fichier en insérant des # au début de chaque ligne. Ne pas supprimer quoi que ce soit parce que peut être utile à l'avenir.
Tapez ci-dessous deux lignes dans le fichier
nameserver 8.8.8.8
serveur de noms 8.8.4.4- Type
Esc + :
etwq
pour enregistrer et quitter- Maintenant vous avez terminé et tout fonctionne bien (pas nécessaire de redémarrer).
- mais chaque fois que vous redémarrez l'ordinateur votre /etc/resolv.conf sera remplacé par défaut. Donc je te laisse trouver un moyen d'éviter ça.
Here is my blog post à ce sujet: 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 bizarres et restrictives en place?
Si pas, essayez strace -o /tmp/wtf -fF curl -v google.com
et essayer de repérer à partir de /tmp/wtf
fichier de sortie.
Try nslookup google.com pour déterminer s'il y a un problème avec le 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 votre routeur de passerelle/modem? Que se passe-t-il lorsque vous essayez ping google.com. Pouvez-vous y naviguer sur un navigateur Internet?
nous avions le même problème sur notre serveur Linux et nous avons redémarré PHP ainsi Qu'Apache. Nous croyons que certains cache DNS à l'intérieur de curls étaient erronés et que le redémarrage de PHP a résolu ce problème.
j'ai aujourd'hui un problème similaire. Mais plus étrange.
- l'hôte fonctionne
host pl.archive.ubuntu.com
- dig - fonctionne sur par défaut et sur tous les autres DNS
dig pl.archive.ubuntu.com
,dig @127.0.1.1 pl.archive.ubuntu.com
- curl - ne fonctionne pas! mais pour certaines adresses il est. Bizarre! Idem pour Ruby, APT et beaucoup d'autres.
$ 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
eventuellement j'ai utilisé strace
sur curl et trouvé que c'était de la 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 (nom service Cache Daemon) et il a aidé à résoudre ce problème!
systemctl restart nscd.service
j'ai eu le même problème, sauf sur une VM Ubuntu. S'avère que mon wifi avais débranché. Je n'ai pas pensé à vérifier au début parce que l'internet de mon hôte (Windows 10) avait fonctionné très bien. Tout ce que j'avais à faire, c'était de reconnecter internet.