Split Tunneling auf dem RUTX - Mediatheken im WoMo entsperren

  • Hallöchen zusammen,


    da ich es ja mal großspurig versprochen hatte, hier nun der versprochene Artikel zum Thema **Split Tunneling** auf dem Teltonika RUTX. Für alle die sich fragen "was will der denn schon wieder?" - kurze Erklärung:


    Das Problem


    Wer kennt es nicht: Man steht irgendwo in Europa, will abends gemütlich die Mediathek schauen und bekommt nur die freundliche Meldung **"Dieser Inhalt ist in Ihrem Land nicht verfügbar"**. Klar, man könnte das komplette WoMo durch einen VPN-Tunnel jagen. Aber dann:


    - Geht alles andere auch durch den VPN (langsamer)

    - Manche Dienste blockieren VPN-IPs komplett

    - Der Tunnel läuft permanent, auch wenn man nur Wetter checken will


    Die Lösung: **Split Tunneling** - nur das was muss durch den VPN, der Rest geht normal raus.


    Das Setup


    Meine Netzwerk-Situation sieht so aus:



    Zu Hause sieht das Netz so aus:


    Wie funktioniert Split Tunneling?


    Die Idee ist simpel: Der Router schaut sich jedes Paket an und entscheidet **anhand der Absender-IP**, wohin es geht:


    Paket von 192.168.101.50 (FireTV) → durch VPN-Tunnel (Streaming)

    Paket von 192.168.101.150 (Laptop) → normales Internet

    Paket an 192.168.1.x (Heimnetz) → durch WireGuard nach Hause


    Technisch passiert das über **Policy-Based Routing**:


    1. iptables markiert Pakete: MARK 0x64 (100)

    2. ip rule leitet um: fwmark 100 → Tabelle 100

    3. Routing-Tabelle 100: default via VPN-Interface


    Das klingt komplizierter als es ist. In der Praxis heißt das: Ich sage dem Router "alles vom FireTV geht durch den VPN" und fertig.


    Warum Device-basiert und nicht Domain-basiert?


    Gute Frage! Man könnte ja auch sagen "nur ard.de und zdf.de durch VPN". Das Problem dabei:


    1. **CDN-Chaos**: Die Mediatheken liefern über akamai, cloudfront & Co. - hunderte Domains

    2. **DRM-Probleme**: Die Streams prüfen die Lizenz über andere Server. Wenn die Lizenzanfrage von IP-A kommt und der Stream von IP-B angefordert wird → Fehler

    3. **DNS-Timing**: Bis der Router merkt "ah, das ist ard.de", ist das erste Paket schon raus


    Device-basiert ist sauber: FireTV = VPN, fertig. Keine Überraschungen.


    WireGuard-Tunnel nach Hause - Remote-Zugriff aufs WoMo


    Jetzt zum zweiten Teil: Wie komme ich von zu Hause (oder unterwegs) auf mein WoMo-Netz?


    Das Problem mit Mobilfunk


    Wenn das WoMo irgendwo in Europa steht, hat es eine Mobilfunk-Verbindung. Problem:


    - **CGNAT**: Der Provider gibt keine öffentliche IP, sondern steckt dich hinter NAT

    - **Dynamische IP**: Selbst wenn du mal eine öffentliche bekommst, wechselt die ständig

    - **Firewall**: Die meisten Provider blocken eingehende Verbindungen


    → Man kann von außen nicht einfach aufs WoMo zugreifen.


    Die Lösung: WireGuard-Tunnel


    Die Idee: Das WoMo baut **von sich aus** einen Tunnel nach Hause auf. Dann kann ich über diesen Tunnel von zu Hause ins WoMo.


    Code
    ┌────────────┐                              ┌────────────┐
    │  Zu Hause  │◄────── WireGuard Tunnel ─────│    WoMo    │
    │  (Server)  │         (vom WoMo aus)       │  (Client)  │
    │            │                              │            │
    │ 10.0.0.1   │                              │ 10.0.0.2   │
    └────────────┘                              └────────────┘
          │                                           │
          ▼                                           ▼
    192.168.1.0/24                             192.168.101.0/24
    (Heimnetz)                                  (WoMo-Netz)


    Ende Teil 1

  • Teil 2


    Einrichtung auf dem RUTX


    1. WireGuard-Interface anlegen


    Im RUTX Web-Interface:

    `Services → VPN → WireGuard`


    Neues Interface anlegen:

    Code
    Name:           wg_home
    Private Key:    [wird generiert]
    Listen Port:    51820 (oder leer lassen)
    IP Addresses:   10.0.0.2/24


    2. Peer (Heimserver) hinzufügen


    Code
    Public Key:        [vom Heimserver]
    Endpoint:          deine-domain.dyndns.org:51820
    Allowed IPs:       10.0.0.0/24, 192.168.1.0/24, 192.168.10.0/24
    Persistent Keepalive: 25

    Die Allowed IPs sind wichtig:

    - `10.0.0.0/24` - das WireGuard-Netz selbst

    - `192.168.1.0/24` - dein Heimnetz (damit du es erreichst)

    - `192.168.10.0/24` - weitere Heimnetze falls vorhanden


    3. Firewall-Zone


    Der RUTX legt automatisch eine Firewall-Zone für WireGuard an. Prüfen dass:

    - Input: ACCEPT

    - Forward: ACCEPT

    - Masquerading: AUS (wir wollen die echten IPs sehen)


    4. Auf dem Heimserver


    Dort muss der RUTX als Peer eingetragen sein:

    Code
    [Peer]
    # WoMo RUTX
    PublicKey = [vom RUTX]
    AllowedIPs = 10.0.0.2/32, 192.168.101.0/24


    Das 192.168.101.0/24 sorgt dafür, dass der Server weiß: "Pakete ans WoMo-Netz gehen durch diesen Tunnel".


    Testen


    Vom Heimnetz aus:

    Code
    ping 10.0.0.2        # WireGuard-IP des RUTX
    ping 192.168.101.1   # LAN-IP des RUTX
    ping 192.168.101.50  # FireTV im WoMo


    Wenn alles klappt, kannst du von zu Hause aus:

    - Auf den RUTX zugreifen (Web-Interface, SSH)

    - Geräte im WoMo erreichen

    - Kameras checken, NAS im WoMo ansprechen, etc.


    Wichtig: DynDNS


    Da dein Heimanschluss wahrscheinlich auch eine dynamische IP hat, brauchst du einen DynDNS-Dienst. Der RUTX kann das automatisch aktualisieren:


    Services → Dynamic DNS


    Was braucht man?


    - RUTX (oder anderer OpenWrt-kompatibler Router)

    - VPN-Account (NordVPN, ExpressVPN, Surfshark, ...)

    - WireGuard-Server zu Hause (Unifi, RUTX, Fritz!Box, Raspberry Pi, NAS, ...)

    - DynDNS für den Heimanschluss

    - SSH-Zugang zum Router - hier scheidet die Fritzbox schon mal aus


    Die Umsetzung (Split Tunneling)


    Ich hab mir dafür ein kleines Script gebaut das die ganze Magie übernimmt. Das Setup läuft so:


    1. VPN-Profile anlegen (OpenVPN oder WireGuard)

    2. Devices registrieren (IP + Name + Tunnel-Zuweisung)

    3. Per Klick aktivieren/deaktivieren


    Über ein kleines Web-Interface sieht das dann so aus:


    Code
    ┌─────────────────────────────────────────┐
    │  Streaming Devices                      │
    ├─────────────────────────────────────────┤
    │  ● FireTV         AT_Wien_NordVPN   [✓] │
    │  ○ Tablet         -                 [ ] │
    │  ● AppleTV        CH_Zürich_NordVPN [✓] │
    └─────────────────────────────────────────┘


    Technischer Hintergrund (für Interessierte)


    Wer wissen will was unter der Haube passiert:


    Code
    # Paket-Markierung für Device 192.168.101.50
    iptables -t mangle -A PREROUTING -s 192.168.101.50 -j MARK --set-mark 100
    Code
    # Routing-Regel
    ip rule add fwmark 100 lookup 100
    Code
    # Routing-Tabelle
    ip route add default dev tun0 table 100


    Das Script kümmert sich um:

    - Mehrere Devices können denselben Tunnel teilen (Referenzzählung)

    - Tunnel wird automatisch gestartet wenn erstes Device aktiviert

    - Tunnel wird beendet wenn letztes Device deaktiviert

    - Firewall-Regeln für den Tunnel

    - DNS-Umleitung pro Device


    Provider-Erfahrungen


    Kurz meine Erfahrungen mit verschiedenen VPN-Anbietern:


    Code
    | Provider   | Mediatheken | Netflix | Geschwindigkeit |
    |------------|-------------|---------|-----------------|
    | NordVPN    | ✓✓✓         | ✓✓      | sehr gut        |
    | ExpressVPN | ✓✓✓         | ✓✓✓     | gut             |
    | Surfshark  | ✓✓          | ✓       | gut             |


    Für die deutschen Mediatheken (ARD, ZDF, RTL+, Joyn) reicht NordVPN locker. Für Netflix im Ausland ist ExpressVPN etwas besser.


    Fazit


    Das Setup läuft bei mir jetzt seit ein paar Monaten stabil:


    1. Split Tunneling: FireTV anschalten, Mediathek geht. Laptop bleibt am normalen Netz.

    2. WireGuard nach Hause: Ich kann jederzeit von überall aufs WoMo zugreifen - Kamera checken, Router konfigurieren, whatever.


    Das Schöne: Beides stört sich nicht gegenseitig. Der Streaming-VPN und der Home-Tunnel laufen parallel.


    Wie immer unterstütze ich gerne, falls jemand Fragen hat!


    PS: Ja, ich weiß dass man theoretisch auch mit einem Pi-hole und unbound DNS rumfrickeln könnte. Hab ich probiert. Funktioniert nicht zuverlässig wegen dem DRM-Thema. Device-basiert ist der saubere Weg.

  • Denke heute Abend zeig ich noch meine letzte Version für komfortables Streaming mit Clients auf dem RUTX. Sorry Fritten müssen leider draussen bleiben 🤪🤪🤪

Participate now!

Don't have a user account on our site yet? Register for free and enjoy all the benefits of the DigiCamper Community!