Я видел, как сетевые карты теряли разум и гасили дешевые коммутаторы из-за болтовни (передачи бесконечного кадра) или отправки чрезмерных низкоуровневых сигналов управления потоком Ethernet. К сожалению, такого рода аппаратные ошибки MAC / PHY могут остаться незамеченными драйвером Ethernet хоста, поэтому вы ничего не увидите в своих журналах. Также прискорбен тот факт, что ни один из этих недостатков не будет виден на типичной трассировке анализатора, поскольку сигналы управления потоком на самом деле не являются «кадрами Ethernet», а что касается подавления помех, анализаторы обычно только захватывают кадры, которые находятся в пределах нормальных размеров.
В следующий раз, когда это произойдет, было бы интересно посмотреть, исчезнет ли проблема просто путем отключения Ethernet-соединения сервера Ubuntu с сетью, и если это произойдет, проблема вернется, когда вы снова подключите кабель Ethernet?
Для устранения проблемы может быть достаточно сбросить связь, чтобы сбросить микросхемы сетевого адаптера, но если проблема не исчезнет, как только вы снова подключите Ethernet, вы можете попробовать подключить кабель Ethernet от сервера Ubuntu непосредственно к Ethernet на анализаторе машина (надеюсь, у вас есть машина с Auto-MDI-X или удобный кабель кроссовер). Тогда вы можете попробовать захватывать кадры; если вы можете захватывать кадры, они могут дать вам подсказку о том, где находится ошибка с сетевой картой, драйвером, сетевым стеком или некоторыми сетевыми приложениями.
Вы также можете использовать Google для других людей с тем же типом NIC (или, по крайней мере, с набором микросхем NIC), что и вы, чтобы увидеть, есть ли у других такая же проблема. Конечно, всегда полезно убедиться, что у вас установлена последняя версия драйвера для вашей карты.
У вашего безголового сервера Ubuntu есть графическая карта вообще, или вы можете временно ее вставить? Затем в следующий раз, когда это произойдет, вы можете подключить дисплей, клавиатуру и мышь и посмотреть, что вы можете узнать на месте на хосте. Является ли ядро хоста паническим или полностью замороженным, или это просто, что его сетевой ввод-вывод скрыт? Если хост в основном пригоден для использования (кроме сети), то вы можете запустить на нем tcpdump или Wireshark и посмотреть, что он думает, что он делает по сети.
Обратите внимание, что вам даже не нужно использовать графическую консоль для проверки того, что происходит на сервере Ubuntu. Например, если у вашей машины есть последовательный порт (или вы можете подключить USB-последовательный адаптер), который вы можете настроить в качестве порта терминала последовательной консоли, вы можете подключить другую машину к этому порту и копаться в ней из оболочки. Или, если у вас есть другой сетевой адаптер, который вы можете поместить в этот блок, вы можете сделать так, чтобы другой сетевой адаптер пошел в отдельную изолированную сеть, которую вы можете использовать для SSH или VNC в блоке (исходя из теории, что это только один сетевой адаптер, который потерял свой ум, а не весь сетевой стек Linux).
Я бы посоветовал установить высококачественную сетевую карту на вашем сервере или заменить вероятный коммутатор потребительского уровня, который вы используете дома, на что-то достаточно корпоративного уровня, чтобы спроектировать его для разделения портов, которые блокируют сеть.
Обновление: добавлены некоторые дополнительные предложения по диагностике / устранению неполадок. Но в целом, если я подумываю о режимах аппаратного сбоя NIC, я сомневаюсь, что у кого-то будет большая надежда на отладку этого, кроме инженеров, которые разработали этот чипсет NIC.