Zugriff auf Server oder eingehendes VPN mit DS-Lite-Anschlüssen

Wer z.B. bei einem günstigen DSL-Anbieter oder meist bei den Kabel-Anbietern (um diese geht es nachfolgend) mit einem DS-Lite-Anschluss bedient wird, hat zwar in der Regel beim durchschnittlichen Surfen keine Probleme, bekommt aber beim Betrieb eigener öffentlich zugänglicher Server oder wenn eingehendes VPN verwendet werden soll Schwierigkeiten, da zwar ein IPv6-Subnetz zur Verfügung steht oder keine öffentlich zugängliche IPv4-Adresse.

Mal abgesehen von den Gegebenheiten des Kabelanschlusses, da es ein shared medium ist (je mehr dran hängen, desto bescheidener wird’s) und meist die Upload-Rate eher mässig ausfällt, macht einem das Fehlen einer öffentlichen IPv4-Adresse das Leben schwer, da IPv6 nicht unbedingt überall funktioniert.

Bei (Business-)DSL und Standleitungen sieht die Welt in der Regel anders aus. Je nach Region kann die Lage allerdings eine ganz andere sein wie Gespräche mit Kollegen neulich auf einer Schulung zeigten. Mitunter ist DSL keine Lösung, da nicht verfügbar oder grottenschlecht, so das dann eigentlich nur Kabel übrig bleibt (teuere Standleitungen, sofern sie überhaupt angeboten oder gebaut werden und SkyDSL lassen wir mal außen vor). Da es ja nach Anbieter oder sogar mit dem gleichen Anbieter und unterschiedlichen Ansprechpartner durchaus kuriose Geschichten geben kann, kommt erschwerend hinzu.

Eine öffentliche IPv4-Adresse gibt es im Regelfall nur mit Geschäftskundentarif, sofern verfügbar. Ein Gewerbenachweis kann dafür nötig sein, so mancher Kollege berichtete dabei, das mal danach gefragt wird, mal nicht, also irgendwie nicht einheitlich. Richtig witzig wurde dieses Thema bereits bei freien Berufen, da dort i.d.R. kein Gewerbe angemeldet ist. Ob der Anbieter das dann akzeptiert ist wiederum so eine (weitere) Sache.

Lange Vorrede. Jetzt hat es uns dieses Thema erwischt bei einer Kundin (freier Beruf) und nur ein Vodafone- (vormals Kabel Deutschland) Anschluss vorhanden. Es soll ein VPN verwendet werden, die Daten bleiben im Haus, also eingehend. Vorhanden ist eine AVM FRITZ!BOX 6490 Cable vom Anbieter. Der Anruf bei der Hotline war einigermaßen ernüchternd: Ja, Business-Tarif mit IPv4 wäre möglich, aber erst nach Ablauf der restlichen Vertragslaufzeit (ca. ein Jahr) und andere aktuell genutztes Tarif-Vorteile (TV/Handy/…-Komplettpaket) würden verloren gehen. Man kann sagen: Doppelautsch und meiner Meinung nach nicht im Sinne des Kunden, genau genommen auch nicht im Sinne des Anbieters. So lange und mit so vielen Nachteilen konnte und wollte man nicht warten, also musste ein Plan B her.

Dieser sieht so aus, das mit von IPv4 auf IPv6 tunnelt oder wenn man so will umleitet. Das Ganze geht relativ einfach und schnell mit wenig Aufwand von statten. An dieser Stelle kommt ein wenig Linux und das Paket 6tunnel ins Spiel, mit dessen Hilfe das Vorhaben schnell und gut umgesetzt werden kann. Auf diese Weise können recht bequem TCP-Verbindungen von IPv4 auf IPv6 umgeleitet werden. UDP- oder IPsec geht (leider) nicht.

Nebenbei bemerkt: Wem das Einrichten und betreiben eines Root- oder vServer zu aufwendig ist, der kann auf Dienste wie z.B. Feste-IP.Net – Portmapper (kostenpflichtig) zurückgreifen.

Voraussetzungen

Ein Root- oder vServer mit einer öffentlichen IPv4- und IPv6-Adresse und einem beliebigen Linux oder BSD. Nachfolgend wird Debian verwendet.

Zugang zum Provider-/Kabel-Router. In diesem Fall die zuvor erwähnte FRITZ!BOX, die Daten waren der Kundin bekannt, von daher kein Problem.

Die IPv6-Adresse des Routers/der FRITZ!BOX und des dahinter liegenden OpenVPN-Servers müssen bekannt sein. Beides lässt sicht am Beispiel der FRITZ!BOX auf der Status-Seite und in der Heimnetzübersicht auslesen:

Ein OpenVPN-Server hinter dem Provider-/Kabel-Router. Das IPsec-basierte VPN der FRITZ!BOX kann aufgrund der Gegebenheiten nicht verwendet werden. Da die Kundin ein Synology-NAS einsetzt, war OpenVPN kein Problem. Alternativ kann z.B. ein Raspberry PI, pfSense, OPNsense, usw. verwendet werden. Wichtig ist, das man den OpenVPN-Server von „udp“ (Voreinstellung/Standard) auf „tcp“ umstellen kann.

Schritt 1: Root- oder vServer vorbereiten

