Eu já vi placas de rede perderem a cabeça e interferirem em interrupções baratas por tagarelar (transmitindo um quadro infinito) ou enviando sinais excessivos de controle de fluxo Ethernet de baixo nível. Infelizmente, esses tipos de erros de hardware MAC / PHY podem passar despercebidos pelo driver Ethernet do host, assim você não verá nada em seus registros. Também é lamentável o fato de que nenhuma dessas falhas seria visível em um traço sniffer típico, já que os sinais de controle de fluxo não são realmente "frames Ethernet" e, como para jabbering, sniffers geralmente capturam quadros que estão dentro dos limites de tamanho normal.
Na próxima vez que isso acontecer, seria interessante ver se o problema desaparece simplesmente desconectando o link Ethernet do servidor Ubuntu na rede e, se isso ocorrer, o problema voltará quando você conectar o cabo Ethernet novamente?
O link descartável pode ser suficiente para reinicializar os chips da NIC para resolver o problema, mas se o problema voltar assim que você conectar a Ethernet novamente, você pode tentar conectar o cabo Ethernet o servidor Ubuntu diretamente na Ethernet em uma máquina farejadora (esperamos que você tenha uma máquina com auto-MDI-X ou um cabo crossover à mão). Então você pode tentar capturar quadros; Se você é capaz de capturar quadros, eles podem lhe dar uma pista de onde o erro está com a NIC, o driver, a pilha de rede ou algum aplicativo de rede.
Você também pode usar o Google para outras pessoas com o mesmo tipo de NIC (ou pelo menos o chipset NIC) que você, para ver se outras pessoas estão tendo o mesmo problema. É claro que é sempre bom ter certeza de que você tem o driver mais recente para o seu cartão.
O seu servidor Ubuntu sem cabeça tem uma placa gráfica, ou você pode colocar um temporariamente? Então, na próxima vez que isso acontecer, você poderá conectar um monitor, teclado e mouse e ver o que você pode aprender in situ no host. O kernel do host está em pânico ou completamente congelado, ou é apenas que sua E / S de rede é lavada? Se o host é basicamente utilizável (exceto a rede), então você poderia rodar o tcpdump ou o Wireshark nele e ver o que ele acha que está fazendo na rede.
Note que você não precisa nem usar um console gráfico para verificar o que está acontecendo na caixa do servidor Ubuntu. Por exemplo, se a sua máquina tiver uma porta serial (ou você pode conectar um adaptador USB serial) que você pode configurar como uma porta de terminal do console serial, você pode conectar outra máquina a essa porta e sair do shell. Ou se você tiver outro NIC que você poderia colocar nessa caixa, você poderia ter o outro NIC indo para uma rede isolada separada que você pode usar para SSH ou VNC na caixa (seguindo a teoria de que é apenas um NIC que perdeu seu mente, não toda a pilha de rede Linux).
Eu sugeriria instalar um NIC de alta qualidade no seu servidor, ou substituir o provável switch de nível de consumidor que você está usando em casa com algo de nível corporativo suficiente para ser projetado para particionar as portas que estão usando a rede.
Atualização: Adicionadas algumas sugestões adicionais para diagnosticar / solucionar problemas. Mas no geral, se é o tipo de modo de falha de hardware da NIC que estou pensando, duvido que alguém tenha muita esperança de depurar isso além dos engenheiros que projetaram o chipset da NIC.