Вопрос KVM - создание виртуальной машины с двумя интерфейсами мостов


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

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


3
2018-02-04 22:00


происхождения




ответы:


Следующие работали для меня:

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, так что вам не нужно переустанавливать вашу виртуальную машину):

<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>

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

Файлы хоста и гостевой / 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

4
2018-02-04 23:51



Спасибо Doug, это было очень полезно, и я сейчас очень близко :) Один вопрос: оба моих мостовых соединения используют статические IP-адреса. Можете ли вы настроить свой br0, используя статический ip вместо DHCP? Я чувствую, что это то, что меня разрушает. - Shailan
статический случай br0 работает для меня, до сих пор. Я добавил некоторые детали к моему первоначальному ответу. - Doug Smythies
Фактически, для статического случая br0 DNS не работал ни на хосте, ни на гостя. Я отредактировал мой ответ, статический случай br0, для нужного материала DNS для примера моей внутренней сети. - Doug Smythies
Спасибо. Это сработало как шарм, я даже не могу рассказать вам, как я благодарен, очень ценю вашу помощь !!! - Shailan