[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Frage bzgl. Netzwerk und virtuellen Maschinen mit KVM bzw. libvirt



Hallo zusammen,

ich habe einen Host mit dem neusten Ubuntu auf dem ich gern ein mit KVM 
virtualisiertes Ipfire betreiben würde. Es geht hauptsächlich darum 
Ipfire mal richtig anzuschauen und auszuprobieren, falls es was für mich 
ist, würde ich es wahrscheinlich auf eine eigene stromsparende Hardware 
packen.

Leider klappt jedoch die Einrichtung des Netzwerkes nicht so ganz, mir 
ist nicht so richtig klar was ich auf dem Host und auch für den 
Ipfire-Gast netzwerkmäßig tun muss, damit alles funktioniert wie ich es 
möchte.

Die Voraussetzungen sind:

- Der Host hat zwei Netzwerkkarten, eth0 ist eine PCI Karte, eth1 ein 
per USB angeschlossener Netzwerkadapter
- eth0 soll als Karte für das interne Netzwerk dienen, also auf Host und 
Gast, eth1 soll lediglich im ipfire-Gast die Internetverbindung 
bereitstellen und am besten auf dem Host überhaupt nicht ansprechbar 
sein
- Auf dem Host läuft das aktuelle Ubuntu (Saucy Salamander), qemu-kvm, 
libvirt, virsh usw. sind installiert, virtuelle Maschinen (vom Typ kvm) 
lassen sich starten.

Problematisch ist also nur die Netzwerkkonfiguration, erschwerend kann 
ich keine grafischen Oberflächen zum einrichten der virtuellen Maschinen 
bzw. zum verwalten der xml-Files von libvirt nutzen, da ich blind bin 
und diese Oberflächen nicht bedienen kann.

Was habe ich bis jetzt gemacht bzw. wie habe ich mir die Einrichtung des 
Netzwerkes vorgestellt:

- eth0 und eth1 sind konfiguriert und jeweils einzeln an ein 
Bridge-Device (br0 bzw. br1) gebunden.

----- /etc/network/interfaces -----
auto lo
iface lo inet loopback

auto eth0 
iface  eth0 inet manual 

auto br0 
iface br0 inet static 
  bridge_ports eth0
  bridge_fd 9 
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off
  address 192.168.1.7
  netmask 255.255.255.0
  broadcast 192.168.1.255 gateway 192.168.1.100

auto eth1
iface  eth1 inet manual

auto br1
iface br1 inet dhcp
  bridge_ports eth1
  bridge_fd 9
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off
----------

  br0 und br1 werden so konfiguriert, beide Interface sind in meinem 
Netz 192.168.1.0/24 erreichbar.
- Beim Einrichten des Ipfire-Gastes mit kvm gebe ich mittels der 
Optionen "-net nic,vlan=0 -net,vlan1" beide Netzwerkkarten an, ich sehe 
so während der Installation die beiden Karten und kann sie entsprechend 
zuordnen (eth0 bzw. br0 wird im Ipfire green0, eth1 bzw. br1 wird im 
Ipfire red0). Die Einrichtung klappt soweit, Ipfire lässt sich so 
installieren und ich kann die VM nachher auch über die interne IP, die 
ich für green0 vergeben habe, ansprechen.

Was mir jetzt nicht klar ist und wofür ich einfach auch keine Lösung im 
Netz finde, vielleicht bin ich aber auch nur zu doof zum Googlen:

- Wie muss das XML-File für den ipfire-Gast aussehen, das ich zum 
anlegen der entsprechenden Domain in libvirt brauche? Ich würde die VM 
gerne mittels libvirt verwalten und kann, wie geschrieben, keine 
grafische Oberfläche verwenden, um mir eine entsprechende Konfiguration 
zurecht zu klicken? Ich habe eine Konfiguration mit zwei Interfaces vom 
Typ Bridge erstellt und als Source br0 oder br1 angegeben, damit bekomme 
ich auch in der virtuellen Maschine beide Interfaces angezeigt, 
allerdings klappt dann nicht mehr der Zugriff über das Netz :-(.
- Wie kann ich auf dem Host eth1 bzw. br1 so einrichten oder 
einschränken, dass das echte Device (wie geschrieben ein 
USB-Netzwerk-Adapter) nur im virtuellen Ipfire verwendet werden kann? 
Ich habe irgendwo gelesen, dass Hardware direkt an eine virtuelle 
Maschine durchgereicht werden kann und so auf dem Host nicht mehr 
verwendbar ist, stimmt das und geht das auch für USB-Geräte? Und wenn 
ja, wie gebe ich das für kvm bzw. später auch im XML-File für libvirt 
an?
-  Ob später das Routing ins Internet usw. klappt, kann ich jetzt noch 
nicht sagen, da ich so weit leider noch nicht komme, aber wenn ich hier 
was beachten sollte, wäre ich für Hilfe und Hinweise dankbar.

OK, hoffentlich konnte ich mein Problem und das was ich vorhabe 
einigermaßen verständlich beschreiben und hoffentlich ist es OK, wenn 
ich so etwas hier in eine Debian-Liste poste, wo ich in diesem Fall ja 
gar kein Debian einsetze und leider auf dem Host auf Ubuntu 
zurückgreifen muss :-(.

Ciao und danke,

  Schöpp

-- 
Christian Schoepplein - <chris (at) schoeppi.net> - http://schoeppi.net


Reply to: