Parece que você está confundindo o mecanismo keepalive do TCP com um daemon de balanceamento de carga chamado keepalived . Os dois não têm nada a ver um com o outro. E se você está tentando detectar perda de conexão ou problemas entre dois programas, ambos os quais você escreveu, você não quer nenhum mecanismo.
Se você quiser detectar uma conexão ruim entre dois programas quando tiver escrito ambos, apenas crie uma detecção de conexão inativa no código. O TCP garante que um lado que está enviando detectará uma conexão inativa. Portanto, a solução mais simples é garantir que ambos os lados enviem periodicamente. Outra solução é garantir que um lado seja enviado periodicamente e o outro lado declare a conexão como morta se não receber esses dados periódicos.