Как настроить KVM виртуализацию с двумя бриджами? Приветствую.
Вводные данные:
cat /etc/network/interfacesauto lo
iface lo inet loopback
auto enp1s0f0
iface enp1s0f0 inet manual
auto br0
iface br0 inet static
address XXX.XXX.XXX.AAA
netmask 255.255.255.238
gateway XXX.XXX.XXX.GGG
network XXX.XXX.XXX.0
broadcast XXX.XXX.XXX.255
bridge_ports enp1s0f0
bridge_maxwait 0
bridge_stp off
bridge_fd 0
auto br1
iface br1 inet static
address 10.0.0.250
netmask 255.255.255.0
network 10.0.0.0
bridge_ports none
bridge_fd 0
На сервере работают 2 "LXC-контейнера", которые настроены на эти "бриджи" и каждая имеет свой внешний IP-шник (на br0), через который выходит во внешний мир, и типа локальный (на br1) через который контейнеры и хост общаются между собой. Плюс один "LXC-контейнер", который работает только через br1, не имеет своего "выхода в мир" и выходит через NAT хоста (на хост-машине настроен форвардинг пакетов 10.0.0.0/24 => enp1s0f0 и он работает).
Потребовалось запустить "контейнер" с жесткими ограничениями доступных ресурсов. Но т.к. способ контроля за использованием памяти в частности LXC не подходит (нельзя прибивать софтину, а она жрет память как троглодит, пока не останется ничего из доступного). Начали смотреть в сторону KVM, но не удается ее настроить так, чтобы она работала по принципу третьего LXC-контейнера (не иметь своего выхода в инет через br1, но общаться с внешним миром и другими виртуалками и хостом через br1).
Прошу помощи...

21 Авг 2019 в 06:36
370 +1
0
Ответы
1

Для настройки KVM с двумя бриджами, вам нужно добавить новый бридж br1 для использования виртуальных машин. Вам также нужно настроить NAT для обеспечения доступа виртуальных машин к внешнему миру через бридж br0.

Установка bridge-utils:
Убедитесь, что у вас установлены пакеты bridge-utils:

sudo apt-get update
sudo apt-get install bridge-utils

Добавление нового бриджа br1 в /etc/network/interfaces:

auto br1
iface br1 inet static
address 10.0.0.1
netmask 255.255.255.0
bridge_ports none
bridge_fd 0

Настройка NAT для доступа к внешнему миру через бридж br0:
Добавьте следующие правила iptables для настройки NAT (замените eth0 на ваш интерфейс внешнего мира, например, enp1s0f0):

sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o br0 -j MASQUERADE
sudo iptables -A FORWARD -i br0 -o br1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i br1 -o br0 -j ACCEPT

Перезапустите службу networking и проверьте, что новый бридж br1 добавлен успешно:

sudo systemctl restart networking
ifconfig br1

Теперь вы можете создавать виртуальные машины с помощью KVM и настраивать их использование бриджей br0 и br1 в соответствии с вашими требованиями.

Надеюсь, это поможет вам настроить KVM с двумя бриджами. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.

20 Апр 2024 в 13:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир