¿Qué es una dirección IP confiable externa para hacer ping para verificar si Internet está disponible? [cerrado]

53

¿Hay algún servidor común siempre activo que pueda configurar para hacer ping en modo automático para detectar que Internet está disponible? ¿Te gusta Google o algo así? Puede ser 8.8.8.8?

Mi situación específica es que estoy usando un enrutador WAN dual. Cada WAN está conectada a uno de los ISP. Cuando mi dinero termina en uno de los ISP, no está bloqueando el canal. En su lugar, redirige a una página de advertencia. Entonces, el enrutador cree que Internet está encendido, porque los datos están viajando. Otra opción para este enrutador es hacer ping a alguna dirección para verificar si Internet está activado.

Me pregunto, si hago ping 8.8.8.8, ¿Google no me prohibirá el uso inapropiado? Sospecho que Google podría tener algunas cuotas. Si hago ping a sus servidores de nombres con demasiada frecuencia, a veces obtendré rechazos de DNS.

Dims
fuente
1
Te sugiero que pruebes lo que realmente quieres. Cuando dices "Internet está disponible", ¿qué quieres decir?
David Schwartz
1
@DavidSchwartz quiere decir que Internet no está disponible. Si desea una prueba específica, mucho se basará en WAN, por lo que no es una opción para probar porque está más allá del muro pero el ISP lo sabría.
barlop
55
ping stackexchange.com;)
66
@barlop Eso es divertido, pero no útil. ¿Qué significa "Internet no está disponible"? Si no puedo acceder al sitio web de Google, ¿está "Internet no disponible"? Si DNS funciona pero no funcionan las páginas web, ¿está disponible Internet? El primer paso para responder una pregunta es entender la pregunta.
David Schwartz
44
@DavidSchwartz No estaba bromeando, y teniendo en cuenta que está hablando de hacer ping a una IP relacionada con Google como prueba, y no hacer ping a un dominio como www.google.com como prueba, obviamente quiere decir que en un caso donde DNS no está disponible pero todo lo demás está disponible, entonces considera que Internet está disponible. no está disponible. Si desea encontrar un signo de interrogación, sería si un enrutador deficiente está "no disponible en Internet", pero obviamente si pudiera proporcionar una prueba 4 ese escenario vs WAN disponible, o detalles dentro de eso, sería más útil que simplemente hacerle una prueba para un caso específico o peor, sin casos.
barlop

Respuestas:

56

Intente hacer ping 8.8.8.8, es el servidor DNS primario de Google. Siempre hago ping para verificar mi conexión y nunca la encuentro inactiva. Alternativamente, puede probar 8.8.4.4, que es DNS secundario de Google.

AlexC
fuente
3
pingacepta TLD también. Por ping google.comlo tanto, debería hacer el truco, en caso de que no quiera recordar el cuádruple ocho.
Johannes Pille
38
@JohannesPille Hacer ping a un nombre de dominio requiere un servidor DNS que funcione. Por lo tanto, podría fallar si falla la solicitud de DNS, lo que no implica que su conexión a Internet esté realmente desconectada.
Jonathan
3
Si su servidor de nombres autorizado no funcionara, la red en su zona no sería de mucha utilidad, ¿verdad?
Johannes Pille
66
@JohannesPille, puede anular su DNS primario a 8.8.8.8 en lugar del valor predeterminado de DCHP
fanático de trinquete
66
@JohannesPille pingno acepta TLD. Tampoco acepta nombres de dominio. Es solo para que la mayoría de los nombres de dominio también sean nombres de host y se resuelvan en una dirección IP. Para que la gente pudiera escribir en http://example.comlugar de http://www.example.com, antes de que los navegadores fueran tan inteligentes para anteponer www.un nombre de host si no funcionaba en primer lugar. (Intenta hacerlo ping army.milsi no me crees.)
Dubu
33

Puedes hacer lo que hace Microsoft: verifica que

http://www.msftncsi.com/ncsi.txt

devuelve "Microsoft NCSI". (Esto verifica que puede obtener los datos correctos de un sitio, por ejemplo, no un portal Wifi u otra cosa).

También puede verificar (por ejemplo, ping) que dns.msftncsi.com

apunta a 131.107.255.255 (esto verifica que DNS esté funcionando).

Ver http://technet.microsoft.com/en-us/library/ee126135

NB: también puede visitar http://www.msftconnecttest.com/redirect para acceder a un portal cautivo si es necesario.

Mark Sowul
fuente
1
+1. IIRC, Windows también tiene una API para verificar el nivel de conectividad a Internet utilizando este método.
Navin
77
¿Por qué no es esto más votado? Una de las pocas formas realmente buenas, especialmente para la pregunta específica. Si su ISP redirige su tráfico a una página de advertencia, ¡verificar la respuesta como esta es una de las pocas opciones confiables!
Falco
Ya no funciona
usuario2924019
1
¿Qué no funciona? El sitio aún devuelve el texto correcto, el dns aún se resuelve con la IP correcta, la documentación aún devuelve la información correcta
Mark Sowul
Para tu información, no puedes hacer ping 131.107.255.255, se agota el tiempo de espera. www.msftncsi.compasa a1961.g2.akamai.net, lo que se resuelve al 23.59.182.83momento de escribir: no sé si es una IP estática o no. Si bien esta es una buena respuesta a la pregunta "¿cuál es una buena URL para probar de manera confiable mi conexión a Internet" con, por ejemplo, cURL o un navegador, no es una IP que se puede verificar con un simple pingcomando, por lo que no es una respuesta a esta pregunta específica.
iono
13

Caso específico

Desea hacer ping a la IP fija "más cercana" que no es enrutable cuando el ISP entra en estado de sobrecarga de tráfico. En mi sistema, puedo emular esta situación al fallar la autenticación ADSL. En ese caso, al comparar los resultados traceroute -nen condiciones normales y anormales, veo que el primer salto a 8.8.8.8 (o cualquier sitio seguramente externo) que no responda es 151.6.68.45, que es parte de la infraestructura de mi ISP.

Al usar esa IP como un host "check-alive" (después de repetir la prueba solo para asegurarme de que está reparada), puedo detectar una anomalía de ISP sin obtener un falso positivo en caso de que ADSL esté bien, pero el enrutamiento de ISP tiene problemas .

Por supuesto, podría usar 8.8.8.8 a propósito , razonando que si no puedo acceder a la infraestructura de Google, no me importa la razón , también podría intentar con el enrutador de respaldo.

Caso general

"Internet está disponible" es una cosa mucho más complicada que simplemente "Es 8.8.8.8 (u otra IP) accesible".

Para una verificación rápida, sucia y no siempre confiable, hacer ping a 8.8.8.8 es bueno. Pero viendo cómo usa una IP numérica en lugar de un nombre de dominio, ya se ha adaptado al hecho de que podría tener conectividad IP y aún "no tener Internet" debido a problemas de DNS.

Un diagnóstico completo tendría que comenzar cerca de su PC.

  • consultar la configuración de la red local y recuperar la puerta de enlace y el servidor DNS.
  • haga ping a la puerta de enlace. Debería ser accesible. Si no, hay un problema local.
  • ejecute un traceroute con TTL corto (en realidad, un traceroute TCP como el proporcionado por hping es mejor) de una dirección seguramente externa, 8.8.8.8 está bien.
  • desea ver que, después de su puerta de enlace, algunos nodos adicionales están respondiendo.

Por ejemplo, en Windows XP en casa tengo:

 1    <1 ms    <1 ms    <1 ms  192.168.4.200   -- (constant) Home Linux box (gateway)
 2    <1 ms    <1 ms    <1 ms  192.168.0.1     -- (constant) ADSL modem
 3     *        *        *     *               -- WAN interface, always fails; expected
 4     *        6 ms     6 ms  151.6.64.30     -- (varies) ISP gateway

Ahora intente hacer ping a DNS. Debería ser accesible. Aún mejor, ejecute una simple verificación de DNS. Para evitar las memorias caché de DNS, a veces uso un dominio que responderá a todas las consultas sin importar qué. Así por ejemplo

$ host randomasdfdsasdqwerty987667.godaddy.com
randomasdfdsasdqwerty987667.godaddy.com has address 97.74.104.201

mientras que si el servidor DNS no es confiable, la misma consulta podría devolver la dirección del portal cautivo para wifi

