02. Dezember 2010
4 Minuten zu lesen

Netflix auf dem AppleTV ausserhalb von der USA

Der folgende Artikel stammt vom Gastautor Michael Schmid und ist eine Ausführung meines Beitrags Netflix in der Schweiz.

Es ging seine Zeit, bis er uns erreicht hat, doch nun ist er da, der AppleTV der neusten Generation. Und da Apple nun endlich den iTunes Movie Store auch für die Schweizer freigeschaltet hat, kommen wir in den Genuss von Filmen und Serien direkt vom AppleTV.
Doch wer aufmerksam das Menü des AppleTV durchforstet, wird ein fehlendes Feature erkennen: Netflix. Apple hat nicht nur den iTunes Store auf den AppleTV gebracht, sondern auch eine schöne Netflix Integration gebaut, doch leider ist diese für uns nicht-Amerikaner nicht erhältlich.
Um im den Genuss von Netflix auf dem normalen Mac zu kommen, braucht es keine grossen Anstrengungen: Man mietet sich einen VPN, zum Beispiel bei Overplay, lädt den dazugehörigen Client herunter, startet das VPN und fertig, man schaut Netflix von ausserhalb der USA ohne Probleme.
Doch wie bringt man einen AppleTV dazu, dass er über eine VPN Verbindung sich zu Netflix verbindet und Video streamt? Schliesslich kann man auf dem AppleTV keine zusätzliche Software installieren und auch mit einem Jailbreak gibt es noch keine Lösung.
Ich kann euch beruhigen, es ist möglich! Zwar nicht gerade einfach, doch ich will euch zeigen wie man vorgehen muss um dies zu erreichen:

1. Die einzige Einstellmöglichkeit am AppleTV: Der Default Gateway

Nach einer kurzer Suchaktion, war klar, dass der einzige Ort wo man den AppleTV ein bisschen konfigurieren kann, der Default Gateway der Netzwerkeinstellung ist. Somit sollte es möglich sein wenn man einen Default Gateway einträgt ,welcher eine VPN Verbindung offen hat, dass der AppleTV meint er sei in den USA.

2.a) Default Gateway auf einem Mac

Als allererstes braucht man eine bestehende VPN Verbindung. Ich benutze Overplay, welches mir per OpenVPN ein neue Schnittstelle für das VPN einrichtet, welche «tun0» heisst. Nun muss man dem Mac verschiedene Dinge beibringen:

  • VPN Verbindung starten
  • Erlaube Packetweiterleitung:

    sudo sysctl -w net.inet.ip.forwarding=1
  • Firewall auf NAT vorbereiten
    sudo /sbin/ipfw add 20000 divert natd all from any to any via tun0
  • NAT konfigurieren, dass es Pakete von der Schnittstelle en0 (Netzwerkkabel) auf die tun0 (VPN) übersetzt
    sudo /usr/sbin/natd -interface tun0 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss -enable_natportmap -natportmap_interface en0

Und das wars auch schon!

2.b) Default Gateway auf Linux Router / NSLU

Da ich meinen Mac nicht immer laufen lassen will wenn mein AppleTV läuft, habe ich eine andere Möglichkeit gesucht. Da bei mir zu Hause noch ein NSLU herumlag, hab ich darauf Debian installiert und das VPN nach den Vorgaben des Providers installiert, danach lief das meiste ziemlich ähnlich:

  • VPN Verbindung starten
  • Packetweiterleitung einschalten

    echo 1 > /proc /sys/net/ipv4/ip_forward
  • Firewall für NAT/Masquerade konfigurieren
    iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
  • Fertig! Nun werden alle Pakete welche von einem anderen Interface ankommen über tun0 geroutet und per NAT übersetzt.

Natürlich kann man dafür auch jegliche andere Router oder ähnliches benutzen, wichtig ist einfach, dass das NAT konfiguriert und die Packetweiterleitung eingeschaltet ist ist.

3. AppleTV konfigurieren

AppleTV Konfiguration für Netflix Nutzung

AppleTV Konfig.

