it-swarm.com.de

KVM - Erstellen Sie eine virtuelle Maschine mit 2 Bridges-Schnittstellen

Kann jemand mich bitte informieren, um ein VM zu verursachen, das KVM mit 2 überbrückten Schnittstellen verwendet. Ich habe einen Server, auf dem Eth0 und Eth1 konfiguriert sind und der eine Verbindung zu zwei separaten Netzwerken herstellt. Ich möchte in diesem physischen Blade ein VM erstellen, damit das VM mit beiden Netzwerken verbunden wird damit wir den Netzwerkverkehr auch auf der Ebene VM steuern können. Im Moment können wir nur die Verbindung von VM zu br0 herstellen, aber wie würde ich eine br1 konfigurieren? Schätzen Sie die Hilfe!

In meiner QEMU-XML-Datei habe ich Folgendes:

5
Shailan

Folgendes hat für mich funktioniert:

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

Hinweis: Ich gebe die MAC-Adresse für BR0 an, da ich diesen VM -Namen bereits in meinem Hauptserver, dhcp-Server und DNS habe und mehr Arbeit für mich selbst vermeiden möchte. Bei BR1 war es mir während der Installation egal, es wird später eingerichtet.

Als Referenz finden Sie hier die Datei/etc/network/interfaces auf meinem Ubutuntu 14.04-Server-Host-Computer:

# 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

Nachdem die Installation abgeschlossen ist, habe ich den Gast eth1 manuell zur Datei guest/etc/network/interfaces hinzugefügt:

# 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

Beachten Sie, dass für eth1 NOT ein Gateway angegeben ist. Wenn ein Gateway angegeben wird, werden die primäre Schnittstelle und die Routing-Tabelle entsprechend ausgefüllt. (In meinem Fall und für diese Antwort war das Gateway gefälscht und es funktionierte nicht mehr, als es angegeben wurde. Anfangs war es auch auf dem Host-Server mit einem angegebenen gefälschten Gateway in Ordnung, aber schließlich wurde auch br1 als primäre Schnittstelle verwendet und die Dinge haben aufgehört zu funktionieren, daher habe ich sie komplett überarbeitet. Die Alternative ist, falls erforderlich, die Routing-Tabelle explizit zu verwalten.)

Und hier ist der relevante Abschnitt der XML-Definitionsdatei (d. H. Sie können möglicherweise virsh edit verwenden, damit Sie Ihre VM nicht erneut installieren müssen):

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

Bearbeiten:

Die Dateien Host und Gast/etc/network/interfaces für den statischen Fall br0 lauten:

Wirt:

[email protected]:~$ 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

Suche:

[email protected]:~$ 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

Und die Routing-Tabelle auf dem Host (zur Kontrolle):

[email protected]:~$ 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
5
Doug Smythies