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?

30
demandé sur Sathish 2014-07-26 09:26:41

6 réponses

Questions étaient les suivantes:

  1. IPv6 activé
  2. 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 + : et wq 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 et 8.8.4.4. Mais à l'avenir, ceux-ci peuvent changer.
  • Tapez vi /etc/resolv.conf modifier resolv.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 + : et wq 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

44
répondu Nayana Adassuriya 2016-12-14 06:45:51

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.

6
répondu Sathish 2014-07-26 11:12:53

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?

0
répondu Benjamin B 2014-07-26 13:25:29

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.

0
répondu Pascal Klein 2017-06-22 12:44:08

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
0
répondu cardil 2017-06-29 11:29:30

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.

-1
répondu The_Popsicle_Stick 2018-05-24 13:20:51