VPN auf Raspberry Pi einrichten

Knuddelbearli

Commodore
Registriert
Nov. 2009
Beiträge
4.486
Moin moin,
ich will für mich und meine Schwester, 3 Raspberry PI einrichten. Grund: Sie leben im Ausland und möchte Netflix usw auf Deutsch schauen, außerdem würde auch ich ab und an einen VPN benötigen.
Jeweils 1 Pi bei mir und einer bei meinen Schwestern also mindestens 3 später eventuell noch ein 4ter für meine Mutter.

Sollte alles möglichst problemlos laufen da ich höchsten alle zig Monate mal zu Besuch komme.
Bei mir laufen auch noch andere Sachen drauf, bei denne eigentlich nur der VPN. Deren Raspberry soll per Kabel an den Router und dann ein eigenes WLAN aufspannen wo sich alle TVs einloggen (Sie gucken nur am TV Netflix). Glaub das dürfte die einfachste und Idioten sicherste Variante sein?
Meine Leitung sollte locker reichen da sich alles in HD abspielt und ich 150/40 Mbit habe. Sie haben maximal 7Mbit DL.

Leider bin ich jetzt schon mehrmals daran gescheitert OpenVPN einzurichten, die Guides sind alle schon bisschen älter und scheinbar hat sich da einiges geändert. Außerdem habe ich bei Recherchen jetzt schon mehrmals gelesen das OpenVPN angeblich Tot sei?

Hat da wer einen Tipp für eine gute Anleitung? Und auch paar Tipps wie ich das alles möglichst Absturz und idiotensicher mache?
Und wie viel RAM sollte ich für die "Außenstellen" einplanen? Reicht das 1 oder 2Gb Modell locker? Gibt es für die "Außenstellen" eventuell ein fertiges Image das schon alles kann?
 
dietpi und wireguard. easy und flotter als openvpn. viel erfolg.
und btw: du benötigst EINEN pi für alle und nicht einen für jeden. es reicht, wenn die sich mit ihren clients auf deinem Pi einloggen per VPN.
lies noch mal nach, was ein VPN ist.
bedenke aber, dass deine leitung das nadelöhr ist. wenn da abends drei schwestern netflixxen, ist bei dir der upload garantiert weg und die schwestern rufen an und meckern, dass es puffert und ruckelt. 40 mbit/s mag für dich alleine reichen, ist aber wirklich wenig, wenn man es teilt.
 
  • Gefällt mir
Reaktionen: Mac_Leod
Tot ist OpenVPN nu nicht unbedingt, aber es gibt seit einiger Zeit einen neuen Fisch im Teich, WireGuard.

OpenVPN hat das Problem, dass es weitestgehend Single Threaded arbeitet. Das heißt, dass es eine vergleichsweise potente CPU benötigt. Dadurch ist OpenVPN insbesondere auf eher schwachen Systemen wie einem PI 3 tendenziell langsam.

WireGuard ist sozusagen der neueste Shit und in der Regel deutlich performanter als OpenVPN.

Schau mal dieses Tutorial zu WireGuard auf einem PI an. Ich hab das jetzt nur kurz überflogen, aber ansonsten finden sich etliche andere vergleichbarer Tutorials, wenn man bei google danach sucht.
 
  • Gefällt mir
Reaktionen: konkretor
Fabian_otto schrieb:
dietpi und wireguard. easy und flotter als openvpn. viel erfolg.
und btw: du benötigst EINEN pi für alle und nicht einen für jeden. es reicht, wenn die sich mit ihren clients auf deinem Pi einloggen per VPN.
lies noch mal nach, was ein VPN ist.
bedenke aber, dass deine leitung das nadelöhr ist. wenn da abends drei schwestern netflixxen, ist bei dir der upload garantiert weg und die schwestern rufen an und meckern, dass es puffert und ruckelt. 40 mbit/s mag für dich alleine reichen, ist aber wirklich wenig, wenn man es teilt.
Leider haben die meisten Fernseher keinen brauchbaren VPN Support, deshalb eben auch einen PI vor Ort der dann ein Wlan aufspannt. Oder übersehe ich eine andere Lösung? Und wie geschrieben die Schwester haben eh nur um die 7MBit da sie aufm Land wohnen.
Außerdem will ich ja bei Bedarf auch auf bei Ihnen Zugreifen können.
 
