KVM überbrückte Netzwerkprobleme

KVM überbrückte Netzwerkprobleme

Warnung für Anfänger: Ich habe keine Ahnung von Virtualisierung, daher könnte es dafür eine lächerlich einfache Lösung geben ...

Ich versuche, eine virtuelle Maschine mit KVM auf Ubuntu 14.04.1 LTS als Host auszuführen.
Der Benutzerfreundlichkeit halber baue ich die VM mit vmbuilder.
Ich möchte, dass Host und Gast jeweils ihre IP-Adresse von einem bereits vorhandenen, separaten DHCP-Server erhalten.
-> Ich glaube, ich brauche dafür eine Netzwerkbrücke.

Ich habe es geschafft, eine VM mit NAT einzurichten und auszuführen, aber der Wechsel zu Bridged Networking bringt mich nicht weiter. Ich kann die VM erstellen und hochfahren, aber ich sehe keinen ARP-Eintrag oder Datenverkehr von der MAC-Adresse des Gasts, also habe ich keine Ahnung, welche IP ihr zugewiesen ist.

Damit bleibt für mich folgende Frage, für deren Beantwortung bzw. Hinweise ich sehr dankbar wäre:

  1. Habe ich bei der Netzwerkkonfiguration etwas vermasselt?
  2. Wie finde ich heraus, welche IP-Adresse meinem Gast zugewiesen wurde?

Vielen Dank!

So baue ich die VM:

kidmose@radagast:~$ sudo vmbuilder kvm ubuntu -o \
--hostname vm-bridged \
--libvirt qemu:///system \
--addpkg openssh-server \
--destdir=./virtual-machines \
--flavour virtual \
--bridge br0 \
--suite precise

kidmose@radagast:~$ cat /etc/netzwerk/schnittstellen

# 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 em1
# iface em1 inet dhcp

# Bridged network interface
auto br0
iface br0 inet dhcp
      bridge_ports em1
      bridge_stp off

kidmose@radagast:~$ brctl zeigen

bridge name bridge id       STP enabled interfaces
br0     8000.c81f66cce0eb   no      em1
                            vnet0
virbr0      8000.000000000000   yes     

kidmose@radagast:~$ ifconfig

br0       Link encap:Ethernet  HWaddr c8:1f:66:cc:e0:eb  
          inet addr:10.20.12.216  Bcast:10.20.12.255  Mask:255.255.255.0
          inet6 addr: fe80::ca1f:66ff:fecc:e0eb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3239 errors:0 dropped:0 overruns:0 frame:0
          TX packets:430 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:493254 (493.2 KB)  TX bytes:54832 (54.8 KB)

em1       Link encap:Ethernet  HWaddr c8:1f:66:cc:e0:eb  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3269 errors:0 dropped:0 overruns:0 frame:0
          TX packets:449 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2648215 (2.6 MB)  TX bytes:58759 (58.7 KB)
          Interrupt:16 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

virbr0    Link encap:Ethernet  HWaddr 62:dc:74:f4:4d:69  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vnet0     Link encap:Ethernet  HWaddr fe:54:00:ce:0a:3c  
          inet6 addr: fe80::fc54:ff:fece:a3c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:2143 (2.1 KB)  TX bytes:50735 (50.7 KB)

kidmose@radagast:~$ virsh dumpxml vm-bridged

<domain type='kvm'>
  <name>vm-bridged</name>
  <uuid>3d2fa61d-81ed-420b-afd3-00584b5ac116</uuid>
  <memory unit='KiB'>131072</memory>
  <currentMemory unit='KiB'>131072</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/kidmose/virtual-machines/tmpAQAZpr.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:ce:0a:3c'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
</domain>

Antwort1

Es stellte sich heraus, dass die unterschiedlichen MACs das wichtige Detail waren:
Vnet0 ist offenbar eine Tap-Schnittstelle, die auf dem Host benötigt wird.
Die MAC-Adresse von virsh dumpxml vm-bridgedist die richtige.
http://www.redhat.com/archives/libvir-list/2012-June/msg01330.html

Alles hat einwandfrei funktioniert, aber ich habe nach der IP gesucht, fe:54:00:ce:0a:3cobwohl ich eigentlich nach suchen sollte 52:54:00:ce:0a:3c.

Ich bin immer noch etwas verwirrt, dass nichts angezeigt wird, arpaber das ist nur ein Hinweis darauf, dass ich mehr über Linux-Netzwerke lesen muss :)

verwandte Informationen