Vraag KVM - Maak een virtuele machine met 2 bruggeninterfaces


Kan iemand me dit laten weten om een ​​VM te maken met behulp van KVM met 2 gekoppelde interfaces. Ik heb een server waarop Eth0 en Eth1 zijn geconfigureerd en maakt verbinding met twee afzonderlijke netwerken. Ik wil graag een VM maken binnen deze fysieke blade zodat de VM wordt overbrugd naar beide netwerken, zodat we netwerkverkeer zelfs op VM-niveau kunnen regelen . Op dit moment kunnen we alleen de VM laten verbinden met br0, maar hoe zou ik een br1 configureren? Waardeer de hulp!

In mijn qemu xml-bestand, heb ik het volgende:


3
2018-02-04 22:00


oorsprong




antwoorden:


Het volgende werkte voor mij:

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

Opmerking: ik geef het MAC-adres voor BR0 op omdat ik die VM-naam al op mijn hoofdserver dhcp-server en DNS heb staan ​​en ik wil meer werk voor mezelf voorkomen. Voor BR1 kon het mij tijdens de installatie niet schelen, het wordt later ingesteld.

En ter referentie, hier is het bestand / etc / network / interfaces op mijn Ubutuntu 14.04-serverhostcomputer:

# 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

Nu, nadat de installatie is voltooid, heb ik de guest eth1 handmatig aan het guest / etc / network / interfaces-bestand toegevoegd:

# 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

Merk op dat er is NIET een gateway gespecificeerd voor eth1. Als er een gateway wordt opgegeven, worden de primaire interface en de routeringstabel dienovereenkomstig ingevuld. (In mijn geval, en voor dit antwoord, was de gateway nep en dingen stopten met werken toen het werd opgegeven.In eerste instantie waren dingen ook goed op de hostserver met een nep-gateway gespecificeerd, maar uiteindelijk veranderde het ook in het gebruik van br1 als primaire interface en dingen zijn gestopt met werken, dus heb ik het volledig uitgewerkt. Het alternatief, indien nodig, is om de routeringstabel expliciet te beheren.)

En hier is de relevante sectie van het definiërende xml-bestand (dat wil zeggen dat je virsh edit kunt gebruiken, zodat je je VM niet opnieuw hoeft te installeren):

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

Bewerk:

De host en guest / etc / network / interfaces-bestanden voor de statische br0-behuizing zijn:

Host:

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

Zoektocht:

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

En de routeringstabel op de host (als een controle):

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



Bedankt Doug, dit was erg nuttig en ik ben nu heel dichtbij :) Eén vraag, mijn beide bridge-verbindingen maken gebruik van statische IP's. Kunt u uw br0 configureren met een statische ip in plaats van DHCP? Ik voel me alsof dit is waar dingen voor mij afbreken. - Shailan
statische br0-behuizing werkt voor mij tot nu toe. Ik heb wat details toegevoegd aan mijn oorspronkelijke antwoord. - Doug Smythies
Voor de statische br0-zaak werkte DNS niet op de host of de gast. Ik heb mijn antwoord, de br0 statische case, aangepast voor de benodigde DNS-dingen voor het voorbeeld van mijn interne netwerk. - Doug Smythies
Bedankt :) Dit werkte als een charme, ik kan niet eens beginnen te vertellen hoe dankbaar ik ben, waardeer echt je hulp !!! - Shailan