GNU/Linux >> Tutoriels Linux >  >> Linux

curl :(6) Impossible de résoudre l'hôte :google.com ; Nom ou service inconnu

Peut-être avez-vous mis en place 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 de /tmp/wtf fichier de sortie ce qui se passe.


Les problèmes étaient :

  1. IPV6 activé
  2. Mauvais serveur DNS

Voici comment j'ai résolu le problème :

Désactivation de l'IPV6

  • Ouvrir le terminal
  • Tapez su et entrez pour vous connecter en tant que super utilisateur
  • Entrez le mot de passe root
  • Tapez cd /etc/modprobe.d/ pour changer de répertoire en /etc/modprobe.d/
  • Tapez vi disableipv6.conf pour y créer un nouveau fichier
  • 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 les modules liés à IPV6
  • Tapez Esc + : puis wq pour enregistrer et quitter
  • Tapez reboot pour redémarrer Fedora
  • Après le redémarrage, ouvrez le terminal et tapez lsmod | grep ipv6
  • Si aucun résultat, cela signifie que vous avez correctement désactivé IPV6

Ajouter un serveur DNS Google

  • Ouvrir le terminal
  • Tapez su et entrez pour vous 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. Il s'agira principalement de l'adresse IP de votre modem.
  • Nous devons maintenant trouver un serveur DNS puissant. Heureusement, il existe un serveur DNS ouvert géré par Google.
  • Allez sur cette page et découvrez quelles sont les "adresses IP du DNS public de Google"
  • Aujourd'hui, ils sont 8.8.8.8 et 8.8.4.4 . Mais à l'avenir, cela pourrait changer.
  • Tapez vi /etc/resolv.conf pour éditer le resolv.conf fichier
  • Appuyez sur Esc + i pour insérer des données dans le fichier
  • Commentez toutes les choses dans le fichier en insérant # au début de chaque ligne. Ne supprimez rien car cela peut être utile à l'avenir.
  • Tapez ci-dessous deux lignes dans le fichier

    serveur de noms 8.8.8.8
    serveur de noms 8.8.4.4

    -Tapez Esc + : puis wq pour enregistrer et quitter

  • Vous avez maintenant terminé et tout fonctionne correctement (il n'est pas nécessaire de redémarrer).
  • Mais chaque fois que vous redémarrez l'ordinateur, votre /etc/resolv.conf sera remplacé par défaut. Je vous laisse donc trouver un moyen d'éviter cela.

Voici mon article de blog à ce sujet :http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html


Essayez nslookup google.com pour déterminer s'il y a 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. S'agit-il également de votre passerelle/modem routeur ? Que se passe-t-il lorsque vous essayez de faire un ping sur google.com ? Pouvez-vous y accéder sur un navigateur Web Internet?


J'ai aujourd'hui un problème similaire. Mais plus bizarre.

  • hébergeur - fonctionne host pl.archive.ubuntu.com
  • dig - fonctionne 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, c'est le cas. BIZARRE! Idem dans Ruby, APT et bien 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

Finalement, j'ai utilisé strace sur curl et a trouvé qu'il s'agissait d'une connexion à nscd démon.

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

Linux
  1. Service de boucles

  2. Service de boucles

  3. La commande "ntpq -pn" renvoie l'erreur "Nom ou service inconnu"

  4. Problème de montage EFS "Échec de la résolution du serveur :nom ou service inconnu"

  5. systemctl :commande introuvable

@reboot ne fonctionne pas dans CRON

Code Python pour vérifier si le service est en cours d'exécution ou non. ?

SCardEstablishContext :service non disponible

`ssh <host>` est un shell de connexion, mais `ssh <host> <command>` ne l'est pas ?

wkhtmltopdf - QXcbConnection :Impossible de se connecter à l'affichage

Quand exim4 envoie HELO/EHLO, comment configurer le nom d'hôte qu'il envoie ?