dann pi mit wireguard konfigurieren und zusenden. der pi zero kostet nen 10er und reicht bei wireguard für bis zu 25 mbit/s.
 
Man kann es mit dem richtigen Router auch über diesen laufen lassen, aber das wäre vermutlich noch mehr Aufwand. Deswegen ist die Idee mit den Pis gar nicht so schlecht. Das ganze geht natürlich auch kabelgebunden, dazu brauchst du dann einen Minirechner mit 2 Ethernet Ports, aber WLAN sollte auch klappen.
Ergänzung ()

Fabian_otto schrieb:
dann pi mit wireguard konfigurieren und zusenden. der pi zero kostet quasi nen 10er und reicht bei wireguard für bis zu 25 mbit/s.
Kann der Pi Zero 2 WLANs nutzen, also einem beitreten und das andere aufspannen? Meines Wissens nach nicht, weswegen er mindestens einen LAN Port braucht.
 
Pako1997 schrieb:
Man kann es mit dem richtigen Router auch über diesen laufen lassen, aber das wäre vermutlich noch mehr Aufwand. Deswegen ist die Idee mit den Pis gar nicht so schlecht. Das ganze geht natürlich auch kabelgebunden, dazu brauchst du dann einen Minirechner mit 2 Ethernet Ports, aber WLAN sollte auch klappen.
Ergänzung ()


Kann der Pi Zero 2 WLANs nutzen, also einem beitreten und das andere aufspannen? Meines Wissens nach nicht, weswegen er mindestens einen LAN Port braucht.
er hat ja LAN. per USB dongle geht das auch am zero. stromsparender als der dicke pi4 und um einiges günstiger.
Ergänzung ()

mit nem wlan-usb dongle auch im hotel (ohne LAN anschluss) nutzbar.
 
  • Gefällt mir
Reaktionen: Pako1997
Die kleinen Router von GL.iNet haben mittlerweile auch schon WireGuard mit an Bord. Zum Beispiel der GL-AR300m für knapp 45€, der laut Hersteller bis zu 50 Mbit/s mit WireGuard schaffen soll oder der GL-AR150 @ 35 Mbit/s, der knapp 30€ kostet. Auf den Dingern läuft ein OpenWRT.
 
Raijin schrieb:
Die kleinen Router von GL.iNet haben mittlerweile auch schon WireGuard mit an Bord. Zum Beispiel der GL-AR300m für knapp 45€, der laut Hersteller bis zu 50 Mbit/s mit WireGuard schaffen soll oder der GL-AR150 @ 35 Mbit/s, der knapp 30€ kostet. Auf den Dingern läuft ein OpenWRT.
hmm der klingt interessant, hast du selbst Erfahrung damit? Geht das dann auch in beide Richtungen?
 
Zuletzt bearbeitet:
Also ich hab den AR300m im Einsatz, aber nicht mit WireGuard, sondern noch mit einer Firmware wo es nur OpenVPN gab. Ich setze das Ding aber primär auch nur als mobilen Access Point für unsere Monteure ein. Ein nettes Detail: Der AR300m hat einen Schiebeschalter an der Seite, den ich mit einem Skript modifiziert habe und jetzt kann ich zwei vordefinierte Konfigurationen (Subnetz1 mit DHCP bzw. Subnetz2 ohne DHCP) umschalten.

Wie die Dinger mit WireGuard laufen, weiß ich nicht. Ich habe nur das angegeben was der Hersteller auf der Seite angibt.

Da sie allerdings mit OpenWRT ausgeliefert werden, hat man durchaus eine Menge Kontrolle über diese kleinen Router und kann - falls nötig - entsprechende Anpassungen vornehmen. Nach einem kurzen Überflug über die Doku scheint aber WireGuard sowohl als Server als auch als Client konfigurierbar zu sein.
 
OpenWrt hat ein wiki bzw. Forum in dem User teilweise auch ihre Geschwindigkeiten posten - ebenso bieten sich lokal eventuell auch Freifunk-Community mit Wireguard-Erfahrung an.
Freifunk nutzt meist OpenWrt-basierende Firmwares.

zB
https://openwrt.org/docs/guide-user/services/vpn/wireguard/performance
https://openwrt.org/toh/views/toh_vpn_performance
https://wiki.freifunk-franken.de/w/Geschwindigkeiten

Ein Raspberry Pi hat übrigens keine AES Beschleunigung / Crypto Beschleunigung und das WLAN ist auch nicht so toll - schlechter Chipsatz + Antenne.
OpenWrt kann Server und/oder Client sein, auch parallel - die Konfiguration ist sehr flexibel.
 
So dann bräuchte ich noch eine Empfehlung für einen DNS Dienst, gut wären mindestens 4 Hosts (meiner + 2 Schwester + zumindest die Mutter dann als Reserve). Einsteigerfreundlich wär gut habe sowas noch nie gemacht ^^

Möchte das jedenfalls direkt im Router / raspberry machen da ich so unabhängig vom Router bin ( wo jeder nen anderen hat und der auch mal getauscht wird)
 
Zuletzt bearbeitet:
Du "hängst" den Pi doch genau wie einen VPN-Router "dazwischen" oder "daneben".
Mir wäre ein VPN-"Router" lieber, als etwas mit Pi.
Die Fritzbox 4040 für ~ 70 EUR schafft mittels OpenWRT bei Wireguard 479 MBit und ist vergleichsweise flott.
Es ginge auch billiger, wenn man etwas von ebay-kleinanzeigen holt, aber nicht so leistungsstark.
 
  • Gefällt mir
Reaktionen: Raijin
Knuddelbearli schrieb:
So dann bräuchte ich noch eine Empfehlung für einen DNS Dienst, gut wären mindestens 4 Hosts (meiner + 2 Schwester + zumindest die Mutter dann als Reserve).
Wozu 4? Du brauchst nur am Server eine DDNS-Domain, wenn du nicht täglich via WhatsApp deine aktuelle öffentliche IP-Adresse rumschicken willst. Sobald die VPN-Clients bei deinen Schwestern und deiner Mutter sich via VPN über deine DDNS-Domain mit deinem VPN-Server verbunden haben, besteht eine Standortverbindung und du kannst beispielsweise auch den PC deiner Mutter remote supporten (ganz ohne TeamViewer, sondern zB direkt mit RDP oder VNC).

Welchen DDNS-Anbieter du verwendest, hängt maßgeblich davon ab was zB dein Router in der WebGUI unterstützt. Sofern dort auch benutzerdefinierte Anbieter eingetragen werden können, ist Jacke wie Hose sofern der jeweilige Anbieter eine passende Update-URL bereitstellt. Lässt du DDNS gar von einem PI aus updaten, kannst du buchstäblich jeden DDNS verwenden. ddclient ist zB ein Linux-Tool, das mit so ziemlich allen Anbietern funktioniert.

Ein wichtiges Kriterium für oder gegen einen DDNS-Anbieter ist für mich beispielsweise eine 30-tägige Zwangsanmeldung. Einige kostenfreie Anbieter setzen den Account auf inaktiv, wenn man sich nicht alle 30 Tage einmal auf der Webseite einloggt. Sowas mag ich nicht und daher meide ich einige der Anbieter schon seit langem. Früher hatte ich zB mal no-ip und dort muss man alle 30 Tage den Account "erneuern" (Login+Klick reicht). Ich nutze aber seit geraumer Zeit u.a. goip.de, weil der Account dort nicht ausläuft.
 
