In den letzten Versionen von Gluon und dem Sprung zu LEDE hat sich viel beim Thema Virtualisierung getan. Die Informationen auf dieser Seite sind daher nur noch teilweise gültig.

Eine Aktuelle Anleitung für Hyper-V ist unter Virtualisiertes Gluon 2017 auf Hyper-V zu finden.

Für KVM und andere gibt es keine aktuelle Anleitung. Gerne kannst du der erste sein, der diese erstellt (Zwinkern)


Gluon kann nicht nur auf Routern installiert werden, sondern kann auch virtualisiert in KVM, VirtualBox oder VMware laufen. In diesem Artikel wird gezeigt, wie man sich selbst ein Image für KVM und VirtualBox erstellt und dieses startet. Diese Konfiguration kann zum Beispiel zur Beschleunigung des VPNs genutzt werden, da x86-CPUs eine deutlich höhere Rechenleistung haben als die MIPS-Kerne in den Routern.

Erstellen der Images

Update 28.06.2015

x86-Images sind mit Version 2015.1.1 nun im experimental und zeitnah auch im stable verfügbar. Somit muss das Image nicht mehr wie unten beschrieben manuell erstellt werden.

Da Gluon v2014.4 die x86-Plattform noch nicht unterstützt, muss der aktuelle Master Branch selbst kompiliert werden.
Dazu wird ein beliebiges Linux mit installiertem Git und Subversion benötigt.

Zunächst muss das Freifunk Münster site-ffms Repository geklingt werden.

git clone https://github.com/FreiFunkMuenster/site-ffms.git

Anschließend wird noch das aktuelle Gluon benötigt:

cd site-ffms
git clone https://github.com/freifunk-gluon/gluon.git

Anders als für normale Images, nutzt man nun den Master Branch. Dieser sollte standardmäßig aktiviert sein, zur Sicherheit noch

git checkout master

Nun muss die Münsterraner Konfiguration ins Gluon kopiert werden.

cd ..
rm -r gluon/site/*
cp site.conf site.mk modules gluon/site/

Nun kann kompiliert werden. Da dieser Prozess lange dauert, empfiehlt es sich mit -jX Multithreadding zu aktivieren. X steht dabei für die Anzahl der von der CPU unterstützten Threads. Sollte diese Info nicht bekannt sein, kann sie mit

cat /proc/cpuinfo |grep processor|wc -l

ermittelt werden. Im folgenden mit 8 Threads.

Derzeit gibt es zwei relevante Targets. Für VirtualBox und KVM ohne virtio wird das Target x86-generic verwendet. Für KVM mit virtio gibt es das Target x86-kvm_guest. VirtualBox mit virtio wird derzeit (bis Commit ce09313) nicht unterstützt.

cd gluon
make -j8 update GLUON_RELEASE=master GLUON_TARGET=x86-kvm_guest
make -j8 clean GLUON_RELEASE=master GLUON_TARGET=x86-kvm_guest
make -j8 V=s GLUON_RELEASE=master GLUON_TARGET=x86-kvm_guest

Wenn das Kompilieren ohne Fehler durchläuft, liegt anschließend das Image in site-ffms/gluon/images/factory.

KVM mit Virtio

Im virt-manager eine neue Maschine auf Basis eines bestehenden Abbilds anlegen (unterste Option). Wichtig ist: Die Einstellungen der virtualisierten Hardware müssen vor dem ersten Booten des virtualisierten Gluons korrekt sein. Ansonsten initialisieren sich die Netzwerkeinstellungen nicht korrekt und das Image muss gelöscht werden, da firstboot nur in Kombination mit Overlays funktioniert.

Daher muss bei „Konfiguration vor Installation“ das Häkchen gesetzt werden. Folgende Anpassungen sind erforderlich:

  • Prozessor auf i386 stellen
  • 50 MB Hauptspeicher sind mehr als ausreichend
  • Festplattentreiber auf virtio umstellen
  • Netzwerktreiber auf virtio umstellen
  • Netzwerk als Bridge zum Host konfigurieren (dazu muss Qemu/KVM als root laufen)

KVM ohne Virtio

Genau wie mit virtio, allerdings für den Festplattentreiber auf IDE stellen und die Netzwerkkarte auf etwas beliebiges außer virtio gestellt werden. Auch hier ist entscheidend, dass die Einstellungen vor dem ersten Bootvorgang korrekt sind, sonst ist das Image defekt und muss gelöscht werden.

Virtualbox (nur ohne Virtio)

Eine neue Maschine anlegen und dort dann auf vorhandene Festplatte importieren klicken und das von make angelegte vdi importieren. Auch hier wieder die Netzwerkkonfiguration auf Bridge stellen.

Virtualisiertes Gluon konfigurieren

Um das virtualisierte Gluon zu konfigurieren, müssen folgende Befehle in die VM getippt werden. Achtung: Das Tastaturlayout kann amerikanisch sein. Folgende Befehle sind erforderlich:

uci set gluon-setup-mode.@setup_mode[0].configured=1
uci set fastd.mesh_vpn.enabled=1
uci set network.mesh_lan.auto=1
uci set system.@system[0].hostname=Knotenname
uci commit gluon-setup-mode
uci commit fastd
uci commit network
uci commit system
reboot


Abschließend muss am Freifunkrouter ebenfalls Mesh-on-Wan aktiviert werden und Mesh-on-VPN deaktiviert werden.

  • Keine Stichwörter