O que é um endereço IP confiável externo para pingar para verificar se a Internet está disponível? [fechadas]

48

Existe algum servidor comum sempre ativo, que eu possa configurar para executar o ping no modo automático para detectar que a Internet está disponível? Gosta do Google ou algo assim? Pode ser 8.8.8.8?

Minha situação específica é que estou usando o roteador WAN duplo. Cada WAN está conectada a um dos ISPs. Quando meu dinheiro acaba em um dos provedores, ele não está bloqueando o canal. Em vez disso, ele redireciona para uma página de aviso. Então, o roteador acha que a internet está ligada, porque os dados estão viajando. Outra opção para este roteador é fazer ping para algum endereço para verificar se a internet está ligada.

Será que, se eu fizer o ping 8.8.8.8, não serei banido pelo Google por uso inadequado? Eu suspeito que o Google possa ter algumas cotas. Se eu pingar seus servidores de nomes com muita frequência, então às vezes receberei rejeições de DNS.

    
por Dims 15.06.2014 / 10:51

7 respostas

56

Tente executar o ping 8.8.8.8, o servidor DNS primário do Google. Eu sempre faço ping para verificar minha conexão e nunca a encontrei. Alternativamente, você pode tentar o 8.8.4.4, que é o DNS secundário do Google.

    
por 15.06.2014 / 11:23
26

Você pode fazer o que a Microsoft faz: verificar que

link

retorna "Microsoft NCSI"

Você também pode verificar se dns.msftncsi.com

aponta para 131.107.255.255

Veja o link

    
por 16.06.2014 / 05:08
13

Caso específico

Você deseja executar o ping do IP fixo "mais próximo" que não é roteável quando o ISP entra no estado de sobrecarga de tráfego. No meu sistema eu posso emular esta situação por falhar na autenticação ADSL. Nesse caso, comparando os resultados de traceroute -n em condições normais e anormais, vejo que o primeiro salto para 8.8.8.8 (ou qualquer outro site com certeza externo) que não responde é 151.6.68.45, que é parte do meu ISP. infra-estrutura.

Ao usar esse IP como host "check-alive" (depois de repetir o teste apenas para ter certeza de que é fixo), posso detectar uma anomalia de ISP sem obter um falso positivo caso o ADSL esteja OK, mas o roteamento do ISP tem problemas.

Claro, eu poderia usar 8.8.8.8 de propósito , raciocinando que, se eu não conseguir acessar a infraestrutura do Google, eu não ligo para o motivo , eu também pode tentar com o roteador de backup.

Caso geral

"internet is available" é uma coisa muito mais complicada do que simplesmente "É 8.8.8.8 (ou outro IP) acessível".

Para uma verificação rápida, suja e nem sempre confiável, o ping 8.8.8.8 é bom. Mas vendo como você usa um IP numérico em vez de um nome de domínio, você já se adaptou ao fato de que você pode ter conectividade IP e ainda "sem Internet" por causa de problemas de DNS.

Um diagnóstico completo teria que começar perto do seu PC.

  • consulta a configuração da rede local e recupera o gateway e o servidor DNS.
  • ping no gateway. Deve ser alcançável. Caso contrário, há um problema local.
  • execute um traceroute com TTL curto (na verdade, um traceroute TCP como o fornecido por hping é melhor) de um endereço certamente externo, 8.8.8.8 está bem.
  • você quer ver que, após o seu gateway, alguns nós extras estão respondendo.

Por exemplo, no Windows XP em casa, eu tenho:

 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

Agora tente pingar o DNS. Deve ser alcançável. Melhor ainda, execute uma simples verificação de DNS. Para evitar caches DNS, às vezes uso algum domínio que responda a todas consultas, não importa o quê. Então, por exemplo

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

enquanto o servidor DNS não é confiável, a mesma consulta pode retornar o endereço do portal cativo para wifi

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

ou 127.0.0.1, ou até mesmo um erro.

Em caso de falhas de DNS, posso tentar um traceroute do endereço IP do DNS (ou um DNS diferente, como os do OpenDNS). Isso não só me dirá se o problema é o DNS ou o ISP, que muitas vezes me permite contornar a interrupção.

Se tudo correr bem, neste momento, sei que a conexão está em funcionamento, em geral; ainda pode falhar em alguns sites. Tudo o que preciso agora é que isup.me esteja pronto :-), e depois verifique

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

ou um site como Down Detector me manterá informado sobre o "clima da Internet".

Na verdade, no meu servidor doméstico há um cache do Squid e a página de erro contém os últimos dados recuperados com sucesso das estatísticas do site, para que eu possa ver algo como

                Google.com is not reachable

                STORM ALERT: 12 out of 14 sites are unreachable!

assim como aconteceu isso sexta-feira passada aqui na Itália.

    
por 15.06.2014 / 20:41
6

Como um casal já disse, você pode fazer ping, digamos, o DNS primário do Google para obter uma resposta, mas não depende de um endereço. O endereço (por diversos motivos) pode estar inativo por um período de tempo, durante o qual o software informará "sem conectividade", quando, na verdade, a conectividade de sua rede talvez não esteja com problemas. Você deve sempre tentar se comunicar com mais de um endereço para excluir os falsos negativos.

Eu escreveria uma função que pinga um endereço uma vez, se ela falhar em outra (até, digamos, três IPs) e no momento em que você receber algumas respostas positivas, a função deve notificar seu aplicativo / script que a Internet está disponível e continua.

    
por 15.06.2014 / 13:40
3

Quando trabalhava para uma organização com uma conexão de internet flexível, eu tinha um script que testava vários servidores "sempre ativos" para conectividade: primeiro o roteador / switch da LAN, o servidor de arquivos local, o roteador T1, depois o DNS do ISP, depois o Google. Eu testei os dois últimos como endereços numéricos e como domínios, para verificar problemas de DNS vs ping per se. Se algum dos pings falhou com muita frequência, eu tive uma idéia de onde o problema de se conectar à internet era mais provável de existir.

Para o endereço numérico do Google, usei apenas um que eu recebi do nslookup anteriormente - nunca encontrei um caso em que ele estivesse inativo. Eu suponho que 8.8.8.8 seria mais simples.

Com frequência, quando as pessoas ligavam para dizer que a "internet estava inoperante", descobriu-se que apenas o DNS estava inativo; podemos chamar essas coisas diferentes, mas, do ponto de vista dos meus colegas, a internet não estava disponível em nenhum dos casos.

    
por 15.06.2014 / 18:28
3

Estou usando o 4.2.2.1 há mais de 10 anos. Antes, havia o serviço de DNS público do Google. Parece ser um cache DNS confiável e um respondedor ICMP.

    
por 16.06.2014 / 03:21
2

Tente seu servidor DNS, você precisará dele de qualquer maneira (e a conexão externa do seu provedor pode estar inoperante). Isso realmente depende do que você quer. Se você precisar acessar um serviço específico, verifique-o.

    
por 15.06.2014 / 15:05