How to get Chromecast working with Unblock.us (or any other DNS-services) with a very simple fix

It’s really simple. All you have to do is look at the image and do the same in your router. I have a ASUS RT-AC66U. All this does is stopping the Chromecast from being able to connect to Googles DNS. I would gladly answer any questions if there are any.

Alternatively you can set up iptables if you know how. I use DD-WRT on my router and it’s incredible simple with just 2 lines I have Chromecast using my UnoTelly DNS servers.

iptables -t nat -A PREROUTING -d 8.8.4.4 -p udp --dport 53 -j DNAT --to XX.XX.XX.XX
iptables -t nat -A PREROUTING -d 8.8.8.8 -p udp --dport 53 -j DNAT --to XX.XX.XX.XX     

Just replace the XX’s at the end to your DNS servers. Done.

An other way is to give the chromecast a static ip, and then simply block calls to google dns from that ip.

Not every router allows static routing.

I’ve tried this before but then Netflix won’t work on my android devices.

It’s usually called the static-route-to-nowhere method, and it’s also required for Netflix on Roku. There are lots of detailed descriptions of how to set it up on various routers. If you have an unblocking DNS service like unblock-us, you’ll undoubtedly find it in their FAQ with details for different routers, e.g.: https://support.unblock-us.com/customer/portal/articles/1523866--netflix-on-roku-netgear-router-guide
There are other ways to attempt blocking or redirecting Google DNS, but static routes are a standard feature found on all consumer routers except for a few ISP-supplied units where the advanced features are blocked.

For the simple minded: Could you explain the benefits of it?

If you have routing like that, just set it to route requests to the DNS in the instructions.

How would I input that information on my linksys? http://imgur.com/en7Oldq

It’s early days, but I have just had luck with a WRT54GL and Tomato. Tomato is another operating system that you place on the router, instead of the default Linksys firmware that comes with the WRT54GL. (DD-WRT is another example of a firmware distribution for routers.)

I did two things to get the Chromecast to work from outside the US:

  1. set the Unblock-Us DNS servers in Basic → Network → Static DNS
  2. in Advanced → DHCP/DNS check “Intercept DNS port (UDP 53)”

This intercepts the DNS requests from the Chromecast and returns the data from Unblock-Us instead, without the Chromecast ever knowing. I think this is better than the blocking approach because the Chromecast has no idea anything has changed.

Tips:

  • Read all the Tomato or(DD-WRT) stuff thoroughly. It’s really easy to bugger this stuff up and end up with a bricked router.
  • If you are buying a device, make sure that it is supported by the firmware you want to use before purchasing. Note that the newer WRT54G devices are not supported by Tomato.
  • Using the method I mentioned above, note that all DNS requests for all devices connected to the router will be forwarded to Unblock-Us. This may not be what you want. If it is not, Tomato provides plenty of options with dnsmasq and (I think) iptables, so there may be something you can do there based on the Chromecasts mac address.

I hardly know anything about vpns so my question is how do you change the location like this? Let’s say if I’m in the US and want to change to Canada to watch Netflix or to Europe? On Android there’s apps where you just click which location.

if you can’t find that static route in you’re router you can also try to telnet on your router and do iptables commandline.

The problem with smart dns is that sometimes if you set it up to access US from UK say, and later go to a UK site, but your UK
site thinks you are in US, and you have to reset DNS.

Easy way round this is to have two routers connected together, main one with isp dns and second one with smart dns.

BTW folks, you can use moreflicks.com to search for titles and it will tell you which Netflix regions it’s available in (if any).

Hey here’s my scenario:
Share internet with the guy downstairs, main router is downstairs, i have a wired repeater upstairs. Is there any way to get Unblock Us to work on the chromecast upstairs without affecting the guy downstairs netflix region as well?
Thanks

I use the chromecast beta extension, just cast the whole browser screen and it works just fine to get US netflix in Canada on me tv

I have a pretty complicated network setup, spanning 4 routers in my house. Router 1 is an ISP supplied router/modem combo without the ability to turn on bridge mode, and routers 2-4 are all running DDWRT as APs throughout the house. I’m guessing I’d have to setup DNS on router 1 and not the router the chromecast is connected to, correct? I don’t believe it has settings for DNS :frowning:

I concur, this is the best way and doesn’t interfere with the android app.

Very, very few of them do not anymore. Even the shit ones you get from Verizon can do static routing.

And it’s not necessary. The only thing you have to do is to block UDP port 53 to 8.8.8.8 on the firewall settings and that’s it.

The chromecast will automatically fall back to the default DNS (unblock-us) if it can’t connect to 8.8.8.8.

If you use the netflix android app, you also need to assign a static IP to the chromecast and only block the source from this IP to 8.8.8.8 because the netflix app needs be able to connect to the google DNS (don’t know what for) but actually uses the default DNS.