Muitos firewalls corporativos bloqueiam ICMP - que é o protocolo usado pela ping utility.
Melhor solução para isso é tentar TCP conexão para google.com:80 .
A maneira mais fácil de verificar se há conectividade básica com a Internet no shell script é o utilitário nc (ele deve estar facilmente disponível na maioria dos sistemas Linux):
nc -w 3 -z google.com 80
echo $?
Isso significa verificar se a porta 80 on google.com está aberta e o tempo limite após 3 segundos. Se a conexão for bem-sucedida, imprimirá 0 e, se falhar, imprimirá 1 .
Se você deseja verificar a conectividade com a Internet sem verificar o DNS (que pode estar quebrado), é possível usar o servidor DNS preferencial do Google 8.8.8.8 , mas a única porta aberta é 53 (também conhecido como domain ):
nc -w 3 -z 8.8.8.8 53
echo $?
No entanto, a porta 53 também pode ser bloqueada pelo firewall corporativo (não é comum, mas é possível). As portas 80 e 443 , por outro lado, quase nunca são protegidas por firewall.