KVM unter Ubuntu Linux 16.04 installieren und Bridged networking konfigurieren

KVM ist eine Virtualisierungstechnik für Linux, welche die Hardwarevirtualisierung aktueller Intel und AMD Prozessoren nutzt und Teil des Linux-Kernels ist. Ich verwende KVM für meine virtuellen Maschinen. In diesem Beitrag beschriebe ich wie KVM unter Ubuntu Linux 16.04 installiert sowie Bridged networking konfiguriert werden kann. Mit Bridged networking kann jeder virtuellen Maschine ein eigenes virtuellen Netzwerk Interface zugewiesen werden, welches die VM nach außen als eigenen Host darstellt.

KVM Unterstützung prüfen

Mit nachfolgendem Befehl kann geprüft werden, ob Hardwarevirtualisierung von der verwendeten CPU unterstützt wird. Falls eine Zahl größer 0 zurückgegeben wird ist dies der Fall.

$ egrep -c '(vmx|svm)' /proc/cpuinfo
8

Installieren

Das Installieren der notwendigen Pakete erledige ich in zwei Schritten. Da in den empfohlenen Paketen von virtinst eine Abhängigkeit zum Paket x11-common vorhanden ist, welches ich nicht auf einem Server installieren möchte. Deshalb installiere ich zuerst alle Pakete bis auf virtinst – im ersten Befehl werden außerdem die empfohlenen Pakete von virtinst ohne dass mit der Abhängigkeit zu x11-common installiert. Anschließend installiere ich virtinst ohne die empfohlenen Pakete.

$ sudo apt-get install qemu-kvm libvirt-bin bridge-utils cpu-checker python-ndg-httpsclient python-openssl python-pyasn1
$ sudo apt-get install virtinst --no-install-recommends

Installation überprüfen

Bevor neue Virtuellen Maschinen erstellt werden sollte die KVM Installation noch mit nachfolgendem Befehl überprüft werden.

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

Nun kann KVM verwendet werden.

Bridged networking Konfigurieren

Jetzt sollte noch Bridget networking konfiguriert werden. Es ermöglicht, dass jede Virtuelle Maschine ein eigenes virtuelles Netzwerk Interface nach außen bekommen kann und somit auch eine eigene IP Adresse. Um es zu Konfigurieren muss die Datei /etc/network/interfaces bearbeitet werden. Falls z.B. eth0 für Bridged networking genutzt werden soll muss die Konfiguration für eth0 durch nachfolgende ersetzt werden.

[...]
auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
iface br0 inet6 auto

Nachdem die Konfiguration angepasst wurde sollte der Server einmal neu gestartet werden, damit die Änderungen übernommen werden.

$ sudo reboot

Nun sollte bereits Bridged networking aktiv sein.

$ ifconfig
br0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.xxx.xxx Bcast:192.168.xxx.xxx Mask:255.255.255.0
inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Global
inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:157 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19452 (19.4 KB) TX bytes:6871 (6.8 KB)

eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:168 errors:0 dropped:0 overruns:0 frame:0
TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22588 (22.5 KB) TX bytes:7519 (7.5 KB)
Memory:df100000-df11ffff

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:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:11840 (11.8 KB) TX bytes:11840 (11.8 KB)

virbr0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Zusätzlich zu br0 wurde das Interface virbr0 erstellt, welches den Virtuellen Maschinen Netzwerkzugriff über NAT erlaubt. Es hat standardmäßig die IP-Adresse 192.168.122.1.

One thought to “KVM unter Ubuntu Linux 16.04 installieren und Bridged networking konfigurieren”

  1. Hallo Carsten,
    eine sehr gute Anleitung, vor allen die Netzwerkkonfiguration hat mir geholfen.
    Die Umsetzung hat auf meinem HPE Microserver sofort funktioniert.
    Vielen Dank dafür.
    Gruß, Rolf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.