Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    OpenVPN (site to site) keine Verbindung über ds-lite trotz Portmapper

    Scheduled Pinned Locked Moved Deutsch
    12 Posts 4 Posters 739 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TommoT
      last edited by

      Moin,

      ich versuche jetzt schon seit mehreren Tagen eine OpenVPN (site to site) Verbindung zwischen zwei Netzwerken herzustellen. In meinem Anwendungsfall bestehen jedoch weitere Schwierigkeiten, die die einfachen Tutorials von YouTube, etc. unbrauchbar machen. Ich hoffe, mir kann jemand helfen!

      Im Detail:

      Site A (Server)

      • Router: pfSense 2.4.5-RELEASE-p1 -> direkt am Modem der DeutschenGlasfaser
      • Die pfSense erhält eine mehr oder weniger statische IPv6
      • Netzwerk: 192.168.178.0/24
      • Port für OpenVPN (1194 TCP/UDP) geöffnet

      Site B (Client)

      • Router: Asus RT-AX88U -> an eine FritzBox 7390 als Modem (alle Ports zum Asus geöffnet)
      • Der Asus Router dient als "richtiger Router" für andere Clients
      • Auf dem Asus ist die erweiterte Firmware Asus Merlin installiert
      • Netzwerk: 192.168.50.0/24

      Mein Ziel:

      • Eine Site to Site Verbindung der beiden Netzwerke, dass Clients der jeweiligen Seiten miteinander kommunizieren können.

      Die Probleme, die ich bei dieser Konfiguration habe, sind:

      • Die Deutsche Glasfaser gibt bei den Privattarifen die IPv4 nur als "ds-lite", somit habe ich schon über einen v-Server versucht via 6tunnel den TCP-Port für https (443) und OpenVPN (1194) zu öffnen, bzw. an meine IPv6 weiterzuleiten. Dadurch habe ich es auch bereits geschafft die pfSense-Oberfläche mit der IPv4-Adresse des vServers aufzurufen.

      Mein bisheriger Erfolg:

      • Nach langem Rumprobieren bekomme ich bei der pfSense im FireWall-Log angezeigt, dass über das WAN-Interface und die Portfreigabe, die ich für OpenVPN erstellt habe ein Zugriff erlaubt wurde. Der Tunnel ansich wird aber nicht aufgebaut und der Asus Router bricht nach mehreren Versuchen ab, siehe Log.

      Das ist der Log vom Asus Router:

      Oct 15 19:01:37 httpd: nvram_check fail: nvram vpn_client_reneg over length (6 > 5)
      Oct 15 19:01:37 rc_service: httpds 1114:notify_rc start_vpnclient1
      Oct 15 19:01:37 ovpn-client1[345]: disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
      Oct 15 19:01:37 ovpn-client1[345]: OpenVPN 2.4.7 arm-buildroot-linux-gnueabi [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Jul 31 2019
      Oct 15 19:01:37 ovpn-client1[345]: library versions: OpenSSL 1.1.1c 28 May 2019, LZO 2.08
      Oct 15 19:01:37 ovpn-client1[346]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
      Oct 15 19:01:37 ovpn-client1[346]: Outgoing Static Key Encryption: Cipher 'AES-128-CBC' initialized with 128 bit key
      Oct 15 19:01:37 ovpn-client1[346]: Outgoing Static Key Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
      Oct 15 19:01:37 ovpn-client1[346]: Incoming Static Key Encryption: Cipher 'AES-128-CBC' initialized with 128 bit key
      Oct 15 19:01:37 ovpn-client1[346]: Incoming Static Key Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
      Oct 15 19:01:37 ovpn-client1[346]: TUN/TAP device tun11 opened
      Oct 15 19:01:37 ovpn-client1[346]: TUN/TAP TX queue length set to 1000
      Oct 15 19:01:37 ovpn-client1[346]: /bin/ip link set dev tun11 up mtu 1500
      Oct 15 19:01:38 ovpn-client1[346]: /bin/ip addr add dev tun11 local 10.8.8.2 peer 10.8.8.1
      Oct 15 19:01:38 ovpn-client1[346]: updown.sh tun11 1500 1575 10.8.8.2 10.8.8.1 init
      Oct 15 19:01:38 ovpn-client1[346]: TCP/UDP: Preserving recently used remote address: [AF_INET]82.165.XX.XXX:1194
      Oct 15 19:01:38 ovpn-client1[346]: Socket Buffers: R=[87380->87380] S=[16384->16384]
      Oct 15 19:01:38 ovpn-client1[346]: Attempting to establish TCP connection with [AF_INET]82.165.XX.XXX:1194 [nonblock]
      Oct 15 19:01:39 ovpn-client1[346]: TCP connection established with [AF_INET]82.165.69.184:1194
      Oct 15 19:01:39 ovpn-client1[346]: TCP_CLIENT link local: (not bound)
      Oct 15 19:01:39 ovpn-client1[346]: TCP_CLIENT link remote: [AF_INET]82.165.XX.XXX:1194
      Oct 15 19:03:48 ovpn-client1[346]: Connection reset, restarting [-1]
      Oct 15 19:03:48 ovpn-client1[346]: SIGUSR1[soft,connection-reset] received, process restarting
      Oct 15 19:03:48 ovpn-client1[346]: Restart pause, 5 second(s)

      Und hier nochmal ein paar Bilder zur Konfiguration beider Router, in der Hoffnung, dass die Infos hilfreich sind.


      OpenVPN Status vom Asus Router
      Forum_1.PNG

      OpenVPN Konfiguration vom Asus Router
      Forum_2.PNG

      Portfreigabe der pfSense
      Forum_3.PNG

      FireWall Log der pfSense
      Forum_4.PNG

      Ich hoffe mir kann jemand helfen. Danke im Voraus!
      Tom

      1 Reply Last reply Reply Quote 0
      • RicoR
        Rico LAYER 8 Rebel Alliance
        last edited by Rico

        Wieso nimmst du nicht Site B als Server? Dann kannst du dir die vServer Krücke sparen und schon mal als Problem ausschließen. Es spielt später im S2S Betrieb bei OpenVPN überhaupt keine Rolle wer Client oder Server ist.

        EDIT: TCP als Tunnel Protocol ist keine gute Idee, nicht ohne Grund ist UDP erst mal default bei OpenVPN.

        -Rico

        T 1 Reply Last reply Reply Quote 1
        • T
          TommoT
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • T
            TommoT @Rico
            last edited by

            @Rico

            Danke Rico für Deine Antwort. Ja, die Idee, dass man die pfSense als Client hat, hatte ich auch schon. Der Asus Router ist mir dafür aber zu unübersichtlich.

            Nichtsdestotrotz konnte ich jetzt, nach weiterem Rumprobieren, eine VPN-Verbindung zwischen den Netzwerken spannen, die auch laut Log (Client und Server) erfolgreich funktioniert. Der Fehler betand daran, dass ich bei der pfSense unter Protocol -> "TCP on IPv4" only ausgewählt hatte. Im nachhinein kann das natürlich nicht funktionieren, da der vServer seine IP ja auch auf eine IPv6 leitet. Also ein Denkfehler meinerseits. Mit der Einstellung TCP on IPv6 only funktioniert schonmal die Verbindung.

            Jetzt besteht aber noch das Problem, dass sich die Clients nicht anpingen können. Ich habe mehrfach versucht in der Client sowie Server conf. mit "push route" die Routen weiterzuleiten, wie es auch in der Anleitung steht, irgendwie klappt das aber nicht. Das Komische daran ist auch, dass sich Client und Server gegenseitig über die Tunneladresse anpingen können, was ja richtig ist, aber nur der Server (pfSense) über die IP-Adresse des Routers (192.168.178.50) den Client (Asus Router) anpingen kann, der Client aber nicht den Server über die IP des Servers. In der offiziellen Anleitung von OpenVPN stand auch etwas von "iroute" auf der Client Seite. Wenn ich das jedoch eintrage, baut sich nach Neustrat des Tunnels keine Verbindung mehr auf.


            Serverkonfiguration OpenVPN
            Forum_1.PNG
            IPv4-Routingtabelle des Servers (pfSense)
            Forum_2.PNG
            IPv4-Routingtabelle des Clients (Asus)
            Forum_4.PNG
            IPv4-Routingkonfiguration des Clients (Asus)
            Forum_6.PNG
            Ping-Versuch con Client (Asus) zum Server
            Forum_3.PNG

            Vielleicht hat ja jemand eine Idee...

            Tom

            1 Reply Last reply Reply Quote 0
            • JeGrJ
              JeGr LAYER 8 Moderator
              last edited by

              OK andere ganz ketzerische Frage:

              du bastelst dir die Verbindung zu dir wegen DG mit IPv6 über einen vServer. Warum nutzt du selbigen nicht für BEIDE Instanzen als Server? Also 2 S2S Tunnel, einmal von dir, einmal von deiner Site B zu jenem vServer mit OpenVPN. Dann die Routen halbwegs sinnvoll vergeben und das ganze läuft dann - eben als Relay über den vServer. Außer Traffic ist bei der Kiste ein Problem vom Vertrag her, sollte das die einfachste Variante sein, denn

              a) du kannst die Verbindung zum Server dann so aufbauen wie es für beide Sites am besten ist (bei A mit v6 und bei B mit v4 bspw.)
              b) du hast bei den Tunneln dann eine konkrete Gegenstelle die (eigentlich) immer erreichbar sein sollte (weil vServer meist ne höhere SLA haben als private Internet Anschlüsse ;))

              Das wäre zwar dann eher eine Art VPN-Stern/Relay aber am Ende solls ja einfach funktionieren. Und ein stabiler vServer mit v4/v6 ist als Gegenstelle wahrscheinlich einfacher wenn man ihn eh schon hat. :)

              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

              T 1 Reply Last reply Reply Quote 1
              • T
                TommoT @JeGr
                last edited by

                Ja, das wollte ich auch probieren, allerdings scheitert es bei mir immer bei der Einrichtung. Könnte man dieses Vorhaben auch mit dem OpenVPN-Access-Server auf dem vServer machen? Es sind ja eigentlich zwei Verbindungen kostenfrei... Und eine GUI ist für mich ein bisschen unkomplizierter als eine Commandline. Ich habe mich bereits ein wenig mit dem Access-Server beschäftigt, muss man unbedingt Certificates bzw. TLS benutzen oder geht das auch mit Shared Key? Ich fand für meinen Anwendungszweck bis jetzt eigentlich TLS/SSL etwas übertrieben. Kennt jemand gute Anleitungen zu diesem Thema (außer die Offizielle von OpenVPN)?

                1 Reply Last reply Reply Quote 0
                • RicoR
                  Rico LAYER 8 Rebel Alliance
                  last edited by

                  Kannst du nicht auf beiden Seiten pfSense nehmen und Site B ist der Server?
                  Ganz ehrlich....dann ist alles in 15 min erledigt, einfach auf beiden Seiten die Einstellungen 1:1 übernehmen und fertig. Das ist doch murks mit dem ASUS...

                  -Rico

                  1 Reply Last reply Reply Quote 0
                  • m0njiM
                    m0nji
                    last edited by

                    Ich bin zwar auch ein Freund von OpenVPN und auch IPsec Tunnels aber ich gebe mal nur noch eine weitere Möglichkeit mit, wenn es darum geht einzelnen Clients miteinander reden zu lassen: ZeroTier (https://www.zerotier.com/). Aus dem Ziel kann man nicht sofort ableiten ob das ganz spezielle Clients sind oder sich um eine große Anzahl von Clients handelt. So lange du aber von Windows/Linux/Macs oder gar NAS Endgeräten sprichst, ist eine sehr einfach Möglichkeit auch Zerotier. Völlig egal was für DS-Lite Murks du da auf beiden Seiten hast.

                    Intel i3-N305 / 4 x 2.5Gbe LAN @2.7.2-Release
                    WAN: Vodafone 1000/50, Telekom 250/40; Switch: USW Enterprise 8 PoE, USW Flex XG, US-8-60W; Wifi: Unifi 6 Lite AP, U6 Mesh

                    1 Reply Last reply Reply Quote 0
                    • JeGrJ
                      JeGr LAYER 8 Moderator
                      last edited by

                      @TommoT said in OpenVPN (site to site) keine Verbindung über ds-lite trotz Portmapper:

                      Und eine GUI ist für mich ein bisschen unkomplizierter als eine Commandline. Ich habe mich bereits ein wenig mit dem Access-Server beschäftigt, muss man unbedingt Certificates bzw. TLS benutzen oder geht das auch mit Shared Key? Ich fand für meinen Anwendungszweck bis jetzt eigentlich TLS/SSL etwas übertrieben. Kennt jemand gute Anleitungen zu diesem Thema (außer die Offizielle von OpenVPN)?

                      Wenn GUI einfacher ist - wo ist das Problem den Server erstmal mit pfSense zu konfigurieren, Konfigurationsdatei copy&paste auf den Server geworfen (Site2Site mit SharedKey - super einfach) und dann den Client auf er pfSense einrichten? Hab ich auch schon gemacht, war überhaupt kein Hexenwerk. Und Site2Site Shared Key Tutorials gibts wie Sand am Meer :)

                      Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                      If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                      1 Reply Last reply Reply Quote 0
                      • T
                        TommoT
                        last edited by

                        Sorry, dass ich mich erst jetzt melde. Ich habe nochmal die Variante mit dem OpenVPN-Access-Server auf dem vServer ausprobiert. Die Seite mit dem Asus-Router funktioniert. Auf der Seite der pfSense kommt jedoch kein Tunnel zustande. Wenn ich den Log richtig verstehe, sollte eine Verbindung kurzzeitig aufgebaut worden sein, sie wird allerding immer wieder unterbrochen. Die Certs sowie die Keys habe ich mehrmals auf Richtigkeit geprüft und beim Server die Accounts gelöscht und neu angelegt. Leider kein Erfolg... Vielleicht hat ja jemand eine Idee.

                        Hier der Log der pfSense:

                        Oct 22 18:41:34 openvpn 59556 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.
                        Oct 22 18:41:34 openvpn 59556 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
                        Oct 22 18:41:34 openvpn 59556 TCP/UDP: Preserving recently used remote address: [AF_INET]82.165.69.184:1195
                        Oct 22 18:41:34 openvpn 59556 Attempting to establish TCP connection with [AF_INET]82.165.69.184:1195 [nonblock]
                        Oct 22 18:41:35 openvpn 59556 TCP connection established with [AF_INET]82.165.69.184:1195
                        Oct 22 18:41:35 openvpn 59556 TCPv4_CLIENT link local (bound): [AF_INET]100.69.153.17:0
                        Oct 22 18:41:35 openvpn 59556 TCPv4_CLIENT link remote: [AF_INET]82.165.69.184:1195
                        Oct 22 18:41:35 openvpn 59556 Connection reset, restarting [0]
                        Oct 22 18:41:35 openvpn 59556 SIGUSR1[soft,connection-reset] received, process restarting

                        Und nochmal die Konfiguration dazu:


                        Forum_1.PNG
                        Forum_2.PNG
                        Forum_4.PNG
                        Forum_5.PNG
                        Forum_6.PNG

                        Anmerkung:
                        Beim TLS Key und der Serveradresse stehen natürlich die richtigen Daten.

                        die vom Access-Server ausgespunkte client.ovpn:

                        # Automatically generated OpenVPN client config file

                        Generated on Thu Oct 22 16:06:07 2020 by localhost

                        Default Cipher

                        cipher AES-256-CBC

                        Note: this config file contains inline private keys

                        and therefore should be kept confidential!

                        Note: this configuration is user-locked to the username below

                        OVPN_ACCESS_SERVER_USERNAME=test

                        Define the profile name of this particular configuration file

                        OVPN_ACCESS_SERVER_PROFILE=test@82.165.XX.XXX

                        OVPN_ACCESS_SERVER_CLI_PREF_ALLOW_WEB_IMPORT=True

                        OVPN_ACCESS_SERVER_CLI_PREF_BASIC_CLIENT=False

                        OVPN_ACCESS_SERVER_CLI_PREF_ENABLE_CONNECT=False

                        OVPN_ACCESS_SERVER_CLI_PREF_ENABLE_XD_PROXY=True

                        OVPN_ACCESS_SERVER_WSHOST=82.165.XX.XXX:1195

                        OVPN_ACCESS_SERVER_WEB_CA_BUNDLE_START

                        -----BEGIN CERTIFICATE-----

                        ////

                        -----END CERTIFICATE-----

                        OVPN_ACCESS_SERVER_WEB_CA_BUNDLE_STOP

                        OVPN_ACCESS_SERVER_IS_OPENVPN_WEB_CA=1

                        setenv FORWARD_COMPATIBLE 1
                        client
                        server-poll-timeout 4
                        nobind
                        remote 82.165.XX.XXX 1195 udp
                        remote 82.165.XX.XXX 1195 udp
                        remote 82.165.XX.XXX 1195 tcp
                        remote 82.165.XX.XXX 1195 udp
                        remote 82.165.XX.XXX 1195 udp
                        remote 82.165.XX.XXX 1195 udp
                        remote 82.165.XX.XXX 1195 udp
                        remote 82.165.XX.XXX 1195 udp
                        dev tun
                        dev-type tun
                        ns-cert-type server
                        setenv opt tls-version-min 1.0 or-highest
                        reneg-sec 604800
                        sndbuf 0
                        rcvbuf 0
                        auth-user-pass

                        NOTE: LZO commands are pushed by the Access Server at connect time.

                        NOTE: The below line doesn't disable LZO.

                        comp-lzo no
                        verb 3
                        setenv PUSH_PEER_INFO

                        <ca>
                        -----BEGIN CERTIFICATE-----
                        XX
                        -----END CERTIFICATE-----
                        </ca>

                        <cert>
                        -----BEGIN CERTIFICATE-----
                        XX
                        -----END CERTIFICATE-----
                        </cert>

                        <key>
                        -----BEGIN PRIVATE KEY-----
                        XXX
                        -----END PRIVATE KEY-----
                        </key>

                        key-direction 1
                        <tls-auth>

                        2048 bit OpenVPN static key (Server Agent)

                        -----BEGIN OpenVPN Static key V1-----
                        XX
                        -----END OpenVPN Static key V1-----
                        </tls-auth>

                        -----BEGIN RSA SIGNATURE-----

                        XXXX

                        -----END CERTIFICATE-----

                        -----BEGIN CERTIFICATE-----

                        XXX

                        -----END CERTIFICATE-----

                        Stand jetzt: Es kommt laut dem pfSense Status Screen nichts an.
                        Status : reconnecting, Connection-reset
                        Local Adress : (pending)
                        Remote Host : (pending)

                        1 Reply Last reply Reply Quote 0
                        • JeGrJ
                          JeGr LAYER 8 Moderator
                          last edited by

                          Default Logging zeigt zu wenig. Stell mal auf Verb 3 (Steht auch extra im Dropdown).

                          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                          1 Reply Last reply Reply Quote 0
                          • T
                            TommoT
                            last edited by

                            Moin, nach langem Probieren konnte ich nun das Problem lösen. Es lag daran, dass der OpenVPN-Access-Server nur (in den Standardeinstellungen) mit SHA1 läuft, nicht mit SHA 256. Das ist zwar nicht die sicherste Alternative, aber für diesen Zweck total ausreichend. Und es funktioniert! Noch schnell die Routen der jeweiligen Netze in den OpenVPN-Access-Server eingetragen und es klappt. Beide Seiten können sich anpingen!

                            Vielen Dank für alle Tipps und Anregungen.
                            Tom

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.