Aus Raspberry Pi Geek 03/2024

Der Raspberry Pi als portables VPN-Gateway (Seite 2)

Der einzige Nachteil könnte sein, dass es im 4G-Netz üblicherweise deutlich dichter zugeht als im Netz der neuesten Generation. Es schadet nicht, vor Ort nach Möglichkeit ein paar Tests vorzunehmen, um Performance und Stabilität des lokalen LTE-Netzes zu erkunden. Ich stellte in meinem Fall schnell fest, dass die Performance des 4G-Netzes völlig ausreichend war. Im lokalen Mobilfunk-Shop besorgte ich mir also eine entsprechende SIM-Karte für Touristen und hatte damit das Uplink-Thema abgehandelt.

Gerade Huaweis E3372 ist in dieser Hinsicht übrigens sehr dankbar: Es fungiert wie eine Art Mini-Router und installiert nach erfolgreichem Verbindungsaufbau ohne zusätzliche Konfiguration auf dem Linux-System eine Schnittstelle namens eth0. Das früher leidige Herumhantieren mit Wvdial entfällt also ebenso wie das Nachschlagen von AT-Kommandos für die Modemkonfiguration.

Die letzte benötigte Komponente war ein USB-zu-Ethernet-Adapter, um mich mit dem RasPi per SSH verbinden zu können. Ich empfand es als sehr nervig, die Konfiguration des RasPi trotz Keyboard am Fernseher zu erledigen, und die 10 Euro Aufpreis für den Ethernet-Dongle waren mir die Sache durchaus wert. Wer das Konstrukt zu Hause vorbereitet, spart sich diesen Posten in der Regel, weil bereits ein passender Netzwerkadapter vorhanden ist, den man unmittelbar mit dem RasPi verbinden kann. Auch das dafür benötigte Netzwerkkabel dürften Sie im heimischen Fundus haben, sodass Sie es anders als ich nicht vor Ort zusätzlich bestellen müssen.

Die Rechnung für sämtliche Komponenten belief sich letztlich auf knappe 250 Euro, womit ich leben kann – der Obolus erscheint mir für das Gespann aus RasPi, Google Chromecast sowie der benötigten Peripherie für ein dauerhaft nutzbares Gerät durchaus angemessen. Die Beschaffung der Hardware und deren Zusammenbau waren allerdings nur die erste Hälfte der Miete – der zweite Teil, die Vorbereitung der Software, ist eigentlich spannender.

Einstieg

Schnell stand für mich fest, dass Raspberry Pi OS die sinnvollste Option im Hinblick auf die Aufgabe war. Es basiert auf Debian, das ich noch einigermaßen gut kenne, und kommt mit nicht ganz so viel Schnickschnack daher wie manche andere RasPi-Distribution und ist eine gute Allround-Lösung. Obendrein gibt es in Form von Raspberry Pi Imager (Abbildung 3) ein eigenes Werkzeug, das unter Windows eine MicroSD-Karte mit Pi OS bespielen kann – und ein Windows-Notebook hatte ich dabei.

Abbildung 3: Raspberry Pi Imager installiert Raspberry Pi OS auf einer MicroSD-Karte.

Abbildung 3: Raspberry Pi Imager installiert Raspberry Pi OS auf einer MicroSD-Karte.

Flugs steckte ich also die MicroSD-Karte in den mitgelieferten USB-A-auf-MicroSD-Adapter, diesen ins Notebook, und lud Pi OS über das Hotel-WLAN herunter. Das Image-Werkzeug für Pi OS bietet etliche Optionen, etwa jene, das Passwort für Root gleich unter Windows festzulegen – das entpuppte sich schnell als sehr nützlich (Abbildung 4). Flott war die MicroSD-Karte betankt, im RasPi versenkt und dieser an den Hotelfernseher angeschlossen, wo sich bald der Pi-OS-Bootscreen zeigte. Auch die billige Tastatur steckte bereits am RasPi, sodass ich mich als Root im Terminal nach [Strg]+[Alt]+[F1] anmelden konnte. Ab Werk bootet Pi OS ja in die grafische Oberfläche, die in meinem Falle mangels Maus aber nur schwer zu bedienen gewesen wäre.

Abbildung 4: Raspberry Pi Imager übernimmt auf Wunsch sogar noch vor dem Flashen des Abbilds die Konfiguration.

Abbildung 4: Raspberry Pi Imager übernimmt auf Wunsch sogar noch vor dem Flashen des Abbilds die Konfiguration.

Weil ich mir das Gefummel am Fernseher trotzdem nicht antun wollte, verband ich den Raspberry Pi mittels eines Netzwerkkabels über einen Ethernet-Adapter mit meinem Notebook, konfigurierte ein lokales Netz auf beiden Systemen und hatte im Anschluss eine funktionierende SSH-Verbindung. Schnell tat sich jedoch das nächste Problem auf. Den RasPi mittels Huawei-Surfstick und lokaler SIM-Karte ins Netz zu bringen, war keine große Herausforderung. Einstecken, läuft. NordVPN ließ sich im Anschluss dann allerdings schon nicht mehr herunterladen. Anstelle der NordVPN-Website erschien lediglich eine Fehlermeldung, wonach die HTTP-Verbindung mittendrin unterbrochen war. Die staatliche Zensur funktionierte also nicht nur, sondern sie war auch ausgesprochen stümperhaft.

