WGET no puede resolver el host

11

Tengo 2 máquinas en la misma subred que ejecutan Debian 5.0. Usan el mismo DNS (/etc/resolv.conf), se dirigen a la misma puerta de enlace (#route) y tienen la misma configuración de iptables (#iptables -L). Puedo hacer ping desde ambos, tanto a direcciones IP como a nombres de host. Puedo ejecutar #host www.google.com y obtener los mismos resultados en ambos. Pero el problema es que en uno de ellos, no puedo moverme ni enrollarme.

Entonces, en la máquina 1 todo está bien, pero en la máquina 2 (con la misma configuración que la máquina 1) no puedo moverme ni enrollarme.

El error que obtengo es:

# wget google.com
--2009-10-20 16:38:36--  http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'

Pero en la máquina 1 no tiene problemas para wget o curl y devuelve:

# wget google.com
--2009-10-20 16:43:55--  http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
...
Saving to: `index.html.3'

Etc.

Espero que alguien aquí pueda señalarme en la dirección correcta aquí para que pueda solucionar este problema :)


fuente
Esto probablemente no esté relacionado con wget sino con un problema de red.
jldupont
¿tiene una configuración de proxy en el entorno ... mi máquina de trabajo hizo :-(
lexu
Pruebe "host google.com", no "host www.google.com", en el servidor 2.
Bill Weiss

Respuestas:

17

Verifique su /etc/nsswitch.confarchivo (o el equivalente que esté en Debian si no es eso).

hosty nslookup siempre hacer búsquedas de DNS.

Sin embargo, otras aplicaciones buscarán en NSS primero otros sistemas de nombres (por ejemplo /etc/hosts, NIS, etc.). Si hay algo más configurado pero que no funciona, podría evitar que la aplicación intente el DNS.

Alnitak
fuente
3
Se está ejecutando la forma canónica de verificar el resolutor getent hosts google.com. Esto usa nsswitch.conf y luego resolv.conf según sea necesario.
Joe
9

Gracias por las respuestas chicos!

Era el archivo nsswitch.conf. Había configurado LDAP a partir de un tutorial que me dijo que usara esta línea en hosts:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Cuando lo cambié a esto:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

Funciona sin problemas. Entonces, supongo que el archivo de configuración de nsswitch estaba haciendo que devuelva nulo si no se encuentra en los archivos o mdns4_minimal, ¿verdad?

¡Gracias por tu ayuda!


fuente
77
Probablemente deberías aceptar la respuesta de Alnitak.
Dan Carley
Sí, ¿cómo hago eso? : - /
Acepte haciendo clic en la "V" al lado del puntaje de votación. :)
Redsandro
2

¿Podría haber un proxy no válido configurado en la máquina con el error? Prueba esto:

# wget --no-proxy google.com
djhowell
fuente
2

Lo primero que debe intentar es verificar si DNS funciona correctamente.

# host google.com
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com has address 74.125.53.100

Si no obtiene esa respuesta, verifique /etc/resolv.conf y busque los servidores de nombres que figuran en ese archivo. ¿Puedes hacer ping a cada uno de ellos?

Intente consultar cada uno de ellos individualmente:

# host google.com 12.34.56.78

¿Puedes resolver otro host?

David Pashley
fuente
2

Tuve el mismo problema, pero al lado del cambio /etc/nsswitch.conf:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

También tuve que cambiar los servidores de nombres:

Cambie /etc/resolv.confpara que apunte a los servidores de nombres de Google. Los agregados por el administrador de red no funcionan para mí.

# RED 2013-03-31
nameserver 8.8.8.8
nameserver 8.8.4.4
Redsandro
fuente
3
Gracias, anónimo, por el comentario constructivo sobre el voto negativo.
Redsandro