GNU/Linux >> Tutoriales Linux >  >> Linux

curl:(6) No se pudo resolver el host:google.com; Nombre o servicio desconocido

¿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:

  1. IPV6 habilitado
  2. 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 luego wq 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 y 8.8.4.4 . Pero en el futuro eso puede cambiar.
  • Escriba vi /etc/resolv.conf para editar el resolv.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 luego wq 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

Linux
  1. Servicio de rizos

  2. El comando "ntpq -pn" devuelve el error "Nombre o servicio desconocido"

  3. Problema de montaje de EFS "Error al resolver el servidor:nombre o servicio desconocido"

  4. systemctl:comando no encontrado

  5. servicio:comando no encontrado

ssh:no se pudo resolver el nombre de host [nombre de host]:nodename ni servname proporcionado, o no se conoce

@reboot no funciona en CRON

Código de Python para verificar si el servicio se está ejecutando o no.

SCardEstablishContext:Servicio no disponible

`ssh <host>` es un shell de inicio de sesión, pero `ssh <host> <comando>` no lo es.

wkhtmltopdf - QXcbConnection:no se pudo conectar a la pantalla