Сетевые карты Realtek семейства RTL8111/8168/8169 встречаются в недорогих серверах. У них известна особенность: при определённых сочетаниях ядра, драйвера и нагрузки связь периодически пропадает, а в журнале ядра появляются сообщения о таймауте очереди передачи. Ниже — признаки проблемы, чем отличаются драйверы r8169 и r8168 и какие шаги помогают.
Признаки
- Сервер временно перестаёт отвечать на ping и SSH, а затем сам приходит в себя.
- В журнале ядра:
NETDEV WATCHDOG: eth0 (r8169): transmit queue 0 timed out, сообщения о сбросе линка. - Падение скорости при большой нагрузке на сеть.
lspci -nnk | grep -A3 -i ethernet
ethtool -i enp2s0 # используемый драйвер и версия
dmesg -T | grep -i -E 'r8169|r8168|watchdog|link'
Сначала самое простое
- Обновите ядро. В новых ядрах драйвер
r8169получил множество исправлений; многие проблемы уходят после обновления:apt full-upgradeи перезагрузка. - Отключите аппаратные разгрузки (offload) на интерфейсе:
Если связь стабилизировалась, закрепите настройку (вethtool -K enp2s0 tso off gso off gro off ethtool -k enp2s0 | grep -E 'tcp-segmentation|generic'/etc/network/interfacesстрокойpost-up ethtool -K enp2s0 tso off gso off gro off, в systemd-networkd через.linkфайл или сервис). - Отключите энергосбережение PCIe (ASPM) параметром ядра
pcie_aspm=offвGRUB_CMDLINE_LINUXи выполнитеupdate-grub.
Драйвер r8168 вместо r8169
Отдельный драйвер r8168 от Realtek в ряде случаев ведёт себя стабильнее. В Debian он доступен как пакет r8168-dkms в разделе non-free (проверьте наличие в вашем релизе):
apt install -y r8168-dkms
echo "blacklist r8169" > /etc/modprobe.d/blacklist-r8169.conf
update-initramfs -u
reboot
После перезагрузки проверьте ethtool -i — должен быть r8168. Выполняйте эти действия, имея доступ к KVM-консоли или Rescue System (инструкция): при ошибке сеть может не подняться. Если после обновления ядра dkms не пересобрал модуль, интерфейс исчезнет: заранее держите доступ через консоль. Чтобы вернуться на r8169, удалите файл blacklist, выполните update-initramfs -u и перезагрузитесь.
Когда обращаться в поддержку
Если обрывы продолжаются после всех шагов, соберите данные: вывод ethtool -i, lspci -nnk, фрагменты dmesg с временем сбоя, версию ядра, описание нагрузки и обратитесь в поддержку. Возможно, потребуется замена сетевой карты или сервера. Общую диагностику сети описывает справка Настройки сети — FAQ, а о перенесённых серверах читайте в справке Наладка системы после замены сервера.
Типичные ошибки
- Отключили offload только до перезагрузки — настройка не сохранилась.
- Забыли пересобрать initramfs после blacklist драйвера.
- Установили r8168 без заголовков ядра — dkms не собрал модуль (
apt install linux-headers-$(uname -r)).
Частые вопросы
Как понять, что у меня карта Realtek?
Команда lspci -nn | grep -i ethernet покажет модель. Для Realtek вы увидите RTL8111/8168 или подобное.
Влияет ли это на облачные серверы?
Нет, проблема относится к физическим сетевым картам на выделенных серверах.
Нужно ли ставить r8168 всегда?
Нет. Начните с обновления ядра и настроек offload; r8168 — запасной вариант.