Oberflächliches
Sie sollten nun so weit sein, dass sich der an den Raspberry Pi angeschlossene UMTS-Stick ins Mobilfunknetz einwählt. Auch das lokale Netzwerk sollte jetzt funktionieren: Per WLAN angemeldete oder an den Ethernet-Port des RasPi angeschlossene Geräte bekommen IP-Adressen zugewiesen; der Abruf von Internetseiten müsste funktionieren. Die technische Basisarbeit ist damit abgeschlossen, doch es fehlt noch ein wenig Feinschliff: Das Bedienen des RasPi-Routers fällt nicht gerade leicht, da Sie sich für jede Aktion per Terminal einloggen müssen. Schon vom PC aus wäre dies mühsam, von einem Smartphone noch viel mehr.
Aus diesem Grund haben wir beim Installieren der Software ganz am Anfang auch einen kleinen HTTP-Server (lighttpd) samt PHP installiert. Bevor es nun daran geht, das System per Web zu steuern, aktivieren Sie PHP und integrieren Sie ein paar nützliche Standardseiten. Dazu rufen Sie einmalig die ersten zwei Befehle aus Listing 9 auf. Anschließend verlinken Sie mittels des Befehls in Zeile 3 PhpSysInfo [8] in den Pfad des Webservers. So lassen sich per Browser Statusinformationen zum Router abrufen.
Listing 9
$ sudo lighttpd-enable-mod fastcgi-php $ sudo service lighttpd force-reload $ sudo ln -s /usr/share/phpsysinfo /var/www/sysinfo
Öffnen Sie nun mit einem Browser aus dem lokalen Netzwerk die URL http://192.168.100.250/sysinfo, gibt das System eine Statusseite mit technischen Informationen aus (Abbildung 3). Mit einer kleinen Änderung an der Datei config.php aus dem PhpSysInfo-Verzeichnis /var/www/sysinfo lässt sich die Geschwindigkeit dieser Seite ganz wesentlich steigern: Setzen Sie hier einfach den Wert von PSI_JS_COMPRESSION auf false (ohne Anführungszeichen), und die Seite lädt anschließend blitzschnell.

Abbildung 3: PhpSysInfo gibt zahlreiche Informationen zum aktuellen Status des RasPi-Routers als übersichtliche Webseite aus.
Das Webfrontend zur Transferstatistik von Vnstat gibt es bisher noch nicht in den Paketquellen von Debian. Sie müssen es von der Projektseite [9] als Tarball herunterladen und es danach unterhalb von /var/www entpacken. Mit den Kommandos aus Listing 10 laden Sie die aktuelle Version (Stand: September 2015), entpacken das Archiv unter einem geeigneten Namen und setzen die benötigten Rechte. Den durch Vnstat erfassten Durchsatz behalten Sie jetzt bequem unter http://192.168.100.250/net per Webinterface im Blick (Abbildung 4). Bei Bedarf passen Sie die Webseite über die config.php aus dem Verzeichnis /var/www/net an Ihre Bedürfnisse an.
Listing 10
$ wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz $ sudo tar xf vnstat_php_frontend-1.5.1.tar.gz -C /var/www $ sudo mv /var/www/vnstat_php_frontend-1.5.1 /var/www/net $ sudo chown -R www-data:www-data /var/www/net

Abbildung 4: Vnstat protokolliert konstant die übertragene Datenmenge mit. Das Webfrontend visualisiert die gesammelten Daten grafisch.
Für das weitere Steuern des Routers eigenen sich Projekte wie etwa Pi Control [10], dem sich Raspberry Pi Geek in Ausgabe 04/2015 schon einmal ausführlich widmete [11]. Alternativ greifen Sie auf das sich in Entwicklung befindliche Webfrontend des Raspberry-Pi-3G-Hotspot-Projekts des Autors zurück (Abbildung 5) – die Daten beziehen Sie über die Github-Seiten des Projekts [12]. Dieses simple Interface gibt den Status der Verbindung aus und ermöglicht es, diese auf- und abzubauen. Zusätzlich lässt sich das System herunterfahren oder neu starten. Auf der Startseite finden sich zudem von Haus aus Links zu den Statusinformationen von PhpSysInfo und den Statistiken von Vnstat.
Fazit
Quasi mit Bordmitteln machen Sie aus einem Raspberry Pi und USB-Adaptern für WLAN und UMTS-Funk einen vollständig funktionsfähigen 3G-Router. Die Oberfläche mag nicht besonders elegant wirken, aber dafür fallen alle Einschränkungen der üblicherweise mit der Standard-Hardware gekauften Firmware weg. Das hier vorgestellte Projekt gilt keineswegs als “fertig” in dem Sinne, dass es nichts mehr zu verbessern gäbe: Die Administrationsoberfläche sollte beispielsweise mit Benutzername und Passwort abgesichert sein; wünschenswert wäre ferner der Versand und Empfang von SMS, um etwa neues Transfervolumen nachzubuchen. Technisch wäre dies kein Problem, würde aber Stoff für mehr als einen weiteren Artikel liefern.
Darüber hinaus lässt sich das System einfach an persönliche Bedürfnisse anpassen. Ein einfacher Proxy-Server wie Polipo [13], über das gleichnamige Raspian-Paket installiert, sorgt zum Beispiel für ein geringeres Transfervolumen, da mehrfach abgerufene Daten aus dem Cache des Proxys laden. Oder Sie nutzen den Router-RasPi zusätzlich als mobilen Sicherungsserver oder als Webserver im internen Netz. Ersetzen Sie den UMTS-Stick durch einen zweiten WLAN-Dongle, rüsten Sie damit das ganze System mit sehr wenig Aufwand zu einem WLAN-Repeater oder einen WLAN-Router für Gäste mit eigenem Netz um.
Der Autor
Bernhard Bablok (mailto:[email protected]) arbeitet bei der Allianz Managed&Operations Services SE als SAP-HR-Entwickler. Hört er nicht Musik oder ist mit dem Rad oder zu Fuß unterwegs, beschäftigt er sich mit Themen rund um Linux, Programmierung und neuerdings Kleincomputer.
Infos
- Mobile-Router TL-MR3020 aufrüsten: Bernhard Bablok, “Der 1-Watt-Server”, LU 05/2012, S. 84, http://linux-community.de/28787
- APN-Einstellungen diverser Mobilfunkanbieter: http://explipedia.de/apn-einstellungen-mobilfunkanbieter
- Vnstat: http://humdi.net/vnstat
- Heise-Netzwerkcheck: http://www.heise.de/security/dienste/Netzwerkcheck-2114.html
- Debian-Firewall-Wiki: https://wiki.debian.org/DebianFirewall
- Bananian: https://www.bananian.org
- JAWS: https://play.google.com/store/apps/details?id=is.pinterjann.jaws
- PhpSysInfo: http://phpsysinfo.github.io/phpsysinfo
- PHP-Frontend für Vnstat: http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
- Pi Control: http://willy-tech.de/raspberry-pi-control-center/
- RasPi via Pi Control überwachen und steuern: Christoph Langner, “Unter Kontrolle”, RPG 04/2015, S. 20, http://raspberry-pi-geek.de/34838
- 3G-Hotspot-Projekt des Autors auf Github: https://github.com/bablokb/rpihotspot
- Proxy-Server Polipo: http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/
- Kompilieren von Hostapd aus den Realtek-Quellen: http://forum.lemaker.org/thread-13017-1-3-setting_up_wlan0_as_an_access_point_in_bpi_r1.html
- Linux-Kernel-Modul und Hostap für Realtek RTL8192CU: http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192CU






