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: