Debian: Должен ли я добавить интерфейс VLAN в мост для KVM?
Я настраиваю Debian Squeeze box в качестве хоста KVM. Я хочу добавить несколько интерфейсов для каждого гостя KVM, поэтому я хочу, чтобы они были в разных VLAN.
Прочитав об этом, я считаю, что лучший способ - это добавить несколько логических (под) -интерфейсов VLAN к физическим NIC, а затем создать мостовой адаптер для каждого взаимодействия VLAN и назначить каждый мост в качестве NIC для гостей KVM. Имеет ли это смысл или безумие?
Должен ли я использовать мостовые интерфейсы с KVM, как это? Разве я не могу просто добавить eth1.xx и eth1.yy в конфигурацию моих интерфейсов ниже, а затем настроить их непосредственно в качестве гостевых сетевых адаптеров KVM с мостовыми соединениями? Если так, как это должно выглядеть в файле конфигурации интерфейсов ниже?
user@host:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# Management Interface
auto eth0
iface eth0 inet static
address 172.22.0.31
netmask 255.255.255.0
gateway 172.22.0.1
# Interface for guest VMs
auto eth1
# Guest1 : Use VLAN 117
auto eth1.117
iface eth1.117 inet manual
# Set up br1 for guest 1, bridging with vlan 117
auto br1.117
iface br1.117 inet manual
bridge_ports eth1.117
bridge_stp off
user@host:~$ uname -a
Linux hostname 3.4.9 #1 SMP Wed Aug 22 19:08:46 BST 2012 x86_64 GNU/Linux
ОБНОВИТЬ
Мне бы очень понравилось, если бы кто-то мог уточнить конфигурацию для меня, так как я также видел, что выше сконфигурировано с этим синтаксисом, поэтому я не понимаю, почему один из них предпочтительнее другого;
# Interface for guest VMs
auto eth1
allow-hotplug eth1
iface eth1 inet static
# Vlan 117 for guest 1
auto vlan 117
iface vlan111 inet static
vlan_raw_device eth1
# Guest 1 : NIC 1
auto br1.117
iface br1.117 inet manual
bridge_ports vlan117
bridge_stp off
ОТВЕТ
Я согласен с dyasny в топологии и с удовольствием использую следующий конфиг, аналогичный примеру Silopolis:
# Mangement Interafce
allow-hotplug eth0
# Guest Interface
allow-hotplug eth1
# Guest 1
allow-hotplug vlan116
# Guest 2
allow-hotplug vlan117
# Management
auto eth0
iface eth0 inet static
address 10.0.0.10
netmask 255.255.255.0
gateway 10.0.0.1
# Guest 1
auto vlan116
iface vlan116 inet manual
vlan_raw_device eth1
# Guest 2
auto vlan117
iface vlan117 inet manual
vlan_raw_device eth1
allow-hotplug br116
allow-hotplug br117
# Guest 1
auto br116
iface br116 inet manual
bridge_ports vlan116
bridge_stp off
# Guest 2
auto br117
iface br117 inet manual
bridge_ports vlan117
bridge_stp off
2 ответа
Насколько я понимаю инфраструктура конфигурации сети Debian, используя brX.YYY
не должен работать, так как это создаст псевдоинтерфейс VLAN "над" мостом, для которого только что добавлена поддержка в ядро: https://lwn.net/Articles/513710/
Вот вид конфигурации, который я использую:
# Bring up physical interface
iface eth0 inet manual
# Create VLAN interfaces
iface eth0.10 inet manual
vlan_raw_device eth0
iface eth0.20 inet manual
...
# Create bridges
auto vmbr10
iface vmbr10 inet static
address 10.10.10.81
netmask 255.255.255.0
#gateway 10.10.10.254
bridge_ports eth0.10
bridge_stp off
bridge_fd 0
auto vmbr20
iface vmbr20 inet static
address 10.10.20.81
...
Если вы хотите использовать объединенные / связанные интерфейсы:
- связать физические интерфейсы
- создать интерфейсы VLAN на интерфейсе bondX (bondX.YYY)
- используйте bondX.YYY как
bridge_ports
Я не слишком знаком с конфигами Debian, но то, что вы описываете, правильно
eth0 -> eth0.100 -> brvlan100 <- VM
Это способ настроить это. Для одной виртуальной машины это может выглядеть как суматоха, но с сотнями виртуальных машин вы увидите выгоду от этого.
Если вы хотите избежать этого, вы можете установить теги внутри самих виртуальных машин, что также работает, если мост подключен к транковому порту.