Wer (noch) keinen solchen Server hat kann günstig z.B. bei active-servers einen Mieten oder das kostenlose DHP Minipaket von KAMP nutzen. Letztgenanntes wurde für dieses Szenario herangezogen.

Wofür man sich entscheidet ist vom persönlichen Anspruch als auch ggf. den Datenmengen abhängig. KAMP beschränkt auf 10GB mit Gigabitgeschwindigkeit pro Tag (danach wird auf 10Mbit reduziert, kann erweitert werden). Damit kann man imho schonmal was anfangen. Wichtig ist, das man sich alle paar Wochen mal am ControlCenter anmeldet, da man sonst wegen Inaktivität bzw. Nicht-Nutzung rausfliegt:

Die neuen KAMP DHP Paketpreise

KAMP – FAQ

Da nur ein wenig Netzwerkverkehr durchgeleitet wird, werden keine grossartigen Ressourcen benötigt. Von daher Reichen die eine vCPU, der 1GB RAM und die 25GB Storage dicke aus. Als Betriebssystem wird schlicht das aktuelle Debian mit den Vorgaben installiert.

Bei KAMP wird „ab Werk“ zunächst keine Verbindung zum vServer zugelassen. Dies verhindert die Firewall des DHP. Das installierte Linux lässt sich über die Konsole des DHP ControlCenter konfigurieren, alternativ kann man „ssh“ (Port 22/tcp) freischalten. Für OpenVPN wird der Port „1194/tcp“ (Nicht udp!) benötigt. Möchte man auch auf die FRITZ!BOX von extern zugreifen, so ist der entsprechende Port freizuschalten.

Hinweis: Der Port, den die FRITZ!BOX verwendet, wird einmalig dynamisch bei der Einrichtung von z.B. MyFRITZ festgelegt, dieser kann unter „Internet – Freigaben“ eingesehen bzw. geändert werden.

Schritt 2: 6tunnel installieren, konfigurieren und automatischen Start einrichten

Läuft der Root- bzw. vServer soweit, kann 6tunnel installiert werden:

apt install 6tunnel

Die Syntax des Tools ist simple:

sudo 6tunnel 1194 <Ziel-IPv6-Adresse_oder_Hostname> 1194

So würde z.B. die Weiterleitung von OpenVPN schon funktionieren. Für jeden Port muss eine eigene 6tunnel-Instanz gestartet werden. Damit das automatisch z.B. nach einem Reboot funktioniert, kann man das Ganze als Shell-Skript verpacken und mittels cron ausführen lassen:

#!/bin/sh

# Da das Skript direkt nach dem (Re)Boot ausgefuehrt wird,
# erst einen Moment warten

sleep 10s

# Ggf. vorhandene 6tunnel-Instanzen beenden

killall 6tunnel

# Pause

sleep 10s

# 6tunnel starten

# FritzBox
6tunnel 49073 <Ziel-IPv6-Adresse_oder_Hostname> 49073

# OpenVPN
6tunnel 1194 <Ziel-IPv6-Adresse_oder_Hostname> 1194

Beim Test gab es direkt nach dem Neustart erstmal Schwierigkeiten, das nicht alle Tunnel aufgebaut wurden, daher die Pause von 10 Sekunden.

Nicht vergessen: Das Skript mittels „chmod +x tunnels.sh“ ausführbar machen!

Dieses Shell-Skript muss zwingend mit root-Rechten ausgeführt werden. Daher es im crontab des root-Benutzers eintragen:

sudo crontab -e
@reboot /home/debian/tunnels.sh

Ab nun werden die Tunnel direkt nach dem Neustart, genau genommen nach der Pause, aufgebaut.

Schritt 3: Die FRITZ!BOX-Freigabe(n) einrichten

Die FRITZ!BOX-Firewall muss die Anfragen zu sich selbst bzw. zum OpenVPN-Server durchlassen. Dazu die entsprechenden Freigaben unter „Internet – Freigaben – Portfreigaben“ erstellen:

Wichtig: Nur den „Internetzugriff über IPv6“ aktivieren, andernfalls klappt es in dieser Konstellation nicht!

Bemerkung: Für die FRITZ!BOX selbst muss keine gesonderte Freigabe erstellt werden, dies geschieht z.B. bei der Einrichtung von MyFRITZ automatisch und wird an dieser Stelle auch nicht angezeigt.

Schritt 4: OpenVPN-Server einrichten

Je nachdem was man für einen OpenVPN-Server betreibt, fällt die Einrichtung unterschiedlich komplex aus. Wie bereits erwähnt kommt hier ein Synology-NAS zum Einsatz, daher ist die Einrichtung sehr einfach:

  • Über das „Paket-Zentrum“ den „VPN Server“ installieren.
  • Aus dem Hauptmenü dann „VPN Server“ starten.
  • Unter „VPN Server einrichten“ auf „OpenVPN“ klicken.

Wenn man möchte, kann man die Voreinstellungen belassen. Wichtig ist nur das Protokoll von „udp“ auf „tcp“ zu ändern:

Hinweis: Unter „Privileg“ können die VPN-Benutzer eingeschränkt werden. Es sollten nur die Benutzer das Recht haben sich per VPN einzuwählen, für die es relevant ist.

  • Abschließend auf „Konfigurationsdatei exportieren“ klicken.

