Heimnetz mit Raspberries hinter der Fritzbox - VPN, webDAV, DLNA...

Kuzorra

Urgestein
Thread Starter
Mitglied seit
03.01.2009
Beiträge
4.798
Ort
ein unbeugsames Dorf im Rheinland
Moin,

mit webDAV, VPN, DLNA etc. hab ich nur rudimentäre Erfahrung und denke, dass mir ein wenig der Überblick flöten geht, da meinen "Spielweise Heimnetzwerk" so nach und nach in verschiedene Richtungen gewachsen ist. Ich habe zwar so ein paar Ideen und Zielvorstellungen, s.u., bin mir aber nicht so ganz sicher, ob das Hand und Fuß hat oder ob man das nicht hier und da besser/eleganter lösen könnte. Als relativer Netzwerk-Noob bräuchte ich wahrscheinlich mal ein paar Ratschläge für Dummies.....

Bisher:

Ich habe eine DynDNS-Domain + Weiterleitung an die heimische Fritzbox. Das funktioniert so weit auch ganz gut, Fernzugriff auf die FB per Browser und per sftp ins heimische Netz, d.h. derzeit ein einfacher Pi 1, auf dem ein Baikal-Kalenderserver läuft und dem ich gelegentlich ein paar Daten rüberschubse, temporär auf die 32GB SD-Karte.
Der "NAS-Speicher" an der Fritzbox (128GB Stick) funktioniert, ist aber nicht von allen Systemen so komfortabel erreichbar, wie ich's gerne hätte. DLNA am TV geht gut mit der FB, Filme liegen auf dem Stick. Zu Hause unter Linux lässt sich auch alles irgendwie einbinden (Stick an FB, RasPi via sftp im Dateimanager), aber auf Android mit Total Commander finde ich's manchmal etwas umständlich und unter Windows 7 erst recht.
Daher würde ich gerne den Stick von der Fritzbox an einen Pi umziehen. Dann würde ich mir den Stick als webDAV-Freigabe einrichten wollen, dann könnte ich den nämlich ggf. auch mal auf meinem Arbeits-PC als Netzlaufwerk einrichten - gerne per VPN von unterwegs.
VPN hab ich neulich an der Fritzbox eingerichtet, das funktioniert auch ganz wunderbar per Android. Hat den Vorteil, das ich quasi im heimischen Netz bin und keine extra Ports dafür freigeben muss (korrekt?!). Bisher habe ich nämlich einen "nicht-standard" Port auf meiner Domain weitergeleitet an die FB-GUI, und einen anderen obskuren Port an den Pi. Mit VPN kann ich mir zumindest einen Zugang schenken....

Zukünftig:

Jetzt steht bei mir eh ein wenig um- und aufräumen an, da wollte ich die Pi-Familie mal neu sortieren (einen klassischen Pi, 2 x Pi³ und einen Pi³). Mir schwebt vor den Pi1 erstmal rauszunehmen und durch einen Pi² (mit OMV?) zu ersetzen. Darauf sollte dann auch der Kalender liegen (egal ob Baikal oder was anderes).
Der alte Pi und der zwote Pi² sind nur zum Frickeln, der Pi³ kommt als Mini-HTPC an den TV und wird per WLAN angebunden. Da wird u.A. recallBox drauf sein und die (S)NES-Controller rankommen. Außerdem soll der Pi³ per Bluetooth (vermutlich unter raspbian) den Link zum Bose Soundlink herstellen und gelegentlich als Musikabspielstation im Wohnzimmer dienen. Das müsste doch problemlos gehen, egal ob per DLNA oder direktem Ordnerzugriff?

