Hallo zusammen,

ich habe mir gerade eine KVM-Testumgebung mit Ubuntu 12.04.03 LTS (64Bit) aufgebaut. Mit einer gleichen Umgebung arbeite ich auch produktiv. Der Prinzipielle Aufbau ist immer gleich. Ich habe zwei physische NIC's im System und ich erzeuge die beiden Bridges:

- intern
- extern

Wobei intern, wie der Name unschwer vermuten lässt, für die Anbindung ans LAN ist und extern ins Internet führt. Die NIC's füge ich diesen Bridges hinzu:

eth0 -> intern
eth1 -> extern

Bisher habe ich die Konfiguration der Bridges immer im OS selbst durchgeführt d.h. alles in der /etc/network/interfaces konfiguriert.

Nun möchte ich die Bridge jedoch einmal komplett mit libvirt konfigurieren was ja, wenn ich die Dokumentation richtig verstehe, funktionieren sollte.

Hierzu erstelle ich zunächst die /etc/network/interfaces:
Code:
# The loopback network interface
auto lo
iface lo inet loopback


# eth0 ohne IP für Bridge Variante 1
auto eth0
iface eth0 inet manual
  up ifconfig eth0 0.0.0.0 promisc up
sowie die /etc/libvirt/qemu/networks/intern.xml:
Code:
<network>
  <name>intern</name>
  <uuid>77b879fa-4c04-0cb2-e58a-aef0673806a4</uuid>
  <bridge name="intern" />
  <forward mode="route" dev="eth0"/>
  <mac address="52:54:00:8F:05:DB"/>
  <ip address="192.168.100.1" netmask="255.255.255.0">
  </ip>
</network>
Das Netz "intern" setzte ich via virsh auf autostart und reboote das System. Danach zeigt mir ein ifconfig folgende Schnittstellen:

Code:
root@vmhost01:~# ifconfig 
eth0      Link encap:Ethernet  Hardware Adresse 68:05:ca:0f:81:2c  
          inet6-Adresse: fe80::6a05:caff:fe0f:812c/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metrik:1
          RX packets:192 errors:0 dropped:0 overruns:0 frame:0
          TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:22033 (22.0 KB)  TX-Bytes:24529 (24.5 KB)
          Interrupt:18 Speicher:fcfc0000-fcfe0000 

intern    Link encap:Ethernet  Hardware Adresse 52:54:00:8f:05:db  
          inet Adresse:192.168.100.1  Bcast:192.168.100.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:172 errors:0 dropped:0 overruns:0 frame:0
          TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX-Bytes:14661 (14.6 KB)  TX-Bytes:16033 (16.0 KB)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX-Bytes:1536 (1.5 KB)  TX-Bytes:1536 (1.5 KB)
Was für mein dafürhalten ja passt. Wenn ich mir allerdings die Bridge anschaue sehe ich dass das Interface eth0 fehlt:
Code:
root@vmhost01:~# brctl show
bridge name     bridge id               STP enabled     interfaces
intern          8000.5254008f05db       yes             intern-nic
Erst wenn ich ich dieses manuell hinzufüge:
Code:
root@vmhost01:~# brctl addif intern eth0
[...]
root@vmhost01:~# brctl show
bridge name     bridge id               STP enabled     interfaces
intern          8000.5254008f05db       yes             eth0
                                                        intern-nic
erreiche ich den Host aus dem LAN aus unter der 192.168.100.1. Die Zeile:
Code:
<forward mode="route" dev="eth0"/>
aus der der libvirt-Konfiguration sollte dies doch erledigen, oder? Wo habe ich einen Fehler?

Viele Grüße
pixel