Naja wenn ich die VPN auch um gekehrt nutzen will, benötige ich ja auch einen DNS Dienst bei den "Aussenstellen" oder nicht?
 
Nö, wozu? computerbase.de muss auch nicht explizit wissen welche IP-Adresse du hast, weil das bereits in der Absender-IP zu sehen ist als du die Internetseite aufgerufen hast.

Ein VPN ist wie ein Netzwerkkabel, nur virtuell. Deine Schwestern und deine Mama werfen dir ein Ende des Kabels zu. Dazu müssen sie wissen wohin sie es werfen müssen, weil sich deine (IP-)Adresse regelmäßig ändert. Da sie das andere Ende des Kabels aber festhalten, musst du dir andersherum keinen Kopf machen wo deine Schwestern wohnen, weil sie einfach am anderen Ende des Kabels erreichbar sind - das handhabt das VPN ohne dein Zutun. Das einzige was du konfigurieren musst ist, dass der VPN-Server bzw. die -Clients Kenntnis von den anderen Subnetzen haben und über welchen VPN-Teilnehmer sie erreichbar sind.

Es ist ausschließlich die öffentliche IP-Adresse des Ziels wichtig, also des Servers und somit die von deinem Internetanschluss. Sobald die VPN-Verbindung hergestellt wurde, kennen sich beide Seiten, weil der Server ja den Absender der Verbindung sieht, die öffentliche IP deiner Schwestern.

Verbindungen zwischen den jeweiligen Standorten erfolgen anschließend über die jeweils vorhandenen lokalen IP-Adressen. Deswegen ist es essentiell, dass bei Standortverbindungen die jeweiligen Subnetze unterschiedlich sind. Heißt: Wenn ihr alle Fritzboxxen hättet, dürftet ihr unter keinen Umständen alle das Standard-Subnetz 192.168.178.0 /24 verwenden. Stattdessen könntet ihr zB 192.168.10.0 bzw. 192.168.11.0 bzw. 192.168.12.0 usw verwenden.


Heimnetz_S1 @ 192.168.11.0 /24
||
VPN-Client S1
(WAN-IP egal)
|
|
|
|
(deine WAN-IP als DDNS-Domain) ---------- (WAN-IP egal) VPN-Client S2 == Heimnetz_S2 @ 192.168.12.0 /24
VPN-Server
||
Heimnetz_Server @ 192.168.10.0 /24


Dabei erzeugt das VPN ein virtuelles Netzwerk mit in diesem Beispiel 3 Teilnehmern, dem Server und den beiden Clients. In der VPN-Konfiguration gibt man dann jeweils an, dass 192.168.11.0 hinter VPN-Client_S1 liegt, die 12.0 hinter Client_S2 und das 10.0er Netz hinter dem Server.
 
  • Gefällt mir
Reaktionen: Siri und Knuddelbearli
Ah ok DS und US wird gleichzeitig verwaltet ok. Dachte, das geht dann über unterschiedliche Plugins bzw Programmteile.

Also dann mal meinen Pi fertig einrichten.
Danke nochmals.
 
So endlich Wochenede und wieder Zeit

habe gerade ein Problem beim DNS eintragen

Stimmt die Anleitung von hier noch?
http://www.goip.de/help/raspberry-pi.html

Code:
Zuerst erstellt man ein Shell-Script (Benutzername, Passwort und Subdomain entsprechend eintragen):
#!/bin/sh
curl --data "username=<username>&password=<password>&subdomain=<subdomain>" https://www.goip.de/setip?

Dann macht man das Script ausführbar:
chmod 755 update.sh

Zuletzt das Script mit
crontab -e

in die crontab eintragen (/path/to durch den Pfad ersetzen):
0 * * * * /path/to/update.sh >> /path/to/log.txt

Einfach eine Sache nach der anderen Eintragen?
Fürs Log dachte ich einfach an /home/pi/Desktop, damit ich es immer gleiche zur Hand habe, wenn ich was nachschauen will.
 
Zurück
Oben