[HOWTO] Chromecast/Netflix outside USA without VPN

Search This thread

Nexus_2761

New member
Dec 26, 2014
1
0
dumb question as I am new to dd-wrt, I have logged in via telnet and added my rules (getflix IP's)

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 54.252.183.4
iptables -t nat -A PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 54.252.183.5

How do I get dd-wrt to save these now? :)
 

ykphuah

Senior Member
Dec 17, 2009
417
38
Surprise, youtube stopped casting for me, so I went back to try back all the different options.
Now I just need the static route trick on 8.8.8.8 (as per unlocator's instructions), and everything worked fine.
Youtube, Netflix on Android, Netflix on Android cast to Chromecast....
 

DJames1

Senior Member
Oct 10, 2013
385
115
Some interesting comments by Netflix chief product officer Neil Hunt at CES this week, in response to stories that Netflix is cracking down on the use of VPNs and DNS services to get around regional content restrictions.

"The claims that we have changed our policy on VPN are false"
"Speaking at this year's Consumer Electronics Show (CES) in Las Vegas, he said: "People who are using a VPN to access our service from outside of the area will find that it still works exactly as it has always done." He was speaking in response to widespread claims that the popular media streaming firm had begun a crackdown on customers who used VPNs at the behest of studios unhappy at their licensing arrangements being ignored. They followed complaints by Netflix users on Reddit that their normal VPN setups were no longer working."

"Mr Hunt said that the company had added a "failsafe" on its Android app to help users whose DNS provider was unreliable. "It's intended to make the application more robust when your own DNS provider is failing" "

""Netflix does block some VPN providers who are named in contracts it signs with movie and television studios""

Netflix officially verified Mr. Hunt's comments.

http://www.bbc.com/news/technology-30726631
http://www.cnet.com/news/netflix-calls-vpn-lock-out-claims-false-teases-possible-new-look-interface/
 
Last edited:
  • Like
Reactions: bhiga

phaserk1

Member
Jun 16, 2012
23
7
Bucharest
I have a Asus RT-N56U router (so no ip tables support) and with the static routes method it worked on my Chromecast, but not on the Android app.

But I found a working solution for this situation:
1. Find the Chromecast MAC and assign an IP in "LAN - DHCP Server"
2. Go to "Firewall - Network Services Filter" and block Google DNS requests from Chromecast IP
3. Don't forget to disable static routes if you used it before

Now it works fine on both Crhomecast and my tablets...
 

Attachments

  • block_dns.PNG
    block_dns.PNG
    39.6 KB · Views: 798
  • Like
Reactions: pustefix

DJames1

Senior Member
Oct 10, 2013
385
115
So that amounts to saying that the Android Netflix app works if Google DNS is not blocked for the Android device?

Nope, I just tested that and it doesn't work that way for me. Looks like another one of those unknown variables giving inconsistent results.
 
Last edited:

phaserk1

Member
Jun 16, 2012
23
7
Bucharest
So that amounts to saying that the Android Netflix app works if Google DNS is not blocked for the Android device?

Nope, I just tested that and it doesn't work that way for me. Looks like another one of those unknown variables giving inconsistent results.

Like I said, if Google DNS is blocked, the Android app takes very long time to load and eventually gives an error.
Reboot the device and make sure your DNS unblocking service is working (has the updated IP) and try again. Also try to ping 8.8.8.8 from the device too make sure it's not still blocked.
 

skivnit

Senior Member
May 21, 2012
2,708
365
I have a Asus RT-N56U router (so no ip tables support) and with the static routes method it worked on my Chromecast, but not on the Android app.

But I found a working solution for this situation:
1. Find the Chromecast MAC and assign an IP in "LAN - DHCP Server"
2. Go to "Firewall - Network Services Filter" and block Google DNS requests from Chromecast IP
3. Don't forget to disable static routes if you used it before

Now it works fine on both Crhomecast and my tablets...
Iptables stopped working but your method fixed it. Thanks

Sent from my SM-G900F
 

DJames1

Senior Member
Oct 10, 2013
385
115
Like I said, if Google DNS is blocked, the Android app takes very long time to load and eventually gives an error.
Reboot the device and make sure your DNS unblocking service is working (has the updated IP) and try again. Also try to ping 8.8.8.8 from the device too make sure it's not still blocked.

Did all that, plus rebooted the router, killed the Netflix app, cleared app cache and restarted it. No good, doesn't work for me. My app version is 3.9.1. (To be clear, I don't have an Asus router, I'm testing the idea that the Android Netflix app will use the DNS unblocking service successfully if Google DNS is not blocked).

I tried again with a couple of different DNS services, and found that it works for some of them and not for others. For example USaccess.ca doesn't work, Unlocator does.
 
Last edited:

farooknaji

Senior Member
Jul 8, 2010
102
5
Static Route did work, now doesn't

I had a static route set to unblock-us which was working perfectly casting from my Android phone or in Chrome on my Windows PC. But today this stopped working. I am still able to play the video on my Android phone (or on the PC) but I get the usual 'We're having trouble...' message when I try to cast it to the Chromecast.

I can't figure out why this would have suddenly stopped working. Below is a picture of my router settings. Any hints or help would be great! No IPTABLE options on this router.
 

Attachments

  • Router.jpg
    Router.jpg
    189.1 KB · Views: 841

Pietplezier

Senior Member
Oct 24, 2010
401
47
Somewhere in Holland.
I don't have any experience with chromecast + Iptables. Rooted chromecast here, no need to struggle with Iptables.
But this is the way i change the DNS server on my phone.

Nexus 5 with Android 5.0 Lollipop.
Netflix app version: 3.9.1. Current version from Playstore.
Override DNS to quick change to another DNS Address. (ROOTed phone required!)
Dnsflix.com as US dns server

This setup will play 100% Netflix on my phone, and successfully cast's to my Chromecast.

ZYYB9EP.png

QaczCV4.png
 

pustefix

Member
Aug 20, 2010
19
3
I have a Asus RT-N56U router (so no ip tables support) and with the static routes method it worked on my Chromecast, but not on the Android app.

But I found a working solution for this situation:
1. Find the Chromecast MAC and assign an IP in "LAN - DHCP Server"
2. Go to "Firewall - Network Services Filter" and block Google DNS requests from Chromecast IP
3. Don't forget to disable static routes if you used it before

Now it works fine on both Crhomecast and my tablets...

My setup (static route) used to work until recently I upgraded the Netflix version on my tablet. After that it will only work for Chromecast but not my Android tablet. Your method of using network services filter work for both my Chromecast and tablet (using AC68W). Thanks.
 

andypen

Member
Jan 17, 2011
25
6
Auckland
I have a Asus RT-N56U router (so no ip tables support) and with the static routes method it worked on my Chromecast, but not on the Android app.

But I found a working solution for this situation:
1. Find the Chromecast MAC and assign an IP in "LAN - DHCP Server"
2. Go to "Firewall - Network Services Filter" and block Google DNS requests from Chromecast IP
3. Don't forget to disable static routes if you used it before

Now it works fine on both Crhomecast and my tablets...

So happy to have found this post. After my Chromecast received the new 22062 firmware update I also lost all ability to cast Netflix to it. I'm running DDWRT on my router so had to add the following firewall commands under the admin tab:
Code:
iptables -I FORWARD -s 192.168.11.21 -d 8.8.8.8 -j DROP
iptables -I FORWARD -s 192.168.11.21 -d 8.8.4.4 -j DROP
iptables -I FORWARD -s 192.168.11.21 -d 209.244.0.3 -j DROP
iptables -I FORWARD -s 192.168.11.21 -d 209.244.0.4 -j DROP
iptables -I FORWARD -s 192.168.11.21 -d 208.67.222.222 -j DROP
iptables -I FORWARD -s 192.168.11.21 -d 208.67.220.220 -j DROP
 

coloxim

Senior Member
Feb 17, 2011
1,546
52
Pavia
I don't have any experience with chromecast + Iptables. Rooted chromecast here, no need to struggle with Iptables.
But this is the way i change the DNS server on my phone.

Nexus 5 with Android 5.0 Lollipop.
Netflix app version: 3.9.1. Current version from Playstore.
Override DNS to quick change to another DNS Address. (ROOTed phone required!)
Dnsflix.com as US dns server

This setup will play 100% Netflix on my phone, and successfully cast's to my Chromecast.

ZYYB9EP.png

QaczCV4.png

But if I'm not rooted, can I use IP table+ usaDNS server, without use a pay service like unlocator?

Thanks..
 

Top Liked Posts

  • There are no posts matching your filters.
  • 29
    Using the already available information on the internet and a few threads of this XDA forum, I figured out how to get Netflix working in Switzerland, without having to use a VPN service.

    DISCLAIMER: This is not a replacement for a VPN service and its functionality, but an alternative way to use geoblocked websites outside their origin countries. This workaround needs you to have either a DD-WRT router or atleast a router on which you can configure iptables via CLI.

    • Sign up for the free beta at Unlocator
    • You will need admin access to your home router. Connect to this router via web interface or command line whichever is applicable.
    • Follow Setup Guides for Multiple Devices and setup your home router with the Unlocator DNS IPs
    • Follow How to Setup DD-WRT to Work With Chromecast
    • I didn't have a DD-WRT router but with admin access I could use the commands in the previous step on the command line of my TP-Link W8960N router.
    • You can replace the DNS IPs in these commands with any other service that you are using for eg. Unblock-US
      Code:
      iptables -t nat -A PREROUTING -d 8.8.8.8 -j DNAT --to-destination 185.37.37.37
      iptables -t nat -A PREROUTING -d 8.8.4.4 -j DNAT --to-destination 185.37.37.185
    • Edit: Due to some problems with newer Netflix app versions on the Chromecast build 19084 these iptables rules seem to be a better option. They redirect only DNS requests made to Google servers to the server of your choice
      Code:
      iptables -t nat -A PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 185.37.37.37
      iptables -t nat -A PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 185.37.37.37
    • Try playing any Netflix content in the Chrome browser, and use the Netflix player's Chromecast button to cast your content. It will work without any issues as your Chromecast will be able to bypass having to query Google's DNS and query Unlocator's DNS.
    • You can now try the same from any Android or iOS device using the appropriate Netflix app. (You can find the Netflix apk here)
    • Happy Netflixing! :highfive:

    Here are detailed and confirmed working steps to:
    4
    I have found a solution that works for me, and I think it would do for everyone who uses private DNS servers as Unblock-Us or Unlocator. The only thing you need is a router capable of filtering outgoing connections, and every router I have seen can do this as part of the built-in firewall without need of flashing an alternate firmware that supports iptables (such as openwrt).

    You only need to put two rules on your router firewall to block outgoing packets to Google DNS Servers (8.8.8.8 and 8.8.4.4) for TCP/UDP and port 53 (DNS). This way, Chromecast will get a timeout trying to reach Google DNS Servers and will fallback to your router defined DNS servers and your Netflix or Hulu will work again!
    4
    Let me know if you get it working. I'll have an fritz 7390 with the same problems.


    I have an FB 7320 and it is working with routing the google IPs to some unused IP...

    But you have to be careful how you enter the the google IPs (it should not be 8.8.8.8 and 8.8.4.4,
    but should be 8.8.8.0 and 8.8.4.0 - because FB does not allow to enter netmask 255.255.255.255).

    So it should look like:
    IP: 8.8.8.0
    Subnetmask: 255.255.255.0
    Gateway:192.168.178.222 (per default you have the FB configured as GW 192.168.178.1,
    so it must be in this network - and in this example .222 is an IP which is not used by any host).

    And same for IP 8.8.4.0.
    4
    This looks interesting mate.

    Do you have any idea if its possible on DDWRT / tomato?

    Is it a firewall script like this one (that i have been using but no longer works. Presumably because of the return.

    iptables -I PREROUTING -t nat -p udp -d 8.8.4.4 --dport 53 -j DNAT --to-destination

    I saw a script on reddit that is currently working just fine in my tomato-based router. You can use it to redirect all traffic going out on TCP/UDP port 53 to a specific IP address:

    iptables -t nat -A PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.1.1
    iptables -t nat -A PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.1.1

    (assumes router IP is 192.168.1.1 - change accordingly or reroute to your smart DNS server of choice directly)
    (assumes interface is br0 - change accordingly)
    3
    I re-direct the Google DNS requests in the Router, using Static Routes, which works quite well.

    The static route method redirects Google DNS lookups to a black hole, so that no response is returned. That's equivalent to blocking Google DNS. That won't work with the new Android Netflix app 3.7.2. The iptables method might work because the app will get a valid response to its domain lookup.