Das merkte ich auch, als ich auf meinem iPad NordVPN unmittelbar aus Apples App Store installieren und einrichten konnte. Im Anschluss konfigurierte ich das iPad als persönlichen Hotspot, verband per raspi-config den Raspberry Pi damit und hatte nun weitgehend freien Zugang zum Netz. NordVPN bietet eine eigene Anleitung [1] an, um seinen Client unter Linux und speziell Debian zu installieren. Dazu genügen wenige Befehle, die im Wesentlichen die Quellen für die NordVPN-Pakete auf dem System hinterlegen und im Anschluss die Software installieren.

Für NordVPN entschied ich mich deshalb, weil ich bei diesem Anbieter aus grauer Vorzeit ohnehin noch einen leicht zu reaktivierenden Account hatte und NordVPN relativ gut und flott funktioniert. Obendrein bietet der Client unter Linux verschiedene Features wie eine Killswitch-Funktion, die jeglichen Traffic nach draußen unterbindet, falls die VPN-Verbindung mal nicht funktioniert. Das ist auch deshalb praktisch, weil NordVPN mittlerweile auf das moderne Wireguard-VPN setzt. Hier gibt es anders als bei IPsec oder OpenVPN keinen formalen Schritt des Herstellens der Verbindung. Funktioniert das VPN also mal nicht, merkt man das nicht unmittelbar an einer Fehlermeldung, sondern im schlechtesten Fall daran, dass das System die Pakete eben doch ohne VPN durch das Netz bläst. Der NordVPN-Client verhindert zuverlässig, dass genau das passiert – und sorgt für manche Überraschung im Prozess, doch dazu später mehr. Am Ende der NordVPN-Installation jedenfalls funkte auch der RasPi durch ein VPN hindurch und war weitgehend frei.

Eine Eigenheit gibt es bei dem Werkzeug allerdings zu beachten. Um NordVPN auf der Kommandozeile zu aktivieren, besteht der Dienst auf einem Callback per Browser. Am Ende des Konfigurationsvorgangs zeigt NordVPN in der Kommandozeile dazu einen Link an, den man in den eigenen Browser kopiert, um sich bei NordVPN mit Benutzername und Passwort anzumelden. Am Ende dieses Schritts erhält man einen neuen Link, den man dem NordVPN-Client mittels des Parameters callback mit auf den Weg gibt. Erst danach kommt die Verbindung mittels nordvpn connect zustande.

Im konkreten Fall empfiehlt sich übrigens das Kommando nordvpn connect de berlin, um auch sicher mit einem VPN-Server in Deutschland zu reden. Kennen Sie einen gut funktionierenden Server, geben Sie idealerweise dessen Namen in der Form nordvpn connect ID an, etwa nordvpn connect de763. Ansonsten bekommen Sie früher oder später garantiert Probleme mit der Verbindung zu Streaming-Diensten. Jedenfalls sollten Sie darauf achten, einen Server innerhalb der Europäischen Union zu verwenden, denn da muss Streaming weitgehend funktionieren. Ab Werk nimmt NordVPN allerdings den nächstgelegenen Server, was auf meinem Ägypten-Trip zum Erreichen des gesetzten Zieles äußerst kontraproduktiv gewesen wäre.

Drei Schritte

Logisch betrachtet umfasst die Konfiguration eines VPN-Gateways auf Raspberry-Pi-Basis drei einfache Schritte. Zunächst steht die Grundkonfiguration des Systems an; dazu gehört die Konfiguration der Zeitzone ebenso wie jenes des Netzwerks. SSH lässt sich wahlweise per raspi-config aktivieren oder direkt im Image-Flash-Werkzeug unter Windows. Danach steht die Konfiguration von NordVPN auf dem Plan, damit das Gerät ausgehende Verbindungen entsprechend schützt. Schließlich gilt es noch, den RasPi so einzurichten, dass er als WLAN-Access-Point für Clients dient, die im Anschluss samt und sonders unter dem Schutz des VPNs im Netz surfen.

Konfigurationsorgien mit hostapd gehören heute der Vergangenheit an. Wie bereits erwähnt, leistet den größten Teil der Konfiguration heute Systemd im Gespann mit NetworkManager. Wenn eth0 als vom Surfstick angebotene Verbindung ins Netz zur Verfügung steht und das WLAN des Rechenknirpses noch unkonfiguriert ist, genügen wenige Befehle, um das gewünschte Setup zu erreichen. Zunächst deaktivieren Sie hostapd und dnsmasq in der eigenständigen Version, denn NetworkManager startet sie später so, wie er sie benötigt. Der Befehl sudo apt install dnsmasq hostapd erledigt das. Danach erfolgt das Aufsetzen des Access Points mit den Befehlen aus Listing 1.

Listing 1

Access Point einrichten

$ nmcli con add type wifi ifname wlan0 con-name hotspot autoconnect yes ssid martin_unterwegs
$ nmcli con modify Hostspot 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared
$ nmcli con modify Hostspot wifi-sec.key-mgmt wpa-psk
$ nmcli con modify Hostspot wifi-sec.psk "SehrSicheresPasswort"
$ nmcli con up hotspot
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben