Hilfe benötigt für einen OpenVPN-Server mit Zugriff aufs LAN / UPnP

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Zusammen,

    ich bin reltiv neu im Thema Raspberry und Linux und arbeite viel mit Anleitungen und Tutorials um mich der Materie zu näher aber in diesem Fall komme ich nicht weiter und hoffe dass ihr mir helfen könnt.

    In meinem LAN habe ich zwei PI4 mit Rasbian-Buster auf Berryboot mit statischer LAN-IP am laufen.

    Und ein dritter Pi-Zero2 ist als Pi-Hole mit DHCP-Server am laufen...

    Auf einem Pi4 habe ich z.b. KODI per UPnP als Medien- und Samba-Server am laufen, der zweite Pi4 ist eine spielwiese wo ich zunächst sachen ausprobiere und wenn sie funktionieren versuche ich sie im primären Pi zu integrieren.
    Auf beiden PI4 habe ich auch OpenVPN installiert ("sudo apt-get install openvpn unzip") und kann bei bedarf ohne Probleme mit beiden PIs eine Verbindung zu belibigen VPN-Servern/standorten meines VPN-Anbieteres aufbauen.

    Das erwähne ich nur damit ihr wisst, dass es installiert ist und falls es dadurch zu problemen kommen kann. (Bei meinen versuchen einen eigenen VPN-Server aufzusetzen ist jedoch bisher keine VPN-Verbindung zu meinem VPN-Anbieter hergestellt damit sich hier nichts beeinflust...)

    Jetzt habe ich mir vorgenommen einen Eigenen VPN-Server aufzusetzen auf dem ich z.b. von meinem Smartphone über mobileDaten oder mit meinem Tablet im WLAN eines Familienmitglieds eine VPN-Verbindung zu meinem Heimnetzwerk aufbauen und Zugriff auf den KODI-Medien oder Pi-Samba-Server aufbauen kann. Dafür ist auf meinem Android-Gerät die OpenVPN-App aus dem Google-Playstore installiert und hier kann ich auch wenn ich die entsprechende .ovpn-Datei mit meinem Passwort bereitstelle eine Verbindung zu meinem privaten VPN herstellen.

    Später wenn alles klappt spiele ich noch mit dem Gedanken einen zweiten VPN-Server aufzusetzen welcher mit dem Pi-Hole zusammen arbeitet um auch unterwegs keine Werbung im Apps etc. angezeigt zu bekommen, aber das wird denken ich ein anderes Thema werden und ich glaube dazu auch schon tutorials zumindest vom titel her gesehen zu haben...

    Zurück zum Thema bezüglich VPN-Server mit zugriff aufs LAN/UPnP:

    Dafür habe ich mir als erstes ein Konto bei https://ddnss.de/ erstellt und habe es hinbekommen, dass dort meine WAN-IP durch den PI hinterlegt wird.

    Dafür bin ich wie folgt vorgegangen:

    ## Quellen aktualisieren ##

    sudo apt-get update && sudo apt-get upgrade

    ## DynDNS Client installieren ##

    sudo apt-get install ddclient

    Configuration ddclient

    Dynamic DNS service provider -> other

    Dynamic DNS server: leer lassen

    Dynamic DNS update protocol: dyndns2

    Username for dynamic DNS service leer lassen

    Password for dynamic DNS service leer lassen

    Network interface used for dynamic DNS service leer lassen

    DynDNS fully qualified domain names: leer lassen

    ## Konfiguration bearbeiten ##

    sudo nano /etc/ddclient.conf

    protocol=dyndns2

    use=web

    web=checkip.dyndns.com

    server=ddnss.de

    login=BENUTZERNAME__VON_DDNSS

    password='PWD'

    DOMAIN_NAME_VON_AKTUELLER_IP_BEI_DDNSS

    ## Dienst neustarten ##

    sudo /etc/init.d/ddclient restart

    ## Konfiguration testen ##

    sudo ddclient -daemon=0 -debug -verbose -noquiet

    das funktioniert auch soweit wunderbar :)1

    Aber ich glaube hier besteht noch kein automatismus, ich vermute hier müsste ich ggf. noch einen cornjob erstellen, kenne mich damit aber noch nicht aus. Ist im moment aber nebensächlich da ich mich im Bedarfsfall auch per VNC aufschalten und den Befehl "sudo ddclient -daemon=0 -debug -verbose -noquiet" mit einem Script ausführen kann und somit im Bedarfs fall auch die aktuelle IP-hinterlegt wird. ist zwar unschön. Aber das ist im moment nicht mein Problem es geht ja um den Zugriff auf den lokalen UPnP-Server mittels des VPN woran ich scheitere. Trotzdem wäre ich für anregungen dankbar...

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Jetzt möchte ich auf dem zweiten PI (ohne KODI und ohne Samba) einen OpenVPN-Server zum laufen bekommen (soll später wenn es klappt auf dem eigentlichen PI mit KODI und Samba-Server umziehen) mit welchem ich dann Zugriff auf mein LAN und alle darin befindlichen Endgeräte wie z.b. meinen ersten Pi4 mit dem KODI und Samba-Server bekomme.

    Jedoch schaffe ich nur einen OpenVPN-Server zum laufen zu bringen mit dem ich zwar auf meinem Handy oder Tablet die aktuelle WAN-IP meines Routers bekomme, jedoch bekomme ich keinen Zugriff auf den lokalen Samba-/KODI-UPnP-Server (getestet mit KODI und BubbleUPnP auf dem Android-Handy/Tablet)

    Derzeit habe ich versucht mittels PiVPN über OpenVPN den VPN-Server einzurichten dafür bin ich wie folgt vorgegangen:

    curl -L https://install.pivpn.io | bash

    Port 1234 #wurde geändert hier gebe ich nur beispielhaft 1234 an welcher nicht der realität entspricht

    OpenVPN 2.4 (oder neuer) nutzen ja

    256-bit certificcate

    Will clients use a Public IP oder DNS name to connect to your server

    -> DNS Entry Use a public DNS

    What is the public DNS name of this Server?

    -> DOMAIN_NAME_VON_AKTUELLER_IP_BEI_DDNSS

    Select the DNS Provider for your VPN Clients

    -> CloudFlare (ausprobieren bzw. suchen ob auch ddnss.de aufgelistet)

    Pi neustarten

    ## Konfigurationsdatei erzeugen ##

    pivpn add

    Enter a Name for the Client: VPN_Pi (Name wird auf dem Laptop/handy als VPN-Art angezeigt)

    How many day should the certificate last? 10

    Enter the Password for the client: (Password zum verbinden mit dem VPN)

    Ich weiß nicht was ich ändern oder einstellen muss um mein Ziel mit dem Zugriff auf den UPnP & Samba-Server mittels VPN-Verbindung zu bekommen.

    Ich habe schon herausgefunden, dass es wohl damit zusammen hängt, dass es sich hierbei um eine Layer-3-VPN-Verbindung handelt und ich angeblich eine Layer-2-VPN-Verbindung benötige.

    Dann wird aber auch manchmal von Bridging und portforwarding gesprochen.

    Leider finde ich keine brauchbare anleitung zu dem Thema und auch die Dokumentation bei OpenVPN bringt mich auch nur bedingt weiter.

    Das muss wohl damit zusammenhängen, dass laut der server.conf "dev tun" und nicht dev tab" steht aber wenn ich das von hand ändere führt das auch nicht zum ziel.

    Hatte auch einmal einen Beitrag geserhen von die rede davon war die zeile mit server auszukommentieren und server-brdging oder so ähnlich aufzuführen, jedoch hatte das nur zum Ergebnis, dass ich keine VPN-Verbindung mehr aufbauen konnte.

    anbei auch noch einmal der Inhalt der server.conf (PORT, CA, CERT, ... wurden umbenannt):

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    dev tun

    proto udp

    port 1234

    ca /etc/openvpn/easy-rsa/pki/ca.crt

    cert /etc/openvpn/easy-rsa/pki/issued/geheim.crt

    key /etc/openvpn/easy-rsa/pki/private/geheim.key

    dh none

    ecdh-curve prime256v1

    topology subnet

    server 10.82.165.0 255.255.255.0

    # Set your primary domain name server address for clients

    push "dhcp-option DNS 1.1.1.1"

    push "dhcp-option DNS 1.0.0.1"

    # Prevent DNS leaks on Windows

    push "block-outside-dns"

    # Override the Client default gateway by using 0.0.0.0/1 and

    # 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of

    # overriding but not wiping out the original default gateway.

    push "redirect-gateway def1"

    client-to-client

    client-config-dir /etc/openvpn/ccd

    keepalive 15 120

    remote-cert-tls client

    tls-version-min 1.2

    tls-crypt /etc/openvpn/easy-rsa/pki/ta.key

    cipher AES-256-CBC

    auth SHA256

    user openvpn

    group openvpn

    persist-key

    persist-tun

    crl-verify /etc/openvpn/crl.pem

    status /var/log/openvpn-status.log 20

    status-version 3

    syslog

    verb 3

    #DuplicateCNs allow access control on a less-granular, per user basis.

    #Remove # if you will manage access by user instead of device.

    #duplicate-cn

    # Generated for use by PiVPN.io

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Auchso falls relevant meine LAN-IPs sind im Bereich 192.168.2...

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Ich bitte um unterstützung für Dummies wie ich vorzugehen habe oder was ich anders machen muss damit der Zugriff auf UPnP über den VPN funktioniert.

    Mit freundlichen Grußen

    xman1985

    2 Mal editiert, zuletzt von xman1985 (1. Mai 2022 um 20:07)

  • Hilfe benötigt für einen OpenVPN-Server mit Zugriff aufs LAN / UPnP? Schau mal ob du hier fündig wirst!

  • Im Grunde ganz einfach.

    Auf dem PI mit dem Openvpn Server muss IPv4 forward enabled sein.

    sudo nano /etc/sysctl.conf

    Dort dann ganz unten folgenden Eintrag machen :

    Code
    net.ipv4.ip_forward = 1

    Damit "Routet" der PI jetzt die Pakete zwischen den Netzen.
    Aktivieren mit sudo sysctl -p


    Jetzt müssen wir noch dafür sorgen dass dein Heimnetz auch das VPN Netz kennt.

    Bei einer Fritzbox ganz einfach, abere Router müssen evtl. die Schritte angepasst werden.

    Gehe nach Heimnetz->Netzwerk->Netzwerkeinstellungen.
    Dort auf der Seite dann unten auf den Button "IPv4-Routen
    Dann auf der Seite auf "Neue IPv4-Route" klicken.

    Code
    Im folgenden Fenster dann die Eingaben :
    10.82.165.0
    255.255.255.0
    <Die IP von dem OpenVPN-PI>

    Damit hast du deinem Router gesagt das er das Netz 10.82.165.0/24 hinter dem OpenVPN PI findet. Er routet die Pakete jetzt dort hin.

    Der OpenVPN-PI sollte eine feste IP Adresse haben, oder zumindest vom DHCP immer die selbe IP zugewiesen bekommen.

    Einmal den OpenVPN PI neu starten und fertig.

    BTW:

    Zitat

    How many day should the certificate last? 10

    Das Zertifikat ist somit nur 10 Tage gültig, ob das wirklich so gewollt ist musst du entscheiden.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Hey,

    Danke für die schnelle Antwort :)

    Das mit der Gültigkeitsdauer von 10Tagen ist nur zu Testzwecken gewesen, später werde ich die Dauer hoch setzen.

    Bei mir war in der sysctl.conf schon "net.ipv4.ip_forward = 1" gesetzt.

    Habe es aber noch ein zweites Mal unten hingeschrieben.

    jetzt bekomme ich folgende ausgabe beim ausführen von "sudo sysctl -p"

    net.ipv4.ip_forward = 1

    net.ipv6.conf.all.disable_ipv6 = 1

    net.ipv6.conf.default.disable_ipv6 = 1

    net.ipv6.conf.lo.disable_ipv6 = 1

    net.ipv6.conf.eth0.disable_ipv6 = 1

    net.ipv4.ip_forward = 1

    -> Also habe ich den neuen/doppelten Eintrag wieder entfernt.

    (

    und Falls die Frage aufkommt, ipv6 habe ich bewusst deaktiviert, da mir aufgefallen ist wenn IPv6 aktiv ist und ich einen VPN-Tunnel zu einem Server von meinem VPN-Anbieter aufbaue, dann lässt sich beim check über diverse WhatIsMyIP.Webseiten bei aktiver IPv6 noch teilweise meine reale Region ermitteln. Bei deaktivierter IPv6 nicht...

    )

    Leider habe ich keine Fritzbox nur einen Speedport W925 und dort gibt es anscheinend keine Möglichkeit IPv4-Routen zu erstellen.

    Ich kann da nur Ports freischalten/umleiten oder aber Geräten eine statische IP zuweisen.

    Die statische IP habe ich im Router, im PI und zum anderen im DHCP-Server meines Pi-Holes eingestellt...

    Kann ich nicht ggf. irgendwie auf dem PI eine Bridge zwischen eth0 und tun0 erstellen wodurch dann die Pakete vom LAN in den Tunnel und andersherum geroutet werden oder kann ich diese von dir vorgeschlagene IPv4-Route irgendwie auf dem PI4 mit dem VPN-Server oder im Pi-Hole realisieren? Wobei ich das ungern im Pi-Hole machen wollen würde bzw. nur wenn ich auch gleichzeitig weiß wie ich es bei nicht funktionieren wieder Rückgängig machen kann.

  • Die könntest noch den Tunnel natten, dann geht alles über die IP des OpenVPN PI.
    Aber da bin ich dann raus, NAT mache ich wirklich nur wenn es nicht anders geht.

    Vielleicht kann da jemand anders weiter helfen der sich mit der NAT Thematik besser auskennt ?
    rpi444 vielleicht ?

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!