Мне нужна помощь в проектировании сети для виртуализированных гостей с использованием KVM. Моя машина работает под управлением CentOS 7 и имеет 2 сетевых адаптера. Я бы хотел добиться следующего
Ссылка на концептуальный рисунок
Я новичок в libvirt и также не привык к Network Manager. Я искал документацию, но нашел противоречивую информацию, начиная с вопроса, можно ли настроить этот мост через сетевой менеджер. Я также читал о возможности позволить KVM выполнять переключение.
Я был бы благодарен либо за прямую помощь в настройке, либо за указатель на актуальную документацию, в которой не используются (в CentOS 7) устаревшие инструменты или обходные пути для устранения проблем, устраненных к тому времени.
Заранее спасибо.
То, что вы хотите, хоть и полезно, но делать непросто. По сути, у вас есть 3 возможности:
Решение №1 является (вероятно) наиболее полным, но самым сложным в настройке.
Решение №2 это то, что я использовал для своего лабораторного теста. Например, для VLAN 10 и 20 вам нужно было создать аналогичную настройку:
eth0 (physical interface) -> eth0.10 (VLAN tagged) -> br10 (bridge with eth0.10 and the relative virtual qemu/kvm interface) eth0 (physical interface) -> eth0.20 (VLAN tagged) -> br20 (bridge with eth0.20 and the relative virtual qemu/kvm interface)
Обратите внимание: если вам нужен немаркированный трафик также на помеченном мосту, вы должен введите следующее правило ebtables: ebtables -t broute -A BROUTING -i eth0 -p 802.1Q -j DROP
Это правило необходимо из-за того, как сетевой стек Linux управляет входящими пакетами. Для получения дополнительной информации см. Вот, Вот и Вот
Решение №3 должен быть умным, но для него нужна поддержка ядра (и libvirt тоже). CentOS7 должен иметь достаточно свежее ядро, но я не знаю, готовы ли все остальные части программного обеспечения.
Решение №4 (бонус один): если вам не нужно общение с гостем / хостом, взгляните на драйвер macvtap. Хотя я им не пользуюсь, вы сможете настроить аналогичное решение:
eth0 (physical interface) -> eth0.10 (VLAN tagged) -> MAC vtap on eth0.10 eth0 (physical interface) -> eth0.20 (VLAN tagged) -> MAC vtap on eth0.20
Для меня невозможность общаться от / к гостю / хосту является слишком большим ограничением, но ваши требования могут быть другими.
Наконец, посмотрите Вот, это стоит прочитать.