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.




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