Schritt 5: OpenVPN-Client installieren und Einstellungen importieren

Je nach Betriebssystem stehen verschiedene OpenVPN-Clients zur Verfügung. Für Windows z.B. das Original oder die Variante von Securepoint, für MacOS z.B. Tunnelblick, usw. Unter Windows verwende ich gerne den Client von Securepoint, da dieser durch das „versteckte“ Protokoll und die bessere farbliche Statusmeldung für den gemeinen Anwender leichter zu verstehen bzw. zu handhaben ist.

Bevor man nun die zuvor exportierte Konfigurationsdatei importiert, muss man das ZIP-Archiv entpacken und die darin enthaltene „VPNConfig.ovpn“-Datei editieren. Bei „YOUR_SERVER_IP“ muss die IPv4-Adresse des vServers eingetragen werden. Nun kann die Datei in den jeweiligen OpenVPN-Client importiert werden. Beim (ersten) Verbindungsaufbau wird man nach Benutzername und Kennwort gefragt. Es gelten die gleichen Angaben, wie wenn man z.B. ein Netzaufwerk verbindet.

(Abschluss-)Bemerkung

Die hier vorgestellte Lösung ist nicht der einzige Weg, neben 6tunnel gibt es weitere Optionen, auch liese sich mittels VPN noch was drehen. Mir erschien dieser Weg neben der Nutzung externer Portmapper-Dienste soweit als möglichst einfachster und kostengünstigster.

Quellen

Björn’s Techblog – Server hinter Unitymedia DS-Lite Anschluss betreiben

bjoerns1983/6tunnel_command.sh

wojtekka/6tunnel

ubuntu manuals – 6tunnel

askubuntu – How to set up a root cron job properly

nixCraft – Linux Execute Cron Job After System Reboot

Update 26.06.2018

Zur Info:

Feste-IP.net – Supportforum – Anleitung OpenVpn Unitymedia/DS-Lite Iphone

Neben 6tunnel soll das Ganze, gemeint das Weiterleiten von IPv4 zu IPv6, zudem mittels socat oder xinetd gehen:

serverfault – Use iptables to forward ipv6 to ipv4?

46 Kommentare

  • Interessanter Artikel.
    Zu VF(Kabel) ich wurde vor nehm Jahr+- ohne zu murren auf IPv4 umgestellt, ich musste nur sagen warum (Homeserver, VPN, reichte).

    Ich habe allerdings direkt bei der technischen Hotline und nicht im Verkauf angerufen – vlt. macht das den Unterschied ?

  • Thomas Schäfer

    Den angemieteten Server und den Zwang zu TCP kann man übrigens umgehen, indem man einfach auch auf Clientseite IPv6 nutzt.

  • @Daniel:

    Wie erwähnt, kommt auf den Anbieter, Tarif und wohl auch darauf an, wen man am Rohr hat. Manche sind des Könnens und Willens mächtig, das (kurzfristig) zu ändern, Manche nicht. Das mag auch von der Region abhängig sein, denn die Netze sind nicht überall gleich.

    @Thomas:

    Stimmt, aber wenn das nicht geht, bleibt nur der Umweg. In manchen LANs wird IPv6 immer noch gefiltert und auch der Weg durch’s Internet ist nicht immer ohne Unterbrechung gegeben. Bei einer AVM-Schulung neulich kam das Thema auch auf. Der Schulungsleiter erzählt dabei von seinen Tests, da er viel unterwegs ist kann er von vielen unterschiedlichen Standorten und Netzen aus probieren und meinte dazu, das er nur im geringen Prozentbereich mit IPv6 durchkommt.

  • Thomas Schäfer

    Hätte er eine Sim der Telekom dabei gehabt, hätte er andere Erfahrungen gemacht. Hat er auch etwas dazu gesagt, warum AVM kein zeitgemäßes VPN implementiert?
    AVM ist doch der Grund warum man zu solchen Hacks greifen muss.

  • Über welche Wege alles getestet wurde und wird kann ich nicht beantworten. Aus eigener Erfahrung kann ich sagen, das eben IPv6 nicht überall oder durchgängig tut.

    Was ist gegen IPsec einzuwenden bzw. definiere „zeitgemäßes VPN“?
    Ich persönlich ziehe OpenVPN vor, weil imho einfacher und störungsfreier.

    Aber dieser Workaround oder Hack wenn man so möchte hat jetzt nichts speziell mit AVM oder IPsec zu tun, sondern eben DS-Lite und IPv6.

    Früher, ist x Jahre her, hatte ich mehr Ärger mit IPsec als heute. Das mag daran liegen, das heute das „durchleitende“ Equipment besser geworden ist. Seinerzeit gab es gerne mal Probleme in der Richtung, das z.B. durch manche Router nur ein IPsec-Tunnel durchgelassen oder die Pakete irgendwie verstümmelt wurden.

  • Thomas Schäfer

    Gegen IPsec ist nichts einzuwenden,nur gegen fehlendes IPsec via IPv6.
    Da gibt es zwar auch noch Hürden, dies steht außer Frage, nur Hürde Nr.1 ist die nicht vorhandene Implementierung in der Fritzbox.

  • Hm, ok. Das mag an der Zielgruppe für diese Router liegen, ist halt hauptsächlich SoHo. Wer mehr machen möchte kann ja einen anderen Router oder einen eigenen VPN-Server auf Raspi-Basis etc. nutzen. Oder dann auf Basis von ssh oder stunnel tunneln, kommt halt immer darauf an. Zum Glück hat man heute mehr, einfacher oder günstigere Möglichkeiten als z.B. vor 15 oder 20 Jahren.

  • Thomas Schäfer

    Die Zielgruppe „SoHo“ ist aber hauptsächlich von DS-lite ( und damit IPv6-only für VPN-Server) betroffen.
    Du bist nicht AVM. Du hast einen Workaround dokumentiert. Vielen Dank dafür!

  • danke schonmal für die Tipps, allerdings wäre ich um eine kleinere schritt für schritt anweisung gerade beim Server einrichten sehr dankbar. ich komme nicht aufs debian drauf und kann auch keine kommandos eingeben.

  • Firewall bei KAMP konfiguriert?
    Klappt der Zugriff direkt bei KAMP auf der Konsole?

  • hallo andy, da gehts schon los 😀 ich kann die konsole öffnen, er verbindet sich auch, allerdings gehts mit dem login dann schon nicht weiter. Ich muss aber acuh gestehen, dass ich mit linux nicht wirklich vertraut bin, nen raspi als homematic server einzurichten hab ich aber hinbekommen. Sollte also Grund zur Hoffnung geben.

  • Was ich schonmal hatte war, das der Browser getreikt hatte und man gar nicht so wirklich auf die Konsole gekommen ist.
    Von daher erstmal die Frage, ob überhaupt eine Abfrage nach den Anmeldedaten kommt und ggf. mal mit einem anderen Browser testen.

  • die konsole öffent sich und ich darf auch die login daten eingeben. Nutzen tu ich den neusten Firefox, ich probier später aber auch mal den Inet explorer

  • Firefox und Chrome/Chromium ist i.d.R. völlig ok. Ggf. macht auch ein Virenschutz Probleme. IE macht meist mehr Probleme als das er nutzen bringt.
    Was genau passiert denn nach der Eingabe von Benutzername/Kennwort? Bleibt die Konsole schwarz und erscheint nur ein Eingabeprompt oder erscheint überhaupt nichts?
    Der Vollständigkeit halber: Auf der Konsole gibt es keine grafische Oberfläche.

  • die konsole bleibt schwarz mit einem grünen Kästchen, oder aber er meldet immer falsche LoginDaten.

  • Der Standardbenutzername bei KAMP nach dem Setup lautet „debian“ + das Kennwort. Je nachdem was man für Sonderzeichen im Kennwort hat, kann das durchaus Schwierigkeiten bereiten.

  • Hallo andy,

    ich habe alles wie beschrieben eingerichtet und nutze den vServer von Kamp. Leider kann ich aber nicht mit OpenVPN Server (Synology) verbinden, da immer ein connection reset getriggert wird. Der Logeintrag im OpenVPN Client lautet:

    Mon Oct 28 17:07:58 2019 OpenVPN 2.4.7 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Apr 25 2019
    Mon Oct 28 17:07:58 2019 Windows version 6.2 (Windows 8 or greater) 64bit
    Mon Oct 28 17:07:58 2019 library versions: OpenSSL 1.1.0j 20 Nov 2018, LZO 2.10
    Mon Oct 28 17:08:02 2019 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    Mon Oct 28 17:08:02 2019 TCP/UDP: Preserving recently used remote address: [AF_INET]XXX:1194
    Mon Oct 28 17:08:02 2019 Attempting to establish TCP connection with [AF_INET]XXX:1194 [nonblock]
    Mon Oct 28 17:08:03 2019 TCP connection established with [AF_INET]XXX:1194
    Mon Oct 28 17:08:03 2019 TCP_CLIENT link local: (not bound)
    Mon Oct 28 17:08:03 2019 TCP_CLIENT link remote: [AF_INET]XXX:1194
    Mon Oct 28 17:08:03 2019 Connection reset, restarting [0]
    Mon Oct 28 17:08:03 2019 SIGUSR1[soft,connection-reset] received, process restarting

    Ich habe den offiziellen Client und den Securepoint client getestet. Weißt du hier weiter?

  • Was steht denn im Log der Synology?

    Ich musste da selbst noch nicht schauen, aber evtl. helfen die Infos zum Log hier weiter:

    https://www.synology-forum.de/showthread.html?87226-OpenVPN-keine-Verbindung-mehr-m%C3%B6glich-Connection-reset-restarting-0

  • Hallo Andy und alle Mitlesenden,

    zunächst: prima Beschreibung!! Vielen Dank dafür!
    Meine Frage, bevor ich mit einer Installation starte:
    Gibt es irgendeine Möglichkeit über das Mobilfunknetz mittels iOS 13 (iPhone/iPad) eine VPN-Verbindung ins heimische Netz aufzubauen?
    Konfiguration ist:
    NetCologne NetSpeed mit reinem IPv6, Fritzbox 7490 (FritzOS 7.12), iOS Clients iPad und iPhone mit aktuellem iOS 13.3.2/iPad OS 13.3.2.
    Ich möchte eine VPN-Verbindung von unterwegs über das mobile Netz (ist ja IPv4 basiert) zu Hause ins lokale LAN aufbauen.
    Idealerweise ohne kostenpflichtigen Cloud-Dienst.

    Vielen Dank für eine(n) Antwort/Hinweis!
    Christoph

  • Hallo Andy & Cummunity,

    auch ich finde Deine Beschreibung sehr gut. Auch der Hinweis auf das Kamp Mini Paket ist sehr gut.

    Auch ich bin seit einigen Wochen ipv6 Leidtragender. Ich habe eine Fritzbox 7590 und nutze zuhause verschiedene Dienste, auf die ich von ‚überall‘ aus zugreifen möchte (z.B. meine Fritzbox um online Status zu prüfen, GastWlan an/auszuschalten oder meinen SAT Receiver, um z.B. Aufnahmen zu programmieren). Das alles ging unter ipv4 ohne Probleme. Ich habe einen dyndns Dienst genutzt, Ports freigegeben und intern auf die verschiedenen Geräte weitergeleitet. Das möchte ich nun auch so wieder nutzen können, weshalb ich mir den vServer mit debian10 eingerichtet habe.
    Ich habe aber bisher keinerlei Erfolg. Probleme über Probleme…
    Zum Beispiel:
    6tunnel läßt sich nicht installieren, ich erhalte eine Fehlermeldung, daß die Rechte nicht vorliegen. Mit sudo geht es dann, es wird jedoch wieder mein Passwort verlangt.
    Zunächst möchte ich Zugriff auf meine Fritzbox haben. Die ist mit Port 443 freigegeben.
    So müßte der 6tunnel Befehl lauten:
    sudo 6tunnel 443 2a00:xxx:xxx:xxxx:usw. 443

    Ist das soweit ok? Die Firewall im vServer habe ich entsprechend konfiguriert. Auf die Fritzbox kann ich nicht zugreifen. Ich müßte doch die IpAdresse des vServer mit dem Port 443 eingeben und dann auf die fritzbox weitergeleitet werden? Oder wie sonst?

  • > 6tunnel läßt sich nicht installieren, ich erhalte eine Fehlermeldung, daß die Rechte nicht vorliegen. Mit sudo geht es dann, es wird jedoch wieder mein Passwort verlangt.

    Das ist in sudo-Umgebungen normal.
    Am imho einfachsten für die Dauer der Sitzung mit su zum root werden und dann erst die Befehle ausführen.

    > Ist das soweit ok?

    Liest sich soweit gut.

    > Die Firewall im vServer habe ich entsprechend konfiguriert.

    Ich vermute mal, damit ist die Firewall bei KAMP gemeint? Oder wurde im vServer noch zusätzlich eine Firewall installiert/konfiguriert?

    > Auf die Fritzbox kann ich nicht zugreifen. Ich müßte doch die IpAdresse des vServer mit dem Port 443 eingeben und dann auf die fritzbox weitergeleitet werden? Oder wie sonst?

    Ja, genau so.

    Jetzt wäre zu klären, an welcher Stelle es genau happert.

    Von wo aus wird denn versucht zuzugreifen?
    Mitunter scheitert der Verbindungsaufbau wenn man aus dem LAN heraus versucht auf einen freigegebenen Dienst der im gleichen Netz zuzugreifen.

    Ist denn die FIRTZ!Box nativ über IPv6 erreichen?
    Mal das Firewall-Log bei KAMP prüfen, ob man evtl. doch noch aus irgendeinem Grund blockiert wird.
    Im Zweifelsfall kann man auf dem vServer auch mal mit tcpdump schauen, was an Verbindung(en) rein/raus geht, um zu sehen, ob der Verbindungsversuch überhaupt ankommt.

  • Das ist in sudo-Umgebungen normal.
    Am imho einfachsten für die Dauer der Sitzung mit su zum root werden und dann erst die Befehle ausführen.
    >> Das funktioniert auch nicht: Es wird das Passwort verlangt – wenn ich das eingebe, wird es abgelehnt.

    Ich vermute mal, damit ist die Firewall bei KAMP gemeint? Oder wurde im vServer noch zusätzlich eine Firewall installiert/konfiguriert?
    >> Ja, die Kamp Firewall. Eine weitere Firewall im Server habe ich nicht konfiguriert.

    > Auf die Fritzbox kann ich nicht zugreifen. Ich müßte doch die IpAdresse des vServer mit dem Port 443 eingeben und dann auf die fritzbox weitergeleitet werden? Oder wie sonst?

    Ja, genau so.

    Jetzt wäre zu klären, an welcher Stelle es genau happert.
    >> Ja, deshalb auch hier mein Kommentar – ich weiß gar nicht, wo ich nachschauen kann…

    Von wo aus wird denn versucht zuzugreifen?
    >> Ich habe verschiedene Möglichkeiten. Ein Handy mit ipv4 Mobilnetz, ein Handy mit IPV6 Mobilnetz, Laptop über Heimnetz WLAN (das mein ipv6 Netz ist).
    Folgendes habe ich bisher versucht (alles erfolglos):
    – Vom ipv4 Handy mit der Ipv4 Adresse plus Port des Vservers von Kamp
    – Vom ipv6 Handy direkt mit der IPV6 Adresse der Fritzbox plus Port 443
    – IPV6 Adresse der Fritzbox plus Port 443 im Laptop im eigenen WLAN (d.h. im Heimnetz)

    Mitunter scheitert der Verbindungsaufbau wenn man aus dem LAN heraus versucht auf einen freigegebenen Dienst der im gleichen Netz zuzugreifen.

    Ist denn die FIRTZ!Box nativ über IPv6 erreichen?
    >> Siehe oben
    Mal das Firewall-Log bei KAMP prüfen, ob man evtl. doch noch aus irgendeinem Grund blockiert wird.
    >> Das Log der Firewall zeigt nichts an, wenn ich mit dem ipv4 Handy versuche zuzugreifen – das habe ich ausprobiert.
    Im Zweifelsfall kann man auf dem vServer auch mal mit tcpdump schauen, was an Verbindung(en) rein/raus geht, um zu sehen, ob der Verbindungsversuch überhaupt ankommt.

    Sorry, ich stelle mich wahrscheinlich dumm an. Ich würde es ja schon mal als Erfolg ansehen, wenn ich vom ipv6 Handy mal auf die Fritzbox zugreifen könnte. Das ging früher immer ganz problemlos, indem ich im Browser meine dyndns Adresse eingegeben habe. Wenn ich da mal hin käme, wäre das schon mal was…

  • Versuche „sudo su“, nach einmaliger Passworteingabe ist man solange die Sitzung besteht root.

    > – Vom ipv6 Handy direkt mit der IPV6 Adresse der Fritzbox plus Port 443
    Wenn das schon nicht funktioniert, dann stimmt mit ziemlicher Sicherheit etwas mit der FRITZ!Box-Freigabe nicht.

    > >> Das Log der Firewall zeigt nichts an, wenn ich mit dem ipv4 Handy versuche zuzugreifen – das habe ich ausprobiert.
    Das klingt erstmal gut, da nur blockierte Verbindungen angezeigt werden.

  • Ich bin inzwischen dank der Tipps hier etwas weiter.

    1. Vom ipv6 Handy kann ich mit der Ipv6 Adresse auf die Fritzbox zugreifen.
    2. Vom ipv6 Handy komme ich über den Kamp Server mit der ipv4 Adresse des Kamp Servers auf die Fritzbox. Die Tunnelung funktioniert demnach.
    3. Vom ipv4 Handy komme ich über den Kamp Server mit der ipv4 Adresse des Kamp Servers auf die Fritzbox.

    Soweit die guten Nachrichten. Aber dabei gibt es Ungereimtheiten. Die Zugriffe funktionieren nur, wenn ich im Browser https://ipv4_KampServer eingebe. Es funktioniert nicht, wenn ich nur die IPAdresse gefolgt von Port 443 eingebe…!?!

    Zugriff auf meinen Receiver (Port 80) geht gar nicht (Fehlermeldung: Server antwortet nicht).

    Es kommen also nur https Anfragen auf meine Fritzbox durch und auch nur wenn ich in der Adresszeile im Browser https voranstelle. Andere Kombinationen und der Zugriff auf andere Geräte funktionieren nicht. Einstellungen an der Fritzbox Firewall habe ich mehrfach geprüft und testweise auch das Gerät mal komplett freigegeben („Dieses Gerät komplett für den Internetzugriff über IPv6 freigeben (Exposed Host).“)

  • > https://ipv4_KampServer eingebe. Es funktioniert nicht, wenn ich nur die IPAdresse gefolgt von Port 443 eingebe…!?!

    Das wäre ja richtig. Entweder „https“ impliziert ja den Standardport 443 und setzt eine verschlüsselte Verbindung voraus. Nur „http“ auf z.B. 443 mit einer verschlüsselten Verbindung funktioniert nicht.

    > Zugriff auf meinen Receiver (Port 80) geht gar nicht (Fehlermeldung: Server antwortet nicht).

    Aus Sicherheitsgründen sollte auf keinen Fall ein solches Gerät einfach so unverschlüsselt im Internet freigegeben sein. Daher die dringende Empfehlung eine VPN zu verwenden.

  • Aus Sicherheitsgründen sollte auf keinen Fall ein solches Gerät einfach so unverschlüsselt im Internet freigegeben sein. Daher die dringende Empfehlung eine VPN zu verwenden.

    > Das ist schon klar, ich werde das auch so nicht freigeben. Das wird nur zeitweise sein und der Zugriff ist auch passwortgeschützt. Zu Testzwecken sollte das aber funktionieren – tut es aber nicht, auch nicht, wenn ich den Port von 80 auf irgendeinen anderen Port lege (Die Firewalls in der Fritzbox und im Kampserver habe ich entsprechend angepasst).
    Der Server antwortet nicht…

  • > Der Server antwortet nicht…

    Welcher Server?

    6tunnel muss ebenfalls angepasst sein.

    Manchmal muss auch der vServer nach Firewall-Änderungen neu gestartet werden.

  • Welcher Server?
    > Das weiß ich nicht – das ist die Fehlermeldung des Browsers. Es wäre hilfreich zur Fehlereingrenzung, wenn ich wüßte, wer nicht antwortet…

    6tunnel muss ebenfalls angepasst sein.
    > Ja klar, habe ich gemacht.

  • Soweit wie ich das aktuell Überlicken kann würde dann nur helfen, mal mit tcpdump auf dem vServer zu schauen, ob die Anfragen dort überhaupt ankommen und auch Richtung FB abgehen.

    Seitens der FB kann man einen Paketmitschnitt machen und diesen Auswerten:
    AVM FRITZ!Box: Paketmitschnitt erstellen

    Oder, imho einfacher, mal einen Webserver (z.B. Apache) im LAN aufsetzen und freigeben und mit dessen Log dann schauen ob die Anfragen ankommen.

  • Was mir da gerade noch dämmert: Bei 6tunnel für den jeweiligen Port die entsprechende IPv6-Adresse eingegeben?
    Die FB hat eine andere IPv6-Adresse als dann das jeweils freigegebenne Gerät, da man bei IPv6 i.d.R. ein Subnetz zur Verfügung gestellt bekommt.
    In den Details der jeweiligen Freigabe bekommt man die richtige IPv6-Adresse angezeigt.

    An anderer Stelle im Internet habe ich mal aufgeschnappt das erst nach einem Reset der FB die IPv6-Freigaben funktioniert haben.

  • Ich möchte nun noch eine Rückmeldung geben.

    Auf Dein Anraten hin, habe ich einen VPN Zugang auf einem Raspberry eingerichtet (mit zahlreichen Schwierigkeiten). Das läuft jetzt aber.

    Der vServer verweist mit einem 6tunnel Eintrag auf meinen Raspberry, so daß ich über VPN Zugang auf alle meine Netzgeräte zugreifen kann als wenn ich zuhause wäre.

    Nur mit einer Kleinigkeit kämpfe ich jetzt noch. Ich möchte so ein Start Script erstellen, wie Du vorgeschlagen hast. Ich verstehe, daß ich eine Datei „tunnel.sh“ mit dem dargestellten Inhalt anlegen soll. Auch rechtevergabe ist klar. Was ich nicht verstehe: Wohin soll die Datei? Was bedeutet „… es im crontab des root-Benutzers eintragen“?
    Sorry, Linux mäßig bin ich ein blutiger Anfänger….

  • Das Skript kann an einem beliegen Ort abgelegt werden. Im Beitrag wurde seinerzeit der Pfad „/home/debian“ verwendet. Das Skript bzw. 6tunnel benötigt root-Rechte, daher muss es in dessen Kontext ausgeführt werden. Führt man „sudo crontab -e“ aus passt der Kontext, dann nur noch „@reboot “ einfügen und somit das Skript bei jedem (Neu)Start ausgeführt.

  • Update:

    Ich habe nun auch das Startscript hinbekommen.

    Für alle die, die auch so unwissend sind wie ich:

    Mit ssh auf dem vserver einloggen

    sudo -i (=> root Rechte, man erspart sich bei den folgenden Befehlen ein vorangestelltes „sudo“)

    nano /home/debian/tunnels.sh erstellt eine Datei „tunnels.sh“ im Verzeichnis /home/debian/

    Im Editor den oben gezeigten Text einfügen (die Tunneleinträge dabei anpassen), mit Strg+o speichern und mit Strg+x den Editor schließen.

    chmod +x /home/debian/tunnels.sh setzt die Rechte der Datei auf 755 (macht die Datei ausführbar)

    Damit lief es dann schon bei mir. Wenn man testweise einen Reboot ausführt, kann man mit „ps -ef | grep 6tunnel “ sehen, welche 6tunnel Einträge laufen (das sollten die sein, die man in der tunnel.sh eingetragen hat.

  • Ja, stimmt, habe ich eben noch vergessen.

    Man muß noch „crontab -e“ ausführen und im aufgehenden Editorfenster noch „@reboot /home/debian/tunnels.sh“ eintragen und abspeichern.

  • Hallo zusammen,
    Welche ip6 Adresse muss ich denn eingeben auf dem vserver bei 6tunnel? Die meiner Connect Box oder die meines Synology OpenVPN Servers?

    In der Connect Box habe ich bei portfreigaben quell ip vserver, Ziel ip vpnserver und Port 1194 eingetragen.

    Bekomme aber keine Verbindung hin.

  • > Welche ip6 Adresse muss ich denn eingeben auf dem vserver bei 6tunnel? Die meiner Connect Box oder die meines Synology OpenVPN Servers?

    Die öffentliche (nicht link-local) IPv6-Adresse die die Synology vom Router erhalten hat.

    > In der Connect Box habe ich bei portfreigaben quell ip vserver, Ziel ip vpnserver und Port 1194 eingetragen.

    Ich kenne die Connect Box von Unity Media (richtig?) nicht.
    Neben der obigen Frage nach der richtige IP-Konfiguration wäre nun zu klären, in wie weit die verbindung klappt.
    D.h. auf dem vServer schauen, ob 6tunnel die Verbindung annimmt und weitergibt, ggf. mit tcpdump auf dem vServer schauen wie der Verkehr läuft, sofern die Connect Box ein Log oder Paket-Mitschnitt bietet dort mal schauen was ankommt und auf der Synology im Log mal schauen.

    Ist denn sicher, das auf der Synology alles richtig läuft?
    Evtl. lokal im LAn mal die VPN-Verbindung testen.

  • Hallo,

    Ah ok. Ich hatte zwar keine fe80 Adresse deshalb hab ich das übersehen aber die war auch nicht stateful. Hatte den IPv6 DHCP auf Stateless. Nach dem Umschalten konnte ich von dem vServer meine NAS pingen nachdem ich alle ports testweise geöffnet hatte. Am Ende musste ich noch den Quellport rausfinden. Als ich den auch noch aktiviert habe konnte ich auch wieder meine Firewalls usw aktiv setzen und die VPN Verbindung läuft.

    Naja jetzt hab ich über IPv6 auch wieder was dazu gelernt. Vielen Dank für den Denkanstoß das hat mir geholfen. Das hab ich in keiner Anleitung gefunden!

  • Hallo Andy,
    ich habe die Konfiguration wie deine Anleitung durchgeführt. Allerdings bekomme ich mit Tunnelblick keine Verbindung.
    Leider verstehe ich die Log nicht so ganz. Zwischendrin steht „connection established“, aber danach versucht Tunnelblick sofort wieder eine Verbindung aufzubauen (Die Zeile zwischen den Leerzeilen).

    2020-04-11 21:21:23.572541 TCP/UDP: Preserving recently used remote address: [AF_INET]XXXX:1194
    2020-04-11 21:21:23.572645 Socket Buffers: R=[131072->131072] S=[131072->131072]
    2020-04-11 21:21:23.572680 Attempting to establish TCP connection with [AF_INET]212.227.212.33:1194 [nonblock]
    2020-04-11 21:21:23.572702 MANAGEMENT: >STATE:1586632883,TCP_CONNECT,,,,,,

    2020-04-11 21:21:24.645953 TCP connection established with [AF_INET]XXXX:1194

    2020-04-11 21:21:24.646068 TCP_CLIENT link local: (not bound)
    2020-04-11 21:21:24.646113 TCP_CLIENT link remote: [AF_INET]XXXX:1194
    2020-04-11 21:21:24.646166 MANAGEMENT: >STATE:1586632884,WAIT,,,,,,
    2020-04-11 21:21:24.648259 Connection reset, restarting [0]
    2020-04-11 21:21:24.650837 SIGUSR1[soft,connection-reset] received, process restarting
    2020-04-11 21:21:24.650880 MANAGEMENT: >STATE:1586632884,RECONNECTING,connection-reset,,,,,
    2020-04-11 21:21:24.666329 MANAGEMENT: CMD ‚hold release‘
    2020-04-11 21:21:24.666433 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    2020-04-11 21:21:24.666464 NOTE: the current –script-security setting may allow this configuration to call user-defined scripts

    Auch 6tunnel gibt keine Fehlermeldung ab. Mit ps -aux | grep 6tunnel wird folgendes angezeigt:
    root 714 0.0 0.0 2284 80 ? Ss 18:04 0:00 6tunnel 1194 IPV6-Adresse 1194

    Hast du einen Tipp woran es liegt?
    Danke für deine Hilfe!
    Paul

  • Da nach dem Wait ein Connection reset kommt, scheint die Verbindung nicht so ganz erfolgreich zu sein.
    Das könnte was Mac/Tunnelbikck-spezifisches sein, mit beiden kenn ich mich nicht wirklich aus.

    Synology OpenVPN mit Tunnelblick

    Was steht den im Log der Synology?

  • Das Problem war viel simpler als gedacht.
    Beim Bestellen des VServers über 1und1 wurde dem Server erstmal nur eine IPv4 Adresse zugeteilt. Der Server kann aber nur auf eine IPv6 Adresse weiterleiten, wenn er selbst eine besitzt.
    Sorry das habe ich übersehen.

    Die Anleitung ist super und funktioniert! 🙂

  • Frank Müller

    Kurze Frage: Was muss ich denn beim Verbinden als Username und Passwort eintragen?

  • Hallo Frank,

    sofern die OpenVPN-Verbindung gemeint ist: Den Benutzernamen samt Kennwort des NAS-Benutzers (der für die Nutzung von OpenVPN berechtigt ist).

  • Dank Andy. Dann stehe ich im Moment noch vor dem Problem, dass mich der vServer nicht reinlässt:
    https://abload.de/img/1v7k2i.jpg
    Muss ich am Server noch irgendwas einstellen? Bin genau deiner Anleitung oben gefolgt, mein vServer ist von netcup.

  • Mit Netcup habe ich bislang nicht gearbeitet. Da wäre z.B. die Frage, ob dort eine Firewall konfiguriert werden muss.
    Dann wäre die Frage, weil’s in den Kommentaren schon mal vorkam, ob der vServer sowohl eine IPv4- sowie Ipv6-Adresse hat.
    Wichtig zu wissen wäre auch, ob auf der Ziel-Seite, vom Beitrag ausgehend beim Synology NAS, die Verbindung wirklich ankommt und was da ggf. im Log steht.

  • Pingback: Öffentliche IPv4-Adresse an CGN-/DS-Lite-Anschluss mittels vServer und OpenVPN Peer to Peer (Shared Key) – Andy's Blog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.