Note

Since the Chromecast has Google’s DNS servers hardcoded, you will need a router with custom firmware like Tomato or DD-WRT to get Netflix region switching on the Chromecast working.

Setting up your router is outside the scope of this guide. You can however find useful information here and here.

It should be noted that there is an alternative method not requiring a router with custom firmware: All you have to do is block 8.8.8.8 and 8.8.4.4 at the router level. If your router is capable of blocking access to specific IP addresses, you don’t need a router with custom firmware. Setting this up is however outside of the scope of this guide. We have created guides on how to block Google DNS in your router here, for routers not listed there, Google is your friend

 

Router configuration

Once you have your router set up with either Tomato or DD-WRT firmware, follow the following steps:

  1. Assign a static IP address to your Chromecast.
  2. Navigate to Administration -> Scripts and save the following line under Firewall Scripts

For Tomato Firmware:

iptables -t nat -A PREROUTING -s IP-OF-CHROMECAST/32 -d 8.8.8.8 -p udp --dport 53 -j DNAT --to IP-OF-ROUTER

iptables -t nat -A PREROUTING -s IP-OF-CHROMECAST/32 -d 8.8.4.4 -p udp --dport 53 -j DNAT --to IP-OF-ROUTER

 

For DD-WRT Firmware:

For intercepting all DNS:

iptables -t nat -A PREROUTING -i br0 -p udp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

Intercepting only the Chromecast:

iptables -t nat -A PREROUTING -i br0 -s IP-OF-CHROMECAST/32 -p udp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

iptables -t nat -A PREROUTING -i br0 -s IP-OF-CHROMECAST/32 -p tcp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

If you didn’t set our DNS in your router use this (Not recommended):

iptables -t nat -I PREROUTING -i br0 -s IP-OF-CHROMECAST/32 -p udp --dport 53 -j DNAT --to OUR-DNS-SERVER

iptables -t nat -I PREROUTING -i br0 -s IP-OF-CHROMECAST/32 -p tcp --dport 53 -j DNAT --to OUR-DNS-SERVER

Simply replace IP_OF_CHROMECAST with the static IP you assigned to the Chromecast in Step 1 and replace IP-OF-ROUTER with the IP of your router if you’ve configured our DNS in your router, otherwise replace it with two of our DNS servers below.

That’s it! Happy casting!

 

Important

Make sure your IP address is activated. Go to the Self Service page on your computer to confirm