Foto-Ruhrgebiet - stock.adobe.co
So setzen Sie OpenWrt als virtuellen Router ein
OpenWrt gilt als stabile und weit verbreitete Plattform für das Routing. Ohne größere Schwierigkeiten lässt sich das System auch in einer virtuellen Maschine betreiben.
Ein sehr bekannter und gleichzeitig verbreiteter Router seit den frühen 2000er Jahren ist der WRT54G von Linkysys. Neben einem integrierten vier Port-Switch bietet der Router einen Wireless Access Point und eignet sich so für die Internetanbindung für mehrere Clients – sowohl über kabelgebundenes Ethernet als auch per WLAN. Es sind aber nicht die Hardwareeigenschaften, die dem kleinen in blau/schwarzem Kunststoff gefertigten Router zu einem solch langen Produktlebenszyklus verhilft, sondern dies ist der Tatsache geschuldet, dass der Quelltext der Firmware, zumindest bis zur Version 4.0, unter General Public License (GPL) veröffentlicht werden musste. Darauf aufbauend entstanden verschiedene alternative Firmwares – darunter OpenWrt.
OpenWrt selbst ist eine Linux-Distribution für Embedded Systems wie beispielsweise Router oder Mini-Computer. Es ist für viele gängige Router verfügbar, eine Liste mit unterstützten Geräten finden sie hier.
OpenWrt verfügt über ein voll beschreibbares Dateisystem und enthält einen von Debians dpkg abgewandelten Paketmanager mit Namen opkg. Es existieren rund 4.000 Softwarepakete, die der Administrator bei Bedarf hinzuinstallieren kann, um gewünschte Features einzurichten, die die eigentliche Firmware des Geräteherstellers nicht unterstützt. OpenWrt Buildroot, das Werkzeug zum Erstellen eigener Images, ist ein stark modifiziertes klassisches Buildroot. LuCI, die grafische Oberfläche für OpenWrt, wurde im November 2008 zur Version 7.09 erstmalig bereitgestellt und ermöglicht dem Anwender eine Vielzahl von Konfigurations- und Administrationsaufgaben direkt über den Browser auszuführen.
OpenWrt läuft auf vielen verschiedenen Umgebungen, abhängig von der jeweiligen Architektur. Auf ältere Hardware muss mitunter eine ältere Version aufgespielt werden, da die Systemanforderungen für eine jüngere Version nicht eingehalten werden können. Die Version 10 – Codename Backfire – arbeitet auf Basis von Linux-Kernel 2.6.32 LTS. Attitude Adjustment (12.09), Barrier Breaker (14.07) und Chaos Calmer (15.05.x) fußen auf dem Linux Kernel 3.x. Die Folgeversion 18 benötigt einen Kernel 4.9.
Einrichtung unter VMware
Das Ziel unserer Betrachtung lag darin, einen OpenWrt-Router als virtuelle Maschine möglichst abgetrennt vom eigentlichen Netzwerk, quasi in der Sandbox, in Ruhe anschauen zu können. Idealerweise kommen für ein solches Vorhaben die VMware Workstation, Fusion oder ESXi zum Einsatz. Zunächst heißt es, eine OpenWrt-Maschine unter VMware in Betrieb zu nehmen. Das ist glücklicherweise mit wenigen Mausklicks erledigt, da es unter http://static.winitpro.de/openwrt15cc.ova eine vorgefertigte VM im OVA-Format gibt (Suchbegriff „openwrt15cc.ova“). Diese basiert auf OpenWrt 15.05.1 (Chaos Calmer) – das ist zwar nicht die aktuelle Version, jedoch ist diese für alle Versuchsstellungen noch neu genug. Eine Aktualisierung innerhalb der 15er-Firmware ist durch den Download des passenden Images möglich, nicht jedoch die Aktualisierung im Sinne eines Versionsschritts – alle unsere Versuche diesbezüglich mündeten in einer Endlosschleife von Neustarts der virtuellen Maschine.
Durch den Import der OVA-Datei entsteht eine virtuelle Maschine mit einer vCPU, einem GByte RAM und einer virtuellen IDE-Festplatte mit 52,5 MByte Kapazität. Zunächst ist eine virtuelle NIC eingebunden, die über NAT auf das Netzwerk zugreift. Für einen ersten Start ist diese Konstellation ausreichend. Nach knapp zehn Sekunden ist der Systemstart abgeschlossen und über die Konsole kann der Administrator durch die Eingabe von ifconfig | more die IP-Adresse für br-lan auslesen. Sofern im eigenen Netzwerk ein DHCP-Server aktiv ist, wird dieser dem nun frisch gestarteten Router sicherlich eine IP-Lease zugewiesen haben.
Aus dem lokalen Netzwerk ist der Router über die NAT-IP-Adresse erreichbar – einfach http://{IP-Adresse} eingeben und sich an der Konsole anmelden. Zum aktuellen Zeitpunkt ist noch kein Passwort hinterlegt, somit ist eine Anmeldung per Mausklick möglich. Da unser Router in einem abgeschotteten Bereich selbst zur Internetanbindung genutzt werden soll, empfiehlt es sich, der Maschine nun eine feste IP-Adresse zuzuweisen. Auch hierzu verwenden wir die grafische Oberfläche und klicken dazu im oberen Menübereich auf Network und wählen dort Interfaces. Im grün markierten LAN-Abschnitt wird der Up-Zustand des Interfaces, die MAC-Adresse und der RX/TX-Durchsatz angezeigt, ebenso die IPv4- und IPv6-Adresse. Durch einen Mausklick auf Edit kann der IT-Profi das Protokoll auf Static Adress setzen und mit Switch protocol bestätigen.
In unserem Beispiel vergeben wir die 192.168.10.1 als Adresse mit der Standardnetzwerkmaske 255.255.255.0. Alle anderen Felder bleiben unverändert, mit Ausnahme der Einstellungen für den lokalen DHCP-Server im unteren Abschnitt. Hier deaktivierten wir den Router Advertisement-Service und DHCPv6-Service mit disabled und bestätigten die Eingaben mit Save & Apply im unteren Menübereich. In unserem Beispiel haben wir in VMware anschließend die Einstellung NAT zu VMnet5 geändert, einem an sich ungenutzten Netzwerkbereich, dem künftigen Testgebiet.
Im nächsten Schritt gilt es eine weitere Netzwerkkarte – aus der Sicht von OpenWrt als WAN-Interface – der VM hinzuzufügen. Nachdem die virtuelle Netzwerkkarte über die VMware-Dialoge eingebunden ist, starten wir die virtuelle Maschine durch Eingabe von reboot aus dem Konsolenfenster neu. Eine ebenfalls in VMnet5 positionierte Windows-10-VM erhält nun von dem OpenWrt eine IP-Adresse zugewiesen und kann bereits jetzt über den OpenWrt-Router auf Internetressourcen zugreifen. Ein tracert www.google.de zeigt den Pfad auf den OpenWrt-Router, gefolgt von den übergeordneten Routing-Strukturen.
Keine Sicherung möglich? Nicht genügend Platz?
Die virtuelle Festplatte, die die Erzeuger der OVA-Datei der VM mit auf den Weg gaben, ist mit 52.5 MByte alles andere als groß dimensioniert. Da es mehr als 3.000 installierbare Pakete für OpenWrt gibt, und auch Logdateien epische Größe annehmen können, empfiehlt es sich, für ein wenig mehr Platz zu sorgen.
Das ist jedoch gar nicht ganz so einfach, wie es auf den ersten Blick scheint. Die gewählte Größe mit 52,5 MByte hat noch einen weiteren Nachteil: Sicherungsprogramme, unter anderen von Veeam, benötigen üblicherweise glatte MByte-Größen, die durch 1 ohne Restwert teilbar sind. Im Internet gibt es eine Anleitung für die Vergrößerung – es geht aber auch ein wenig einfacher:
- Beenden Sie die VM mit OpenWrt.
- Ändern Sie die IDE-Portzuweisung der 52,5-MByte-Platte von „0:0“ auf „0:1“ (unter VMware Workstation Doppelklick auf die Platte, auf Advanced und unter Virtual Device Node ändern).
- Legen Sie eine neue Festplatte in VMware (Harddisk, IDE, Create New, 2 GByte, Single File) an.
- Laden Sie „systemrescuecd-6.0.2.iso“ herunter und legen Sie die ISO-Datei in ein neu angelegtes virtuelles CD/DVD-Laufwerk (die VM wird davon starten).
- Geben Sie am Prompt dd if=/dev/sdb of=/dev/sda
- Geben Sie ein: fdisk /dev/sda bestätigen Sie mit w
- Geben Sie ein: fsck -f
- Geben Sie ein: startx – dadurch wird die grafische Oberfläche geladen.
- Starten Sie gparted aus der unteren Taskleiste.
- Stellen Sie sicher, dass in der Auswahl über dem grafischen Element /dev/sda gewählt ist, markieren Sie in der tabellarischen Auflistung /dev/sda2 und wählen Sie nach einem Rechtsklick im Kontextmenü Resize/Move.
- Geben Sie unter New size (MiB) den gewünschten Wert (im Beispiel 2.000) ein und klicken Sie auf Resize/Move.
- Schließen Sie die Eingabe durch einen Klick auf das grüne Häkchen in der Menüleiste ab.
- Starten Sie die VM neu.
Prüfen Sie mit df, ob der Speicherplatz tatsächlich zur Verfügung steht und entfernen Sie die kleinere Festplatte mithilfe des VMware-Menüs.
Wer wenig Freude daran empfindet, diese Schritte manuell durchzuführen, kann auch die auf zwei GByte vergrößerte virtuelle Maschine direkt unter http://static.winitpro.de/openwrt15cc_2gb_hdd.ova herunterladen. Mit Ausnahme der Größenänderung wurden keinerlei Anpassungen vorgenommen, alle Logdateien sind entsprechend unangetastet.
Wie geht es nun weiter?
Die Grundinbetriebnahme von OpenWrt ist schnell erledigt und mit den bereits vorhandenen Paketen zur Firewall oder Dropbear (ein OpenSSH-kompatibler Server) kann sich der Administrator mit der Plattform auseinandersetzen, ohne sie auf eine spezifische Hardware übertragen zu müssen. Das erleichtert das Sammeln von Erfahrungen in einer eng umschlossenen Umgebung. Fairerweise sei jedoch erwähnt, dass die Einbindung von WLAN-Hardware – beispielsweise ein Cisco/Linksys AE6000, um einen eigenen Access Point in einer VMware Workstation aufzusetzen – deutliches Talent im Umgang mit Linux erfordert (siehe Webseite HPRath). Ansonsten empfiehlt sich ein Blick in den User Guide für einen geordneten Einstieg in die Funktionen von OpenWrt.