¿Quizás tienes algunas reglas SELinux muy extrañas y restrictivas?
Si no, prueba strace -o /tmp/wtf -fF curl -v google.com
e intenta detectar desde /tmp/wtf
archivo de salida lo que está pasando.
Los problemas fueron:
- IPV6 habilitado
- Servidor DNS incorrecto
Así es como lo arreglé:
Desactivación de IPV6
- Terminal abierto
- Escriba
su
e ingrese para iniciar sesión como superusuario - Ingrese la contraseña raíz
- Escriba
cd /etc/modprobe.d/
para cambiar el directorio a/etc/modprobe.d/
- Escriba
vi disableipv6.conf
para crear un nuevo archivo allí - Presione
Esc + i
para insertar datos en el archivo - Escriba
install ipv6 /bin/true
en el archivo para evitar cargar módulos relacionados con IPV6 - Escriba
Esc + :
y luegowq
para guardar y salir - Escriba
reboot
para reiniciar Fedora - Después de reiniciar, abra la terminal y escriba
lsmod | grep ipv6
- Si no hay resultados, significa que deshabilitó correctamente IPV6
Añadir servidor DNS de Google
- Terminal abierto
- Escriba
su
e ingrese para iniciar sesión como superusuario - Ingrese la contraseña raíz
- Escriba
cat /etc/resolv.conf
para verificar qué servidor DNS usa su Fedora. En su mayoría, esta será la dirección IP de su módem. - Ahora tenemos que encontrar un servidor DNS potente. Afortunadamente, hay un servidor DNS abierto mantenido por Google.
- Vaya a esta página y descubra cuáles son las "direcciones IP de DNS público de Google"
- Hoy esos son
8.8.8.8
y8.8.4.4
. Pero en el futuro eso puede cambiar. - Escriba
vi /etc/resolv.conf
para editar elresolv.conf
archivo - Presiona
Esc + i
para insertar datos en el archivo - Comenta todas las cosas en el archivo insertando # al comienzo de cada línea. No borre nada porque puede ser útil en el futuro.
-
Escriba debajo de dos líneas en el archivo
servidor de nombres 8.8.8.8
servidor de nombres 8.8.4.4-Escriba
Esc + :
y luegowq
para guardar y salir - Ahora ha terminado y todo funciona bien (no es necesario reiniciar).
- Pero cada vez que reinicie la computadora, su /etc/resolv.conf será reemplazado por defecto. Así que te dejaré encontrar una forma de evitarlo.
Aquí está mi publicación de blog sobre esto:http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html
Pruebe nslookup google.com para determinar si hay un problema de DNS. 192.168.1.254 es su dirección de red local y parece que su sistema la está usando como servidor DNS. ¿Es este también tu enrutador de puerta de enlace/módem? ¿Qué sucede cuando intentas hacer ping a google.com? ¿Puede buscarlo en un navegador web de Internet?
Tengo hoy un problema similar. Pero más raro.
- host - funciona
host pl.archive.ubuntu.com
- dig:funciona de forma predeterminada y en todos los demás DNS
dig pl.archive.ubuntu.com
,dig @127.0.1.1 pl.archive.ubuntu.com
- curl - ¡no funciona! pero para algunas direcciones lo hace. ¡EXTRAÑO! Lo mismo en Ruby, APT y muchos más.
$ 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
Revelación
Eventualmente usé strace
en curl y descubrí que era una conexión a nscd
demonio.
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = 0
Solución
¡He reiniciado el servicio nscd (demonio de caché de servicio de nombres) y me ayudó a resolver este problema!
systemctl restart nscd.service