Mir schwebt derzeit OMV als eierlegende Wollmilchsau vor: webDAV und DLNA sollte das ja nativ können, richtig? Was gibt es denn da für Kalender-Optionen?
Eine weitere Frage wäre: Kann ich auf die gleichen Speicher/Ordner auch Owncloud (auf OMV draufgesattelt) zugreifen lassen, oder geht das nicht wegen der Datenbank von Owncloud? (Owncloud fluppt halt gut übers web-Interface und über Android - war mir nur auf dem alten Pi viiiieeel zu lahm und wurde deswegen verworfen.)
Owncloud hätte auch direkt den Kalender mit drin.....
Oder kann owncloud auch irgendwie webdav und DLNA bereitstellen, so dass ich ohne OMV auskomme?

Fragen über Fragen.
webDAV wäre schon sehr schön, wenn es zusätzlich ein web-Interface wie von Owncloud gibt wäre das auch top - ein "must have" ist ein Kalenderserver, aber ich will dafür eigentlich nicht extra einen weiteren Pi laufen lassen.

16.01.2017 - Update zum Stand der Dinge:

Ich habe nach den Hinweisen von cnrhkiyf den Pi der ersten Generation als VPN-Server aufgesetzt, das funktioniert gut.
Auf dem Pi² läuft eine Instanz von MiniDLNA, ich habe dort einen 128GB Stick mit Musik und Filmen eingebunden. (Openmediavault habe ich zwischendurch auch mal wieder probiert, allerdings hatte ich da mit miniDLNA Probleme, was die Datenbankupdates angeht, dann hab ich mir vermutlich manuell die Konfig zerschossen und dann hatte ich keine Lust mehr drauf.) Ohne OMV läuft MiniDLNA super, abgesehen davon, dass nicht alle Formate/CODECS erkannt werden oder sauber laufen....auf Umkodierung aller alten Videos hab ich aber keine Lust, da wird vermutlich der Pi³ am TV für zum Einsatz kommen. KODI fand ich immer ganz nett....
Eigentlich steht nur der Kalender noch aus - bisher hatte ich Baikal im Einsatz, was (selbst für einen Laien halbwegs) easy war, aber wenn mir jemand gute Gründe für/gegen andere Lösungen (radcale o.Ä.?) nennen kann, schau ich mir auch das gerne mal an.
Von webDAV hab ich gedanklich ein wenig Abstand genommen. Meine Daten auf einem Windows-PC (auf Arbeit) als Laufwerk von extern einbinden zu können wäre ganz nett, aber den Zugriff krieg ich auch übers Handy oder notfalls mittels Xubuntu-USB-Stick am Schlüsselbund hin - dann habe ich zumindest weiterhin die zertifikatsbasierte Absicherung meines VPNs.

Ich bin dankbar für alle Ratschläge zur Umsetzung und für Hinweise, was von mir gut oder weniger gut durchdacht ist
Hail.gif
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Also zu der Frage mit den Ports und VPN:
- ja dann kannst du dir die anderen Ports sparen, einfach nur Portweiterleitung von der FB auf deinen VPN Server (dafür würde ich wie gesagt einen eigenen Pi nehmen der nur VPN macht) (Standard für OpenVPN ist Port 1194) und das ganze noch richtig absichern (openvpn.conf für den Server kann ich dir meine bei Bedarf mal posten, ansonsten ist diese Anleitung gut geeignet für den Anfang: https://www.datenreise.de/raspberry-pi-vpn-server-einrichten-anleitung/ + anschließend dann https://community.openvpn.net/openvpn/wiki/Hardening)
- Das FritzBox VPN würde ich nicht nutzen sondern wieder abschalten und das mit dem Pi machen wie beschrieben.
- auch ansonsten alle FritzBox Dienste wie Erreichbarkeit per https von außen oder My!Fritz/NAS/etc alles deaktivieren.

Zu der Owncloud Geschichte:
- owncloud auf dem Pi würde ich generell nicht empfehlen (ich mag owncloud sowieso nicht aber auf dem Pi ist es wie du selber ja gemerkt hast einfach nur arsch langsam)
- nimm lieber Seafile das ist auf python aufgebaut und performt um einiges besser als owncloud und kann das was du machen willst auch.
https://jankarres.de/2015/01/raspberry-pi-vergleich-owncloud-vs-seafile/ + https://jankarres.de/2013/06/raspberry-pi-owncloud-alternative-seafile-server-installieren/

Für Musik Streaming im lokalen Netz/WLAN würde ich dir generell mpd empfehlen, dafür gibt es für iOS und Android Clients und du kannst einfach den Server fernsteuern mit mehreren Soundausgaben (Soundkarte oder Streaming über icecast2 Server). Ist auch als Paket unter raspbian verfügbar.

Zu DLNA/Kalender/webdav kann ich nix sagen da ich das selber nicht nutze.
Falls mir noch was einfälllt melde ich mich
 
Zuletzt bearbeitet:
Danke für die Hinweise/Links!
Wenn ich die Zeit zum Basteln finde, werde ich das auf jeden Fall probieren, Pis hab ich ja genug ;-)