$ host randomasdfdsasdqwerty987667.godaddy.com
captiveportal.homenet has address 192.168.4.200

o 127.0.0.1, o incluso un error.

En caso de fallas de DNS, puedo probar una ruta de seguimiento de la dirección IP de DNS (o un DNS diferente como los de OpenDNS). Eso no solo me dirá si el problema es el DNS o el ISP, sino que a menudo me permitirá evitar la interrupción.

Si todo va bien en este momento, sé que la conexión funciona, en general; aún puede fallar en algunos sitios. Todo lo que necesito ahora es isup.meestar despierto :-), luego verificar

http://www.isup.me/www.google.com
http://www.isup.me/mail.google.com

o un sitio como Down Detector me mantendrá informado sobre el "clima de Internet".

En realidad, en mi servidor doméstico hay un caché de Squid y la página de error contiene los últimos datos recuperados con éxito de las estadísticas del sitio, por lo que puedo ver algo como

                Google.com is not reachable

                STORM ALERT: 12 out of 14 sites are unreachable!

tal como sucedió este último viernes aquí en Italia.

LSerni
fuente
Si puede hacer ping 8.8.8.8, simplemente cambie su servidor DNS a eso para que los problemas de DNS del ISP no importen
Zeb McCorkle
2
Sí, pero debe hacerlo solo después de haber verificado que los problemas están, de hecho, basados ​​en DNS. Existen otro tipo de problemas, y bien podrían dejar intacto el enrutamiento a 8.8.8.8 (o el protocolo ICMP) mientras destruye algo más. Por el contrario, la falla al hacer ping 8.8.8.8 podría no indicar un problema de enrutamiento o DNS en absoluto.
LSerni
6

Como han dicho algunos, puede hacer ping, por ejemplo, al DNS primario de Google para obtener una respuesta, pero no confíe en una sola dirección. La dirección (por varias razones) puede estar inactiva por un período de tiempo, durante el cual su software informará "no hay conectividad", cuando, de hecho, su conectividad de red puede no estar experimentando ningún problema. Siempre debe intentar comunicarse con más de una dirección para descartar falsos negativos.

Escribiría una función que haga ping a una dirección una vez, si eso falla, pase a otra (hasta, por ejemplo, tres IP) y en el momento en que reciba un par de respuestas positivas, la función debería notificar a su aplicación / script que Internet está disponible y Hacer continuación.

Kinnectus
fuente
3

Cuando trabajaba para una organización con una conexión a Internet inestable, tenía un script que probaba la conectividad de varios servidores "siempre activos": primero el enrutador / conmutador LAN, luego el servidor de archivos local, luego el enrutador T1, luego el DNS del ISP, entonces Google. Probé los dos últimos como direcciones numéricas y como dominios, para verificar los problemas de DNS frente al ping per se. Si alguno de los pings fallaba con demasiada frecuencia, tuve una idea de dónde era más probable que existiera el problema de conectarse a Internet.

Para la dirección numérica de Google, simplemente utilicé una que había recibido de nslookup anteriormente; nunca me encontré con un caso en el que no funcionaba. Supongo que 8.8.8.8 sería más simple.

Con bastante frecuencia, cuando la gente llamaba para decir que "Internet estaba caído", resultaba que solo DNS estaba caído; Podríamos llamar a esas cosas diferentes, pero desde el punto de vista de mis colegas, Internet no estaba disponible en ninguno de los casos.

Zeph
fuente
3

He estado usando 4.2.2.1 durante más de 10 años. Antes existía el servicio de DNS público de Googles. Parece ser un caché de DNS confiable y un respondedor ICMP.

rsenn
fuente
3
4.2.2.2 es más fácil de escribir
user1886419
Este tummy.com/articles/famous-dns-server menciona que no está destinado al uso público.
kevinf
2

Pruebe su servidor DNS, lo necesitará de todos modos (y la conexión externa de su ISP podría estar inactiva). Realmente depende de lo que quiera. Si necesita acceder al servicio específico, verifíquelo.

vonbrand
fuente
Esto solo es válido si sabe que el servidor DNS del ISP está respondiendo al ping. Bien puede estar funcionando, pero bloquea ICMP.
Olli
Esta es la mejor y más simple respuesta, OMI.
njbair