¿Por qué está colgando wget?

12

wget a una única URL específica de uno de mis servidores sigue recibiendo tiempos de espera. Todas las otras URL de este cuadro funcionan bien. Esta url funciona bien desde cualquier otro cuadro que tenga. Aquí está el resultado:

wget -T 10 http://www.fcc-fac.ca
--2011-07-14 14:44:29--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... failed: Connection timed out.
Connecting to www.fcc-fac.ca|207.195.108.140|:80... failed: Connection timed out

¿Me puede decir qué podría estar mal y cómo puedo solucionarlo? Estoy usando Ubuntu 11.04 (GNU / Linux 2.6.38-8-server x86_64)

Muchas gracias de antemano y perdona mi ignorancia novata :)

ping, telnet, nc www.fcc-fac.ca 80: todos cuelgan. Sin embargo, algunas otras URL son fáciles de recordar, aunque solo algunos de sus hosts son compatibles.

traceroute no me dice mucho:

7  rx0nr-access-communications.wp.bigpipeinc.com (66.244.208.10)  148.834 ms  149.018 ms  148.940 ms
8  sw-1-research.accesscomm.ca (24.72.3.9)  158.901 ms  159.805 ms  160.162 ms
9  65.87.238.126 (65.87.238.126)  150.069 ms  148.861 ms  148.846 ms
10  * * *
...
30  * * *

Muchas gracias por las respuestas!

Szczepan
fuente

Respuestas:

14

Creo que el problema es que wget no maneja bien las direcciones IPv6 y el servidor DNS está enviando un IPv6 para ese sitio. Lo siento si entendí mal tu pregunta. Comprueba esas pruebas:

hmontoliu@ulises:~$ wget -T10 http://www.fcc-fac.ca
--2011-07-14 16:44:34--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: Connection timed out.
wget: unable to resolve host address `www.fcc-fac.ca'

Si forzo IPv6 porque creo que su problema está relacionado con él, falla:

hmontoliu@ulises:~$ wget -6 http://www.fcc-fac.ca
--2011-07-14 16:40:44--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: No address associated with hostname.
wget: unable to resolve host address `www.fcc-fac.ca'

Sin embargo, si fuerzo a usar IPv4, se descarga directamente en la página de índice

hmontoliu@ulises:~$ wget -4 http://www.fcc-fac.ca
--2011-07-14 16:40:56--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6554 (6,4K) [text/html]
Saving to: `index.html'
hmontoliu
fuente
Lo resuelve bien con una dirección IPv4.
Jodie C
Otro ejemplo de por qué no me gusta IPv6: - /
PJ Brunet
1

Ejecute nc www.fcc-fac.ca 80, escriba GET /y presione Entrar dos veces.

La mira remota puede estar abajo o bloqueándote.

Jodie C
fuente
Hola, gracias por la respuesta. Actualicé la pregunta original
Szczepan
Si no puede acceder a la dirección, entonces probablemente esté bloqueado en algún lugar del camino.
Jodie C
1

parece que wget no puede conectarse a su ip en el puerto 80.

compruebe si su servidor es pingable:

ping 65.87.238.35
ping 207.195.108.140

si la ip es pingable, verifique si puede conectarse al puerto 80 usando telnet:

telnet 65.87.238.35 80

Si el servidor no responde al ping, es probable que esté inactivo o inaccesible para su red de origen.

prueba con la herramienta traceroute para ver dónde falla la conexión.

Dios
fuente
Hola, gracias por la respuesta. Actualicé la pregunta original
Szczepan
una excavación en www.fcc-fac.ca me dice que tiene 2 registros DNS de tipo A: ;; SECCIÓN DE RESPUESTA: www.fcc-fac.ca. 120 IN A 65.87.238.35 www.fcc-fac.ca. 120 IN A 207.195.108.140 si ambos no son accesibles, el host está inactivo y, naturalmente, wget no podrá recuperar el archivo que desea. Si hay alguna IP accesible, wget omitirá la IP hacia abajo hasta que encuentre una IP que pueda alcanzar y descargará el archivo desde allí. en su caso, ambos hosts parecen inactivos debido al largo tiempo de respuesta, creo (tiempo de espera).
Goez
u puede utilizar la opción -T en wget para ampliar el valor de tiempo de espera El tiempo de espera es sec al segundo, así que tal vez un valor más alto ayudará
Goez
Okay. Veo. Ambos ips no son pingeable (revisé desde 2 máquinas diferentes). Sin embargo, el enlace funciona bien en el navegador y cuando se lo descarga desde máquinas diferentes a la que causa problemas: /
Szczepan
Mayor tiempo de espera no ayuda
Szczepan
1

Arreglo para la resolución lenta de DNS en scripts PHP usando la biblioteca CURL.

De la documentación de libcurl:

CURLOPT_IPRESOLVE

Permite que una aplicación seleccione qué tipo de direcciones IP usar al resolver nombres de host. Esto solo es interesante cuando se usan nombres de host que resuelven direcciones usando más de una versión de IP. Los valores permitidos son:

CURL_IPRESOLVE_WHATEVER

Predeterminado, resuelve direcciones a todas las versiones de IP que permite su sistema.

CURL_IPRESOLVE_V4

Resolver a direcciones IPv4.

CURL_IPRESOLVE_V6

Resolver a direcciones IPv6.

Creo que estos se pueden establecer como variables ambientales. Al menos al usar PHP, esta configuración marcó una gran diferencia en la velocidad de resolución.

Bryan Hunt
fuente