Ist denn VPN auf einem dafür dedizierten Pi so viel besser, bzw. ist FritzBox-VPN so schlecht?
(Ich wollte eigentlich möglichst nur einen Pi neben die Fritzbox packen, zum einen, weil ich schon eine Halterung an der Wand habe, und zum anderen, weil ich dann "stromversorgungstechnisch" genau hinkomme und keine zusätzliche Steckerleiste oder USB-Verkabelung legen muss.)
Funktioniert VPN unter Android dann immer noch im "Ein-Klick" Verfahren wie mit dem FritzBox VPN?
Die OpenVPN zipfile mit Konfiguration und Zertifikaten klingt komplex....muss ich dann den OpenVPN-Client nutzen, oder kann Android das nativ unter "Einstellungen --> VPN" handlen?

Aus dem Hardening-Artikel is am ehesten der pre-shared key relevant, oder? (Plus 2048-key-Länge.)
Pre-shared Key hat doch aber die FritzBox auch (aber keine Zertifikate), oder verstehe ich das falsch?

Seafile hab ich auch schon mehrfach gelesen, aber bisher noch nicht probiert. Schau ich mir an....
Ob ich wirklich einen Streaming-Server brauche, muss ich mir mal überlegen. Eigentlich brauche ich nur gelegenlich mal Zugriff auf den Musikordner, dafür würde ich den Pi³ am TV nutzen - wirkliches Streaming auf verschiedene Geräte sehe ich Moment eigentlich gar nicht....

Verstehe ich das insgesamt richtig: Du würdest also für eine Lösung ohne OMV als Unterbau plädieren, rein auf raspbian?
 
Es ist sicherer weil du die Zertifikate selbst verwalten kannst und eben sicherheitsrelevante Einstellungen direkt im Config File vom OpenVPN Server machen kannst und OpenVPN nach aktuellen Kenntnissen das einzige VPN Protokoll ist das wirklich sicher ist. Siehe z.B. hier: https://www.ivpn.net/pptp-vs-l2tp-vs-openvpn

Und du installierst einfach die OpenVPN App auf dein Handy dann ist das genauso 1-Klick-Verbindung aufbauen wie mit PPTP bzw. L2TP auch. Du erstellst dir auf dem Server eine .ovpn Datei mit den relevanten Daten für den Client die er zum Verbinden benötigt und dazu packst du die benötigten Zertifikate und Keys in einen Ordner. Den holst du dir per DateiManager auf dein Android Phone und importierst das in die OpenVPN App.

Also ich hab nur raspbian für alles und hab noch nix vermisst :-) Falls du konkret dann irgendwo hängen bleibst beim Aufsetzen kannst du ja hier nachfragen ;-)

