Porque é que isto acontece
ping usa ICMP, enquanto SSH e HTTPS usam portas TCP. São tráfegos separados e uma firewall pode descartar um e deixar passar o outro. Muitas redes e grupos de segurança da cloud bloqueiam ICMP echo por predefinição. A ausência de resposta não significa, por isso, que o servidor esteja em baixo, e uma resposta não prova que os seus serviços funcionem.
Teste o serviço, não o ping
Verifique as portas e os protocolos de que realmente precisa. Se estes testes forem bem-sucedidos, o servidor está acessível para esses serviços e a falha de ping apenas indica a existência de um filtro algures no percurso.
nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/Trace o percurso com TCP
Um traceroute clássico pode mostrar apenas asteriscos quando ICMP ou UDP são filtrados. Com TCP para uma porta aberta, muitas vezes consegue ir mais longe. Isto requer privilégios de root e pode ser necessário instalar primeiro o traceroute, porque os sistemas mínimos não o incluem.
sudo traceroute -T -p 443 server.exampleProcure o filtro no seu servidor
Se administra o servidor, verifique a respetiva firewall e a definição do kernel que ignora pedidos echo. Lembre-se de que o bloqueio também pode estar fora do servidor, num grupo de segurança ou num router, e de que um fornecedor pode filtrar ICMP na sua rede sem que veja qualquer regra.
sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verboseQuando o bloqueio de ICMP causa realmente falhas
Bloquear echo é geralmente inofensivo, mas bloquear todo o ICMP não é. A descoberta da MTU do percurso depende das mensagens que indicam um pacote demasiado grande. Sem elas, as pequenas trocas de dados funcionam e as grandes ficam bloqueadas, por exemplo, um início de sessão SSH que é bem-sucedido, mas depois fica bloqueado quando há muito conteúdo de saída. O IPv6 depende ainda mais de ICMPv6. O segundo comando testa um percurso com uma MTU de 1500 bytes em Linux.
ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10Comparação no CH-J Server Manager
O Server Diagnostics executa ping através da ferramenta do sistema, sem privilégios de root, em conjunto com testes separados de TCP, identificação SSH, HTTP e TLS, para que uma falha de ping possa ser interpretada no seu contexto. Uma falha de ping aí significa que não chegou nenhuma resposta. Não indica onde o pacote foi descartado, e um traceroute também pode não dar essa resposta.