Damit der AppleTV sein Internet auch am richtigen Ort sucht, gibt man nun auf dem AppleTV als Default Gateway die IP Adresse des vorher konfigurierten Gerätes and (Mac oder Linux Router). Zusätzlich wählt man unter Land noch USA aus, damit wird der Netflix Bereich erst sichtbar.
Nun kann man alle Vorteile von Netflix geniessen, das einzige was man dazu noch braucht ist ein Netflix Account, wie man einen solchen bekommt ist [hier] beschrieben.

4. Erweiterte Einstellungen, denn schliesslich gibt sich ein Geek nie zufrieden.

In der oben beschriebenen Methode werden alle Internetpakete über den VPN versendet. Dies ist eigentlich nichts schlechtes, doch damit läuft das gesamte Streaming über den VPN und das ist leider nicht wirklich schnell. Ich habe bei meinen Tests maximal 4 Mbit/s von möglichen 20 Mbit/s erreicht. Somit habe ich die Pakete welche während einem Streaming übertragen werden aufgezeichnet und mir genauer angeschaut. Und es war einfacher als gedacht!
Denn beim Start eines Netflix Streamings werden ein paar Pakete zu netflix.com (208.75.76.17), www.netflix.com (208.75.79.17)  und agmoviecontrol.netflix.com (208.75.76.32) gesendet und mit diesen überprüft von welchem Land Source IP Adresse kommt, die restlichen Verbindungen laufen danach direkt zu den verschiedenen CDN’s welche Netflix benutzt und werden nicht mehr auf die Source IP Adresse überprüft.
Nun wie bringt man den Paketen bei, dass sie nur bestimmte URLs über die VPN Verbindung machen sollen und der Rest über die normale Internetverbindung?
Indem man auf dem VPN Router die Routingtabellen ändert, dafür musste ich zuerst die default gateway Adressen entfernen und danach die IP Adressen von Netflix eintragen.

Auf dem Mac bei Overplay sieht das so aus:

sudo /sbin/route delete -net 128.0.0.0 10.12.0.105  128.0.0.0
sudo /sbin/route delete -net 0.0.0.0 10.12.0.105  128.0.0.0
sudo /sbin/route add -host 208.75.79.17 10.12.0.105
sudo /sbin/route add -host 208.75.76.17 10.12.0.105
sudo /sbin/route add -host 208.75.76.32 10.12.0.105

«10.12.0.105» ist die Gateway Adresse des VPN
Auf Linux so:

/sbin/route del -net 0.0.0.0 netmask 128.0.0.0 gw 10.12.0.105
/sbin/route del -net 128.0.0.0 netmask 128.0.0.0 gw 10.12.0.105
/sbin/route add -net 208.75.79.17 netmask 255.255.255.255 gw 10.12.0.105
/sbin/route add -net 208.75.76.17 netmask 255.255.255.255 gw 10.12.0.105
/sbin/route add -net 208.75.76.32 netmask 255.255.255.255 gw 10.12.0.105

Somit werden nur noch Pakete in Richtung Netflix über den VPN geschickt und das ganze Streaming läuft über die schnelle Internetverbindung.

