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 :
- IPV6 activé
- 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 + :
puiswq
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
et8.8.4.4
. Mais à l'avenir, cela pourrait changer. - Tapez
vi /etc/resolv.conf
pour éditer leresolv.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 + :
puiswq
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