KVM - создайте виртуальную машину с интерфейсом 2 моста

Может кто-нибудь, пожалуйста, дайте мне знать, чтобы создать виртуальную машину, используя KVM с 2 мостовыми интерфейсами. У меня есть сервер, на котором настроены Eth0 и Eth1 и который подключен к 2 отдельным сетям. Я хотел бы создать виртуальную машину в этом физическом блейде, чтобы виртуальная машина была подключена к обеим сетям, чтобы мы могли контролировать сетевой трафик даже на уровне виртуальной машины., Прямо сейчас мы можем заставить ВМ подключаться только к br0, но как мне настроить br1? Ценю помощь!

В моем файле qemu xml у меня есть следующее:

1 ответ

Решение

У меня сработало следующее:

sudo virt-install -n virt64_01 -r 8192 \
--disk path=/media/newhd/virt64_01.img,bus=virtio,size=50 \
-c ubuntu-14.04.1-server-amd64.iso \
--network bridge=br0,model=virtio,mac=52:54:00:b2:cb:b0 \
--network bridge=br1,model=virtio \
--video=vmvga --graphics vnc,listen=0.0.0.0 --noautoconsole -v --vcpus=4

Примечание: я указываю MAC-адрес для BR0, потому что у меня уже есть это имя виртуальной машины на моем dhcp-сервере главного сервера и DNS, и я хочу избежать дополнительной работы для себя. Для BR1, мне было все равно во время установки, он получает настройки позже.

И для справки, вот файл /etc/network/interfaces на моем хост-компьютере Ubutuntu 14.04:

# 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

# Local network interface
auto br1
iface br1 inet static
 address 192.168.222.1
 network 192.168.222.0
 netmask 255.255.255.0
 broadcast 192.168.222.255
 bridge_ports eth1
 bridge_fd 9
 bridge_hello 2
 bridge_maxage 12
 bridge_stp off

# The primary network interface and bridge
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Теперь, после завершения установки, я вручную добавил гостевой eth1 в файл guest /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

# The primary network interface
auto eth0
iface eth0 inet dhcp

# Local network interface
auto eth1
iface eth1 inet static
 address 192.168.222.5
 network 192.168.222.0
 netmask 255.255.255.0
 broadcast 192.168.222.255

Обратите внимание, что НЕ указан шлюз для eth1. Если указан шлюз, то он сделает основной интерфейс и таблицу маршрутизации заполненной соответственно. (В моем случае, и для этого ответа, шлюз был поддельным, и все перестало работать, когда он был указан. Первоначально все было хорошо на хост-сервере с указанным поддельным шлюзом, но в конце концов он также изменился, чтобы использовать br1 в качестве основного интерфейса и все перестало работать, поэтому я полностью отредактировал его. Альтернативой, если требуется, является явное управление таблицей маршрутизации.)

А вот соответствующий раздел определяющего XML-файла (т. Е. Вы можете использовать virsh edit, чтобы вам не приходилось переустанавливать виртуальную машину):

<interface type='bridge'>
  <mac address='52:54:00:b2:cb:b0'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='bridge'>
  <mac address='52:54:00:d7:31:77'/>
  <source bridge='br1'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>

Редактировать:

Файлы host и guest /etc/network/interfaces для случая статического br0:

Ведущий:

doug@s15:~$ 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

# Local network interface
auto br1
iface br1 inet static
  address 192.168.222.1
  network 192.168.222.0
  netmask 255.255.255.0
  broadcast 192.168.222.255
  bridge_ports eth1
  bridge_fd 9
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off

# The primary network interface and bridge
auto br0
#iface br0 inet dhcp
iface br0 inet static
  address 192.168.111.112
  network 192.168.111.0
  netmask 255.255.255.0
  gateway 192.168.111.1
  broadcast 192.168.111.255
  dns-search smythies.com
  dns-nameservers 192.168.111.1
  bridge_ports eth0
  bridge_fd 9
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off

Quest:

doug@virt64-01:~$ 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

# Local network interface
auto eth1
iface eth1 inet static
  address 192.168.222.5
  network 192.168.222.0
  netmask 255.255.255.0
  broadcast 192.168.222.255

# The primary network interface
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
  address 192.168.111.213
  network 192.168.111.0
  netmask 255.255.255.0
  broadcast 192.168.111.255
  gateway 192.168.111.1
  dns-search smythies.com
  dns-nameservers 192.168.111.1

И таблица маршрутизации на хосте (как проверка):

doug@s15:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.111.1   0.0.0.0         UG    0      0        0 br0
192.168.111.0   0.0.0.0         255.255.255.0   U     0      0        0 br0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.222.0   0.0.0.0         255.255.255.0   U     0      0        0 br1
Другие вопросы по тегам