Hilfe bei 6tunnel auf VPS benötigt

  • Hallo in die Runde,

    bin seit Jahren hauptsächlich Mitleser, habe jetzt aber eine Frage, die ich nicht durch die Suche beantworten konnte.

    Ich nutze seit 2019 einen Anschluss der Deutschen Glasfaser. Seit etlichen Jahren verwende ich mehrere Portmapper von feste-ip.net um auf meine Synology-NAS zuzugreifen. Hierbei wird diese vor allem als OpenVPN-Server benutzt. Dies funktioniert weitesgehend zuverlässig. Da ich auf aus Performance-Gründen auf Wireguard umsteigen wollte, habe ich mir nach der hervorragenden Anleitung von mbo77 einen VPS bei Strato aufgesetzt. Dieser läuft mittlerweile problemlos und ich komme von verschiedenen Clients in mein Netz.

    Zusätzlich würde ich gerne noch 6tunnel installieren um z.B. als Backup die OpenVPN-Verbindung zu tunneln oder bestimmte Dienste des NAS direkt zu erreichen (um den Portmapper von feste-ip komplett zu ersetzen). Auch hier bin ich nach der Anleitung vorgegangen, bekomme es aber nicht zum laufen. Sowohl die Variante über das Wireguard-Netz (IPv4), als auch direkt über die IPv6 bzw. denn Domainnamen funktionieren nicht.


    • Die öffentliche IP des VPS ist sinnvoll im DNS registriert

      vps.xxxxx.de

    • Die WireGuard-Verbindung zwischen VPS und Heimnetz funktioniert

      Ja, siehe oben

    • Firewall des Hosters ist konfiguriert und auch verstanden

      Ja, der eingehende Port (4430) ist für TCP für IPv4 und IPv6 freigegeben.

    • Wenn konfiguriert, muss die Paket-Firewall des VPS eingehende Verbindungen zum weiterzuleitenden Port akzeptieren

      Hier liegt vermutlich das Problem. Ich habe iptables nach der Anleitung konfiguriert

    Code
    sudo iptables --policy FORWARD DROP
    sudo iptables -A FORWARD -i wg0 -o wg0 -j ACCEPT
    sudo apt install iptables-persistent
    sudo iptables-save >/etc/iptables/rules.v4


    Hier habe ich einfach zu wenig Ahnung, muss da eine weitere Freigabe konfiguriert werden?


    Was funktioniert:

    Das NAS ist per IPv6 aus dem Internet erreichbar: nas6.xxxxx.de, Notwendige Ports z.B. 49681 sind in der Fritzbox freigegeben.

    Das NAS ist per IPv4 im internen Netz und vom VPS bei bestehender Wireguard-Verbindung unter 192.168.1.4 erreichbar


    Code
    nc -v -4 192.168.1.4 49681
    Connection to 192.168.1.4 49681 port [tcp/*] succeeded!
    nc -v nas6.xxxxx.de 49681
    Connection to nas6.xxxxx.de (2a00:6020:5022:c700:xxx) 49681 port [tcp/*] succeeded!

    6tunnel ist auf dem VPS installiert.

    Code
    sudo 6tunnel 4430 nas6.xxxxx.de 49681
    
    netstat -anp|grep 6tunnel
    tcp        0      0 0.0.0.0:4430            0.0.0.0:*               LISTEN      594/6tunnel
    
    nc -v vps.xxxxx.de 4430
    nc: connect to vps.xxxxx.de (2a01:239:37xxxx) port 4430 (tcp) failed: Connection refused
    Connection to vps.xxxxx.de (217.160.xx) 4430 port [tcp/*] succeeded!

    Vom VPS aus scheint 6tunnel zu funktionieren.

    Aber von außerhalb bekomme ich keine Verbindung zusammen. Habe es z.B. von meinem Windows-Rechner mittels ncat versucht

    Code
    C:\Windows\System32>ncat -v vps.xxxx.de 4430
    Ncat: Version 7.80 ( https://nmap.org/ncat )
    Ncat: Connection to 2a01:239:xxx failed: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte. .
    Ncat: Trying next address...
    Ncat: TIMEOUT.
    
    C:\Windows\System32>ncat -v -4 vps.xxxxx.de 4430
    Ncat: Version 7.80 ( https://nmap.org/ncat )
    Ncat: TIMEOUT.


    Ich komme hier trotzdem ich viel gelesen und selbst ChatGPT und Gemini um Hilfe gebeten habe, nicht mehr weiter.

    Es wäre toll, wenn mir jemand ein paar Tipps geben könnte.

    Vielen Dank!


    Johannes

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Code
     sudo iptables -L -v
    Chain INPUT (policy ACCEPT 73108 packets, 21M bytes)
     pkts bytes target     prot opt in     out     source               destination
    
    Chain FORWARD (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
     155K  104M ACCEPT     all  --  wg0    wg0     anywhere             anywhere
    
    Chain OUTPUT (policy ACCEPT 83731 packets, 93M bytes)
     pkts bytes target     prot opt in     out     source               destination
  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Hier sieht man keine IP, wie beim IPv6 Versuch. Funktioniert die Namensauflösung? Was passiert, wenn du direkt auf die IP zugreifst?

    Namensauflösung funktioniert. Direkter Zugriff auf die IPv4 bringt ebenfalls nur einen timeout.

    Ist es nicht so, dass 6tunnel nur auf IPv6 Traffic reagiert?

  • Nein, im Gegenteil. Es reagiert nur auf IPv4 Traffic. Den leitet es per IPv6 weiter zum Ziel.

    Äh, ja klar. So dachte ich das auch, hab dann irgendwie was anderes geschrieben...

    Der IPv6 Traffic wird also direkt abgelehnt (siehe oben), IPv4 verschwindet in den Untiefen?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Das kann man nicht sagen. Es kann auch an der folgenden IPv6 Verbindung liegen.

    Das wirst du dir mit tcpdump auf dem Server ansehen müssen: was kommt auf dem IPv4 Port an, und was sendet 6tunnel per IPv6 weite, und was kommt zurück?

  • Code
     sudo tcpdump -v -i ens6 port 4430
    tcpdump: listening on ens6, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    20:35:13.106151 IP (tos 0x0, ttl 117, id 63923, offset 0, flags [DF], proto TCP (6), length 52)
        94.31.xxx.xxx.1727 > e307a73b-2c19-4f0d-8c73-xxxxxx.4430: Flags [S], cksum 0x5519 (correct), seq 4146232851, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
    20:35:14.113649 IP (tos 0x0, ttl 117, id 63924, offset 0, flags [DF], proto TCP (6), length 52)
        94.31.xxx.xxx.1727 > e307a73b-2c19-4f0d-8c73-xxxxxx.4430: Flags [S], cksum 0x5519 (correct), seq 4146232851, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
    20:35:16.114224 IP (tos 0x0, ttl 117, id 63925, offset 0, flags [DF], proto TCP (6), length 52)
        94.31.xxx.xxx.1727 > e307a73b-2c19-4f0d-8c73-xxxxxx.4430: Flags [S], cksum 0x5519 (correct), seq 4146232851, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
    20:35:20.117807 IP (tos 0x0, ttl 117, id 63926, offset 0, flags [DF], proto TCP (6), length 52)
        94.31.xxx.xxx.1727 > e307a73b-2c19-4f0d-8c73-xxxxxx.4430: Flags [S], cksum 0x5519 (correct), seq 4146232851, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

    Das ist die Reaktion auf ein ncat -v -4 vps.xxx.de 4430

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Also auf dem VPS scheint es zu funktionieren

    Code
     sudo 6tunnel  -v 4430 nas6.xxxxxx.de 49681
    resolving nas6.xxxxxx.de
    resolved to 2a00:6020:5022:c700:9209:xxxxxx
    resolving local address default
    resolved to 0.0.0.0
    local: default,4430; remote: nas6.xxxxxx.de,49681; source: default
    <4> connection from 217.160.xxx.xxx,35458
    <4> connected to nas6.xxxxxx.de,49681
    <4> connection closed
    child process exited

    Das ganze im zweiten Terminalfenster auf dem VPS

    Code
     nc -v -4 vps.xxxxxx.de 4430
    Connection to vps.xxxxxx.de (217.160.xxx.xxx) 4430 port [tcp/*] succeeded!


    Direkte Verbindung vom VPS auf da NAS per IPv6 funktioniert auch

    Code
    nc -v ds6.xxxxxx.de 49681
    Connection to ds6.xxxxxx.de (2a00:6020:5022:c700:9209:xxxxxx) 49681 port [tcp/*] succeeded!
  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Hast du mal versucht, 6tunnel zum IPv4-Ziel im Heimnetz zu schicken?


    Code
    sudo 6tunnel 4430 192.168.1.4 49681


    Identisch zu oben. Die Verbindung vom VPS zum NAS steht, alles von außen funktioniert nicht.

  • Und was kannst du beobachten, wenn du beim Verbindungsaufbau von außen netstat mitlaufen lässt?

    Code
    watch "sudo netstat -anp|grep 6tunnel"

    Wenn ich von außen komme, gibt es keinen Kontakt. Vom VPS aus und wie ich gerade herausgefunden habe, wenn ich per Wireguard verbunden bin, funktioniert es problemlos und ich kann den Verbindungsaufbau beobachten.

    Kann das doch ein Problem der externen Firewall bei Strato sein?

  • Tipp: Jetzt kostenlos registrieren, mitmachen und das Forum ohne Werbebanner nutzen.
  • Nur zum Verständnis: Wenn du 6tunnel auf ein IPv6-Ziel richtest, ist der gesamte Wireguard-Tunnel ohne Funktion.

    Bitte mal den Output von 6tunnel -d bei Verbindungsaufbau von außen.

  • Code
     sudo 6tunnel -d 4430 nas6.xxx.de 49681

    Kein Output bei Kontaktversuch von außen

    Nur zum Verständnis: Wenn du 6tunnel auf ein IPv6-Ziel richtest, ist der gesamte Wireguard-Tunnel ohne Funktion.

    Sollte das so sein? Mein Wireguard-Setup terminiert in der Fritzbox und funktioniert noch. Ich komme mit meinem Smartphone (nicht im WLAN) weiterhin via WG über den VPS in mein eigenes Netz. Und seltsamerweise funktioniert dann auch die Tunnelung: Hinter Port 49681 lauscht ein Webserver auf dem NAS, diesen erreiche ich vom Smartphone aus unter https://vps.xxxxx.de:4430

    Ich bin verwirrt.:/