edit: aso und aus dem Hardening Artikel ist am besten alles relevant ;-) Was da garnicht drinsteht aber auch sehr sinnvoll ist (geht aber nur wenn du von einem Linux Client connectest) das du den Server unter einem eigenen VPN Benutzer laufen lässt mit abgeschaltetem Login und ohne Homeverzeichnis. Je mehr du davon nutzt also Stichwort tls-auth/cipher Configuration desto besser, solange es der Client unterstützt würde ich immer alles reinballern was geht an Sicherheitseinstellungen bei OpenVPN, da es nur den Handshake beim Verbindung aufbauen etwas langsamer macht (2-3sec.) und wenn die Verbindung mal steht profitierst du nur davon. Ich nutze 4096bit Schlüssel und tls-auth, SHA512, cipher AES-256-CBC und greife darauf vom iPhone und meinem Laptop von unterwegs drauf zu und das funzt 1a und schnell.
 
Zuletzt bearbeitet:
Na gut, die Key Genaration mit 4096 bit scheint ja noch ein paar Stündchen zu dauern (auf dem Pi), dann geh ich erstmal Heia machen....

Die Config, so wie sie in Deinem Datenreise-Link angegeben ist, funktioniert so 1:1?
Deine Server-Konfig würde mich schon mal interessieren, also insbesondere da, wo Du vom verlinkten abweichst....
TLS 1.2 sollte nicht das Problem sein, 1.0 schließe ich gerne aus (ist auch schon länger BSI-Empfehlung).

Den Port (1194 oder je nachdem) muss ich aber trotzdem weiterhin von der Fritzbox durchreichen lassen, richtig?
 
Also auf dem Pi1 dauert es ~30 Stunden mit 4096bit ;-)
Ja einfach von der Fritzbox den Port auf den Raspberry durchreichen und in der .ovpn Client Datei gibst du dann deine DynDNS Adresse an.

Also eigentlich brauchst du nur das hier noch zusätzlich in deine openvpn.conf zu dem was im Tutorial steht und eben in der .ovpn Client Datei die entsprechenden Sachen auch einfügen damit sie auch genutzt werden.

Code:
ca /pfad/ca.crt
cert /pfad/server.crt
key /pfad/server.key
dh /pfad/dh4096.pem
tls-auth /pfad/tls-auth.key 0
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
cipher AES-256-CBC
auth SHA512
user irgendeinuser <- vorher anlegen!
group nogroup
 
Zuletzt bearbeitet:
in der .ovpn Client Datei gibst du dann deine DynDNS Adresse an
Die DynDNS "Adresse" kenn ich ja nicht immer automatisch, oder meinst Du die entsprechende Domain?
 
Danke für die schnelle Antworten!

Hast Du noch 'ne konkrete Empfehlung für einen Android Client für OpenVPN?
Hab gerade ein paar Bewertungen verschiedener Apps gelesen, irgendwer hat ja immer was zu meckern ;-)


Eben hab ich nochmal in die Fritzbox geschaut, die nimmt ja immerhin L2TP/IPSec - ich dachte die hat nur PPTP implementiert. Ich nehme an für meinen Bedarf reicht das auch, MITM sollte nicht gehen da der Pre-Shared Key nicht öffentlich ist......
Aber der Pi rödelt noch fleißig vor sich hin und ich werde das mit der dezidierten OpenVPN-Lösung jetzt in jedem Fall erstmal bis zum Ende durchexerzieren.
 
Der Pi war heute morgen fertig mit den 4096 bit, ich hab aber noch nix weiter gemacht.
Ein paar Verständnisfragen hätte ich allerdings noch - ich will ja schließlich auch verstehen, was ich hier warum tue:

In deiner conf stehen mehr Cipher-Suites als im "Hardening"-Artikel, warum listest Du nicht nur die eine, die Du auch verwendest?
"auth SHA512" - SHA512 taucht in der TLS-Liste nicht auf, oder ist das nicht zur Verwendung für "tls-auth" gedacht :confused:
Den User "pi" hab ich umbenannt/umgezogen, das ist der einzige User auf dem Pi. Der "irgendeinuser" wäre also der einzige, der auf dem Pi eingerichtet ist, oder macht da eine andere Handhabe Sinn? Wird nämlich langsam recht komplex, kann ich mir gar nicht alles merken ;-)

Eine Frage noch zu den Zertifikaten: Wenn ich für client1, 2, 3 die Zertifikatsfiles zippe und sagen wir mal auf meinem Laptop, meinem Handy und dem meiner Frau unter openVPN einrichte, sollte das ja fluppen. Mal angenommen ich verliere mein Handy, dann würde ich die Revocation in etwa so handhaben wie hier beschrieben, korrekt?
(Klingt nämlich auch komplexer als zunächst angenommen.)

OpenVPN auf Android hab ich installiert und freue mich schon aufs "Weiterfrickeln" - heute bin ich aber leider erst spät zu Hause, mal schauen wie weit ich da noch komme....
 
Ich gebe mehrere cipher-suites an weil ich dann flexibel bin auf Client Seite wenm nich mal mit einem anderen Client zugreifen muss der nicht alles unterstützt, deswegen kann man mehrere hintereinander angeben und der Client nimmt dann das bestmögliche.

Ne eben nicht der pi User den du umbenannt hast, denn den benutzt du ja bspw. um dich per SSH auf den Pi zu verbinden bzw. für alle normalen Sachen eben. Dem openvpn gibst du einen eigenen Benutzer, bspw. openvpn oder kuzorravpn.

Das SHA512 hat nix mit dem tls-auth zutun damit gibst du nur an welche SHA Version für den Handshake genutzt werden soll. Das tls-auth ist eigentlich relativ unnötig ich hab es aber trotzdem drin, damit wird nur gewährleistet das der Server auch wirklich der Server ist für den er sich ausgibt aber solange man nur auf seine eigenen Server connectet sollte das ja sowieso gegeben sein.

Und ja die Zertifikate revoken ist halt einmal Aufwand die Liste erstellen am Anfang aber wenn das mal läuft musst du eigentlich immer nur 2-3 Befehle eingeben und das wars und so oft kommt das ja auch nicht vor... https://www.hackerway.ch/2013/01/11/how-to-successfully-revoke-an-openvpn-certificate/
 
Herrlich, das funktioniert ja tatsächlich :bigok:

Hab jetzt schonmal ein wenig die Ports auf "nicht-standard" verstellt, tls-auth verwende ich auch, die gleiche Cipher-Suite wie in Deiner Conf - alles supi. Schon mal vielen Dank für die Links und die Erläuterungen!

Nochmal zum user:
Wenn ich hier unter Security nachschaue, finde ich nichts von "irgendeinuser", den man anlege sollte. Ich verwende nur mein Handy als Client, das geht mit "nobody" und erscheint mir als die im Artikel empfohlene Variante :confused:
Gehe ich recht in der Annahme, dass ich keinen User brauche, wenn ich mich eh nie über ein Windows-System verbinden will?

Die einzige weitere Verwendung (neben dem Handy) wird ein Linux-Sys sein:
Ich möchte meinen "Schlüsselbund-Stick", den ich eh immer dabei habe, mal wieder updaten und darauf die VPN-Verbindung über den Network-Manager von Xubuntu einrichten. Das wird quasi "Client2", und diesen Stick kann ich auch auf meinem Arbeits-Laptop booten, der eigentlich Windos 7 als OS hat.


Jedenfalls bin ich bis hierhin schon mal sehr happy - Internet geht über VPN und ins Heimnetz bin ich auch vernünftig eingebunden. Jetzt werde ich mich wohl schon mal separat an den RasPi für Seafile machen - zunächst mal ohne den VPN-Pi, bevor ich das ganze "himbeerige Heimnetz" dann wieder zusammenstecke......
 
Update oben eingefügt, was jetzt Stand der Dinge ist.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh