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

Debian: следует ли добавить интерфейс vlan в мост для KVM?

Я настраиваю Debian Squeeze в качестве узла KVM. Я хочу добавить несколько интерфейсов для каждого гостя KVM, поэтому я хочу, чтобы они находились в разных VLAN.

Прочитав об этом, я считаю, что лучший метод - добавить несколько логических (под) -интерфейсов VLAN к физическим сетевым адаптерам, а затем создать адаптер моста для каждого взаимодействия VLAN и назначить каждый мост как сетевой адаптер для гостей 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

Я не слишком знаком с конфигами Debian, но то, что вы описываете, верно

eth0 -> eth0.100 -> brvlan100 <- ВМ

Вот как это настроить. Для одной виртуальной машины это может выглядеть как беспорядок, но с сотнями виртуальных машин вы почувствуете преимущества этого.

Если вы не хотите этого делать, вы можете установить теги внутри самих виртуальных машин, что также работает, если мост подключен к магистральному порту.

Насколько я понимаю инфраструктуру конфигурации сети 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