Es posible que puedas entrar a una máquina vía SSH pero que por ejemplo no te responda a ICMP PING. Evidentemente que no responda a PING no quiere decir que la máquina esté apagada.
Los motivos para que esto ocurra pueden ser muy variados. Uno puede ser que el firewall lo anda bloqueando . Puede ser que no llegamos a esa IP, que el dominio al que andamos haciendo ping no resuelve, etc …
Otra opción es que mediante unas reglas de iptables se esté bloqueando desde la propia máquina. Se puede eso mirar entrando a la máquina en cuestión y mirando con «iptables -L».
El caso que no siempre se encuentra es cuando incluso localhost dentro de la propia máquina no responde a ping y eso puede ser porque el bloqueo está realizado mediante la variable net.ipv4.icmp_echo_ignore_all .
Comprobación
Para comprobar esto se puede hacer así:
Se comprueban los nombres de las diferentes patas.
ip a s | grep -i qdisc | awk {'print$2'} | cut -d ":" -f1
Se sacan las ips de las diferentes interfaces.
ip a s lo | grep -i inet | awk {'print$2'} | cut -d "/" -f 1
ip a s eth0 | grep -i inet | awk {'print$2'} | cut -d "/" -f 1
ip a s eth1 | grep -i inet | awk {'print$2'} | cut -d "/" -f 1
ip a s eth2 | grep -i inet | awk {'print$2'} | cut -d "/" -f 1
Luego se prueba a hacer ping a todas las interfaces (incluido lo)
ping -c 1 127.0.0.1| grep -i packets
El resultado tendría que ser que NO responde a Ping.
Y eso se soluciona mirando si la variable anda a 0 o 1 así:
sysctl net.ipv4.icmp_echo_ignore_all
Si la respuesta es 1 es que está bloqueando. Si lo ponemos a 0 ya se permitirá poder hacer ping al menos dentro de la misma máquina.
sysctl -w net.ipv4.icmp_echo_ignore_all=0
Y eso es todo lo que quería compartir en esta entrada.
Saludos cordiales.