Eu tenho um controlador de processo baseado em Linux que ocasionalmente trava até o ponto em que você não pode executá-lo (ou seja, eu posso executá-lo, então ele não se torna mais executável sem modificações nas configurações de rede).
Estou curioso, qual processo / sistema é responsável por realmente responder aos pings? Parece que este processo está falhando.
network-interface
ping
icmp
Izzo
fonte
fonte
Respostas:
A pilha de rede do kernel está manipulando mensagens ICMP, que são aquelas enviadas pelo
ping
comando.Se você não obtiver respostas, além de problemas de rede ou filtragem, e filtragem baseada em host / limitação de taxa / black-holing / etc. significa que a máquina provavelmente está sobrecarregada por algo que pode ser transitório ou o kernel travou, o que é raro, mas pode acontecer (hardware defeituoso, etc.), não necessariamente por causa do tráfego ICMP (mas tentando sobrecarregá-lo com esse tráfego) pode ser um bom teste no início da vida de um servidor para ver como ele sustenta as coisas). No caso posterior de falha do kernel, você deve ter informações amplas nos arquivos de log ou no console.
Observe também que
ping
quase sempre é a ferramenta errada para verificar se um serviço está online ou não. Por várias razões, mas principalmente porque não imita o tráfego real de aplicativos, por definição. Por exemplo, se você precisar verificar se um servidor da web ainda está ativo, faça uma consulta HTTP (porta TCP 80 ou 443); se precisar verificar um servidor de correio, faça uma consulta SMTP (porta TCP 25), se um servidor DNS, um UDP e uma consulta TCP para a porta 53, etc.fonte
ping
pois isso cria muitos falsos positivos na solução de problemas, por isso acho que os usuários não sabem exatamente o que o ping faz e como ele pode dar resultados enganosos devem ficar com outra coisa.Não há um processo de terra do usuário responsável por responder a pings. Ping é apenas um utilitário para enviar pacotes de eco ICMP. Estes são recebidos e processados pela pilha de rede do kernel
fonte
O kernel em si (não qualquer processo de usuário) é responsável para enviar ICMP echo responder mensagens em resposta a ICMP Echo Request mensagens. Portanto, se um host parar de responder a pings, isso geralmente ocorre devido a alguns dos seguintes motivos:
a conectividade de rede entre você e o host sendo pingado pode ter sido interrompida. Isso pode ser devido a várias razões: danos físicos aos cabos, ruído no caso de conexões sem fio, tabelas de rotas quebradas, você estar sob ataque de DDoS, roteadores / switches problemáticos no meio etc. Você iniciaria a solução de problemas neste caso usando
ethtool(8)
,iwconfig(8)
,route(8)
,ping(8)
o roteador,tcpdump(8)
etc. no hospedeiro alvo.A configuração do firewall no host de destino (ou qualquer roteador / firewall entre você e o host de destino) pode limitar a quantidade de pings (ou a quantidade de tráfego de tráfego). Também pode ser devido a ferramentas como
fail2ban(8)
firewalls sob demanda. Vejaiptables(8)
para verificar.houve um mau funcionamento de software / hardware no host de destino. O módulo do kernel de rede no host de destino pode ter OOPSed e / ou ficar confuso, ou mesmo o kernel inteiro pode ter o PANICked. Você verá mensagens sobre at in
dmesg(8)
no host de destino ou como saída de tela no console físico (se o acesso físico for impraticável, outra máquina com console serial pode ajudar.) Se o problema com o OOPS / PANIC do kernel, o kernel mais novo com drivers melhores poderá ajuda, ou você pode discutir os bloqueios do sistema com oswatchdog(8)
drivers auxiliares. Ou você pode alterar as peças de hardware.fonte