Netflix auf dem AppleTV ausserhalb der USA
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 (affiliate link), 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:
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, über den Default Gateway den AppleTV glauben zu lassen er sei in den USA.
2a. Default Gateway auf einem Mac
Als allererstes braucht man eine 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!
2a. 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
Damit der AppleTV sein Internet auch am richtigen Ort sucht, gibt man ihm als Default Gateway die IP Adresse des vorher konfigurierten Gerätes an (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.
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. Darum habe ich die Pakete welche während einem Streaming übertragen werden aufgezeichnet und mir genauer angeschaut. Und es war einfacher als gedacht!
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 Herkunfts IP-Adresse kommt, die restlichen Verbindungen laufen danach direkt zu den verschiedenen CDN’s welche Netflix benutzt und werden nicht mehr auf die Herkunfts 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 die nötigen Pakete über den VPN geschickt und das ganze Streaming läuft über die schnelle Internetverbindung. In einem kleinen Test habe ich so über 10Mbit/s Download hingekriegt.
About this entry
You’re currently reading “Netflix auf dem AppleTV ausserhalb der USA,” an entry on x-fotoblog
- Published:
- 12.02.10 / 8am
- Category:
- Informatiker, Mac OS X, iPad, iPhone
22 Comments
Jump to comment form | comments rss [?] | trackback uri [?]