openwrt | OpenWRT als VM

Wie ich schon geschrieben hatte, bin ich ein Fan des OpenWRT-Projektes. Um die Neuerungen schneller nutzen zu können, wie zum Beispiel die Weboberfläche für OpenVPN, kompiliere ich mir in unregelmäßigen Abständen selbst eine neue Firmware um diese auf meinen ASUS-Router auszuprobieren. Ich habe aber leider nur den einen Router und mit dem Flashen und anschließendem Neukonfigurieren ist natürlich auch meine Internetleitung tot. Da man OpenWRT nicht nur auf kleinen Hardware-Routern sondern z.B. auch auf x86-Plattformen laufen lassen kann, probiere ich gerade mal aus was man machen muss um OpenWRT als virtuelle Maschine laufen zu lassen.

Zuerst muss man auf der Maschine, die die Firmware kompiliert, neben den schon beschrieben Voraussetzungen noch die Programme nachinstallieren, die nach der fertigen Kompilierung der Pakete diese als fertiges VM-Image zusammenbauen. Es gibt folgende Image-Versionen, die gebaut werden können:

Soll das fertige Image in VirtualBox laufen, dann muss folgendes gemacht werden:

Neue Quelle für APT/Aptitude

echo "deb http://download.virtualbox.org/virtualbox/debian lenny non-free" >> /etc/apt/sources.list

Herunterladen des public keys

wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | apt-key add -

Aktualisieren der Paketliste

aptitude update

Installieren von VirtualBox

aptitude install virtualbox

Aber Achtung: Bei einem frischen Debian Lenny wurden 171MB heruntergeladen, da viele zusätzliche Pakete benötigt wurden.

Soll das spätere Image unter VMware laufen dann muss Qemu installiert werden:

aptitude install qemu

Nun kann mit

make menuconfig

sich wie gewünscht das Firmware Image zusammenbauen.

Am Besten arbeitet man sich von oben nach unten.

Als target system wählt man x86 aus, subtarget und target profile bleiben auf Generic. Bei target images muss man sich entscheiden, wofür man das Image braucht: VMware oder VirtualBox.

Anschließend müssen noch die OpenWRT-Pakete ausgewählt und beim Beenden des Programms die Konfiguration gespeichert werden. Danach

make

ausgeführt. Nach einer langen Zeit liegt im Unterverzeichnis bin eine Verzeichnis mit dem x86-Image. Dieses Image kann man sich auf seinen Rechner kopieren. Wie man eine virtuelle Maschine für OpenWRT zu erstellt möchte ich am Beispiel von VMware Fusion zeigen.

Mit dem Erstellen einer neuen VM öffnet sich der Assistent

Mit dem Fortfahren „Ohne Datenträger“ öffnet sich eine Dialog zur Auswahl des gerade kompilierten Images

Als Nächstes gibt man das zu installierende Betriebssystem an

Anschließend kann man die Einstellungen der VM noch anpassen.

RAM

allzu viel RAM braucht OpenWRT nicht und man möchte es ja so reel wie möglich machen.

Netzwerkkarten

Hier kommt es auf die Reihenfolge an, da OpenWRT die erste Netzwerkkarte als eth0 für LAN und die zweite als eth1 für WAN nimmt.

Je nach Reihenfolge sieht die Zuordnung wie folgt aus:

Meine VM sieht abschließend so aus

Nun kann man die VM das erste Mal starten.

Nun muss zuerst die Netzwerkkonfiguration vorgenommen werden:

uci delete network.lan.ipaddr

uci delete network.lan.netmask

uci set network.lan.proto=dhcp

uci commit network

Nun kann man vom Host-Computer aus auf die OpenWRT-VM zugreifen.

Ein Gedanke zu „openwrt | OpenWRT als VM

  1. Pingback: openwrt | OpenVPN mit Weboberfläche unter OpenWRT | controlc.de

Schreibe einen Kommentar

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