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

04/12/2013 - 15:00 von Christian Schoepplein | Report spam
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.

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


Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german-REQUEST@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl)
Archive: http://lists.debian.org/20131204135649.GA31772@vs.cs-x.de
 

Lesen sie die antworten

#1 Harald Weidner
04/12/2013 - 16:20 | Warnen spam
Hallo,

Christian Schoepplein :

ich habe einen Host mit dem neusten Ubuntu auf dem ich gern ein mit KVM
virtualisiertes Ipfire betreiben würde.

- 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



iface br0 inet static
[...]
broadcast 192.168.1.255 gateway 192.168.1.100



Das sollte in zwei getrennten Zeilen stehen.

Ansonsten sieht die Konfiguration gut aus.

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



Das hast du bereits getan, indem br1 auf dem Host keine IP-Adresse hat.
Wenn es nicht noch eine IPv6 Adresse bekommen hat (prüfen mit ifconfig eth1),
dann kann kein Benutzer außer root irgend etwas damit machen.

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?



Prinzipiell geht das. Siehe
http://www.linux-kvm.org/page/USB_H...d_to_Guest
Dabei wird aber ein USB Device emuliert, der Gast benötigt entsprechende
Treiber und die Performance sinkt gegenüber einem Netzwerkdevice mit
virtio-net.

Ein Sicherheitsgewinn ist es nicht. Denn wenn ein Angreifer root auf
dem Host geworden ist, kann er einfach die VM beenden und das Device
selber nutzen.

Gruß, Harald


Zum AUSTRAGEN schicken Sie eine Mail an
mit dem Subject "unsubscribe". Probleme? Mail an (engl)
Archive: http://lists.debian.org/l7ngv6$ukl$

Ähnliche fragen