Назад | Перейти на главную страницу

Неоднократная потеря сетевого подключения к QEMU / KVM / virt-manager VM

У меня частые сбои сетевого подключения в стеке QEMU / KVM / virt-manager в openSUSE Leap 15.1. У меня есть одна виртуальная машина, на которой запущен программный брандмауэр, который каждые несколько дней теряет связь, что приводит к отключению подключения к Интернету. Я не понимаю, как это исправить, поскольку нет никаких доказательств аппаратных сбоев и ничего полезного ни в dmesg, ни в journalctl.

Узел имеет два физических сетевых адаптера, один из которых физически подключен к CPE (модему) моего интернет-провайдера и логически подключен к виртуальной машине межсетевого экрана через macvtap. Другой физический сетевой адаптер подключается к моей внутренней сети и логически подключен к хосту и виртуальной машине межсетевого экрана через мост. Мост обеспечивает подключение хоста к Интернету.

Как обычно, эта конфигурация работает нормально. Однако на кажущейся случайной основе либо мост, либо ссылка macvtap перестают передавать данные в виртуальную машину. Я не потерял обе ссылки одновременно; пока не работает сразу только одна ссылка. Хост не теряет внутреннее соединение через мост, и запуск ethtool на хосте не показывает потерю физического соединения.

Перезапуск брандмауэра внутри виртуальной машины не восстанавливает подключение. Мне нужно «выключить» и перезапустить виртуальную машину через virt-manager, чтобы сетевые ссылки виртуальной машины снова заработали.

Насколько я могу судить, что-то в стеке qemu-kvm-etc просто перестает доставлять пакеты на виртуальную машину.

Единственный релевантный отчет в journalctl - это когда NetworkManager обнаруживает потерю подключения к Интернету (т. Е. «Состояние NetworkManager теперь CONNECTED_SITE») из-за потери подключения виртуальной машины межсетевого экрана, но нет ничего, ведущего к этой записи.

Я заметил, что сбои подключения к виртуальной машине иногда возникают из-за хозяин конец моста, теряющий поддержку IPv6. По какой-то причине интерфейс моста спонтанно теряет все свои IPv6-адреса (включая локальную ссылку), несмотря на то, что IPv6 включен. Когда это происходит, мост также перестает передавать трафик IPv6 на виртуальную машину, хотя IPv4 еще некоторое время продолжает работать.

Есть предложения о том, как к этому подойти?