28 Comments

  1. hans2

    Sehr cool, besten Dank für die Ausführungen! Könntest Du noch das «[Hier]» an folgender Stelle verlinken (falls dieser Eintrag denn schon existiert):

    Nun kann man alle Vorteile von Netflix geniessen, das einzige was man dazu noch braucht ist ein Netflix Account, wie man einen solchen bekommt ist [hier] beschrieben.

    Merci!

  2. Aldreyu

    Cooler Artikel, danke…
    Ich überlege mir im Moment gerade, eines dieser kleinen Geräte anzuschaffen, ein Service wie Netflix käme mir da gerade recht… 😉

    Zu deinem 4. Punkt habe ich noch etwas hinzuzufügen.
    Wenn nur noch der «Handshake» über das VPN läuft, braucht man ja nicht mehr zwingend einen Kostenpflichtigen VPN Service. Es müsste z.B. reichen, einen Demo-Account zu verwenden, die Bandbreite ist ja dann eh egal.
    USAIP (http://www.usaip.eu/en/free_vpn.php) bietet einen Demo Account, welcher jedoch scheinbar nach 7min geschlossen wird und wahrscheinlich auch eine Speedbegrenzung hat. Mit Linux resp. OSX und ein wenig Shell-Script dürfte es eigentlich kein Problem sein, die Verbindung alle 7min wieder herzustellen. Die Unterbrüche sind ja dann egal, weil nur der Handshake über diese Verbindung läuft.

    Ist das eine mögliche Lösung, die VPN Kosten zu senken/eliminieren, oder übersehe ich da was? (ausser den ethischen Grundsätzen).

  3. Tommy

    Hmm… Ich bin vielleicht ein bischen blöd, aber wo und mit/in welchem Programm gebe ich Befehle unter 2a ein?
    Ich verwende eine fritzbox 7390, Strongvpn PPTP Verbindung/Service, ein MacBook Pro und ein aTV2
    Für Tips & Hinweise wäre ichndankbar,.

      • Tommy

        Wie? Ich muss einfach Terminal öffnen und darin die Befehle unter 2a eingeben? Das ist alles??
        Kann ich auch ohne overrplay arbeiten? Könnte ich z.B. die LAN Adresse des macbooks eingeben?

        • hans2

          Ja, einfach im «Terminal» diese Befehle eingeben. Diese Befehle leiten allerdings nur die Pakete von Deinem lokalen Netzwerk (wo sich Dein Apple TV 2 befindet) auf den VPN Tunnel weiter, welchen Du (das ist die Annahme von 2b) mit Deinem MacBook zuvor aufgebaut hast. Ob Du für den VPN Tunnel Overplay oder StrongVPN benutzt sollte egal sein (allerdings wie gesagt, 2b geht davon aus, dass Du den VPN Tunnel auf Deinem MacBook herstellst und nicht z.B. von Deiner fritzbox aus).

      • Tommy

        Ja, mit strongvpn bin ich zufrieden. Allerdings habe ich den Tip von hans2 noch nicht ausprobiert.
        Was ist, wenn ich kein overplay verwende? Jpkann ich die. lan Verbindung des macbooks, dann alsAdresse verwenden?

  4. Silentmac

    Hi, ich erreiche 16 MBit/s über StrongVPN (L2TP). Aber nur auf dem Mac, da die VPN sehr leistungshungrig ist (Verschlüsselung). Über den Linksys Router WRT610N mit DD-WRT Firmware erreiche ich lediglich 2.2 MBit/s. Um beim Router die Dld-Geschwindigkeit zu steigern wäre OpenVPN-Paket von StrongVPN und Reduzierung oder ganz ausschalten der Verschlüsselung erforderlich. Habe ich aber noch nicht getestet.

  5. Silentmac

    Hi, kennt jemand die NAT-Einstellung, wenn es für die VPN-Verbindung keine separate Schnittstelle gibt? Baue den Tunnel mittels L2TP über en1 auf.

  6. Silentmac

    Hi, bin am verzweifeln… hat das ausser dem Autor auch schon wer zum Laufen gebracht?

    Ich habe nun meine VPN-Verbindung von PPTP auf OpenVPN umgestellt, meine Config ist nun fast identisch wie die im Artikel. Bis auf die Schnittstelle en0 (Kabel), da verwende ich en1 (Wi-Fi). Ich gehe ja richtig in der Annahme, dass ich die Schnittstelle vom Gerät (Mac) verwenden muss, mit der das Gerät auch am lokalen Netz hängt?

    Darüber hinaus ist mir nicht ganz klar, welche Geräte-IP unter Punkt 3 (Apple TV Default Gateway) gemeint ist? Die OpenVPN-Verbindung auf dem Gerät hat ja auch eine IP. Ich nehme aber an, hier ist die IP der Schnittstelle en0, in meinem Fall en1, gemeint?

    Bin über jeden Tipp sehr dankbar! Schöne Grüsse!

  7. Michael

    Hallo Silentmac

    Nun ich verstehe nicht genau was das Problem ist. Dein Mac ist also per Wlan mit dem Netzwerk verbunden? Dann musst du alle «en0» zu «en1» wechseln.

    Unter Punkt3, also auf dem AppleTV musst du die interne IP Adresse deines Macs angeben, also genau die IP, welche das Wlan Interface deines Macs hat.

    Gruss

    Michael

    • Silentmac

      Hallo Michael,

      vielen Dank für deine Antwort. Ich hatte das schon alles so eingestellt wie von dir geschrieben, leider fkt. es bei mir aber nicht. Ich bekomme zwar mit dem ATV die Verbindung zu der iTunes- Freigabe auf dem Mac, aber ins Internet komme ich nicht.

      Gruss
      Markus

  8. Tommy

    Toll! Jetzt habe ich offensichtlich einen Eingabefehler gemacht und komme per LAN mit meinem MacBook nicht mehr online sondern nur noch per WLAN!!
    Weiss jemand, mit welchem Terminalbefehl ich die ursprüngliche Einstellung (werkslieferung) wieder herstelle?

  9. Tommy

    Klasse! das hat funktioniert! 🙂
    Vielen Dank! jetzt werde ich es nochmal probieren. Mal sehen ob ich das jetzt hinkriege, dass das ATV2 Zugriff auf Netflix kriegt.

  10. Tommy

    Funktioniert immer noch nicht! Kann irgendjemand bitte eine Schritt für Schritt Anleitung einstellen?
    Was muss ich wo eingeben? Ich habe ein MacBook dass per Lan im Netzwerk hängt.

  11. Tommy

    Ich versteh es nicht!
    Hab mir jetzt Overplay runtergelassen und bin auch bereit für diesen Srevice zu zahlen!
    Hab alle Befehle über copy passt in das Termial eingegeben, allerdings bekomme ich immer noch keine Netflix Verbindung, wenn ich im ATV als Router die IP Adresse meines LAN eingangs am Mac eingebe!
    Kannnmir bitte (!!!) jemandvhelfen!?

  12. Marc

    Hi Leute, bin auch schon seit einigen Tagen am suchen nach dieser Lösung.

    Mein Setup sieht wie folgt aus:
    Swisscom (Netopia) Router der per Bridging auf «Modem» reduziert wird. WAN geht an den Netgear WNR3500L Router mit dd-wrt Installation. Darin kann ich eine VPN Verbindung zu StrongVPN aufbauen. Jedoch möchte ich wie oben beschrieben nur, dass ATV2 über den VPN Kanal geht. Ich habe schon viel gelesen bzgl. policy based routing. Habe jedoch keine Idee welche Befehle ich im dd-wrt eingeben muss, damit das so funktioniert. Hat jemand eine Idee, Tutorial konkreter Vorschlag? Danke!!!

    • equi

      Marc,

      hier (http://strongvpn.com/dd-wrt2.shtml) findet sich eine sehr gute Anleitung zur Einrichtung für StrongVPN, habe das dann auf meinen VPN Anbieter BlackVPN anwenden können.

      Konnte sogar mit einer kleinen Ergänzung den Verkehr so umleiten, dass nur die netflix Adressen über das VPN laufen, der Rest über das normale Netz:

      # 1) Default Routing via vlan1 again
      route del -net 0.0.0.0 netmask 0.0.0.0 gw 0.0.0.0 dev ppp0
      route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.1.1 vlan1

      # 2) Netflix Routing USA
      route add -net 208.75.79.17 netmask 255.255.255.255 dev ppp0
      route add -net 208.75.76.17 netmask 255.255.255.255 dev ppp0
      route add -net 208.75.76.32 netmask 255.255.255.255 dev ppp0
      route add -net 208.75.79.46 netmask 255.255.255.255 dev ppp0

      Einziges Problem: An den Rechner in meinem Netz funktioniert es, ATV2 meldet einen Fehler….

  13. cyrus

    Hallo Leute! Ich habe die Apple TV Box gekauft, und habe einen Laptop mit Windows XP Betriebssystem. habe VPN STRONG auf dem Laptop und kann also auf dem Laptop gut Netflix schauen. (Ich habe logischerweise auch einen Netflix Account) . Die oben aufgeführte Anleitung bezieht sich auf eine MAC. Kann mir jemand sagen wie ich das mit einem WINDOWS XP BEtriebsytstem hinbekomme?
    danke , mfg

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .

Hat Ihnen der Artikel gefallen? Bitte teilen Sie Ihre Gedanken mit anderen.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .