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

Используйте одну сетевую карту для создания нескольких интерфейсов для Linux KVM

Я работаю над диссертационным исследовательским проектом, и мне трудно понять, как заставить одну сетевую карту порождать несколько «мостовых» интерфейсов, чтобы каждую виртуальную машину KVM можно было увидеть в локальной сети. Я новичок в KVM и все еще пытаюсь понять, на что он способен. Ниже приведен сценарий, который я пытаюсь создать (в системе CentOS / RHEL 6):

  1. Linux KVM Host имеет 1 NIC (eth0) подключен к коммутатору.
  2. Создайте несколько «мостов» или эквивалентных интерфейсов, порождаемых из eth0 это предоставит уникальный IP-адрес для каждой виртуальной машины. Это сделано для того, чтобы каждая виртуальная машина могла связываться с другими хостами в сети, а другие хосты в сети могли связываться с виртуальной машиной.
  3. ВАЖНЫЙ: Я хотел бы iptables на хосте KVM, чтобы иметь возможность манипулировать / контролировать / ограничивать трафик, который будет отправлен на эти «мостовые» интерфейсы.
  4. Я хотел бы создать как минимум три виртуальных машины, каждая из которых использует свой уникальный «мостовой» интерфейс.

Я ранее сделал br0 интерфейс выключен eth0, но, к сожалению, я не могу добавить к нему больше. Похоже, что вы можете подключить к сетевой карте только 1 интерфейс. Я хотел бы связать многих с одним.

Был бы tap устройство сможет это сделать? Если да, то как его настроить?

По сути, я пытаюсь воспроизвести то, что можно легко создать с помощью VirtualBox в Windows, где каждой виртуальной машине предоставляется «мостовой» интерфейс и она может жить в сети. Я хочу добиться того же самого с Linux KVM.

Спасибо

РЕДАКТИРОВАТЬ: Чтобы быть более наглядным, я хочу добиться примерно следующего:

Это можно найти на этой странице: http://en.gentoo-wiki.com/wiki/KVM#Networking_2

              HOST
        +---------------+
        |               |      KVM GUEST1
        |               |   +--------------+
        |  +------+     |   |              |
 LAN ---+--- eth0 |  +--+---+---- nic0     |      KVM GUEST2
        |  | tap0----+  |   |192.168.1.13  |   +--------------+
        |  | tap1----+  |   +--------------+   |              |
        |  +------+  |  |                      |              |
        |     br0    +--+----------------------+---- nic0     |
        |192.168.1.12   |                      |192.168.1.14  |
        +---------------+                      +--------------+

Вы создаете один мост поверх eth0 и подключаете виртуальные сетевые адаптеры вашей виртуальной машины к этому мосту. Посмотрите на мост как на виртуальный узел, чтобы упростить понимание концепции.