Force a chromecast to use router DNS?
I just got my chromecast and it's a very cool toy.
The one problem I'm having is related to netflix, unotelly, and chromecast's hardcoded DNS servers.
I'm using unotelly to access US netflix, setting it up inside pfsense so the whole house can enjoy the fun.
Chromecast doesn't want to place nice, seems it has hardcoded it's DNS servers to 18.104.22.168 and 22.214.171.124
Is there a way to redirect a DNS attempt to those two DNS servers back into pfsense's setup or to unotelly's?
I think this is a NAT question but if not, I'll happily head off to the appropriate subforum.
Without rooting the thing… No. Complain to Google.
You should be able to just redirect 53 at pfsense to itself or other dns via nat/forward.. There was quite a bit of chat about this awhile back
I believe this is one of the threads that gave some instructions
instead of using source of any you could put in the IP of your chromecast device and only redirect its dns to where you want it to go.
edit: btw I am with doktornotor – hardcoding anything is never a good idea!! And you should complain about it too them. You just have to come up with a reason that doesn't make it sound like your trying to circumvent any sort of regional restrictions. Maybe something to the lines of you only allow dns traffic out from your local dns server for security reasons. So you need the device to adhere to what your hand out via dhcp, etc.
If they are wanting their device to use their dns by default that is fine, but there should be a way to edit the defaults..
That did it, I was able to redirect all DNS from the Chromecast's IP to unoTelly's DNS server.
That solved the problem and netflix is happily 'casting US content.
I am in the same situation. My ISP probably doesnt allows other DNS servers to be used and Google DNS is probably hard-coded into chromecast. Therefore when i try and setup my chromecast it gives me the error:
"Chromecast connected to your Wireless network, but does not have access to the internet"
I am relatively new to port forwarding. Could you please help me what i need to enter in these fields, under the NAPT setting of my router?
Remote Host =
Remote mask =
Protocol = (there are two option TCP and UDP)
External port =
Internal port =
My router is accessible at 192.168.1.1
I know i have to forward port 53 for DNS but other than that i am not sure what goes into the other fields.
My thought is that when Chromecast tries to connect using Google DNS baked into it…my ISP blocks it. So if the DNS requests from Chromecast are forwarded to my router and use the DNS of the router..it should connect to the internet fine..in theory.
Your help is much appreciated.
When you say "my router" you mean pfsense?
The post I linked too gave fairly clear instructions.. Do you need a picture?
Actually i have a Winknet router provided to me by my ISP. Maybe i made a mistake by posting in the wrong forum. I realize that now.
However it would be nice if you could point me in the right direction..
Basically i wanted to know how Chromecast request going to the Google DNS can be redirected to the router and use the routers pre-defined DNS.
Defining the DNS within the router doesnt work as the ISP has implemented transparent DNS proxy.
So you have pfsense behind this winknet router? And clients are connected to pfsense and asking pfsense for dns, which then asks your winknet router?
If that that the case - then follow the instructions given.. What are you not understanding?? I can show you picture if you want?
BTW if your ISP is rerouting all 53 traffic to their dns.. Then not being able to get to googledns would not be an issue in the first place. Or do you mean your isp only allows queries to their dns? But are not doing transparent, you stated transparent.
Then just follow the instructions on pfsense – not sure what your router has to do with anything?? If your clients are connected to pfsense?
Sorry for resurrecting this post but just curious if people in Canada are still able to get their Chromecast to stream U.S. Netflix with the NAT change that's been mentioned? I've tried setting it up similarly but it doesn't seem to be working for me.
Here's a shot of what I've done in the NAT section:
In the Rules section I made sure to move the new rule above the default allow for the LAN.
To test this all out, I open up Netflix on my Nexus 7. I know that I'm hitting the U.S. version because the show I'm streaming is not available in the Canadian one. When I cast it to the TV it starts to load up and then brings up an error about the title not being available to be streamed from this location. If I try a title (Clone Wars) that's available in both versions of Netflix then it plays perfectly fine.
I used to have this working, but stopped using unblock-us for a bit, so had deleted the rules. I decided to use unblock-us again, so i just now went in and re-added the NAT rule, configured like the reply above this and it's not working. Not sure what's changed..
Ok I figured it out for my particular setup.
In the System/General Setup I had three DNS entries. Two from unblockus and an IPv6 one from OpenDNS. I'm thinking that the Chromecast was being handed an IPv6 address (assuming it supports it) and it was always trying to resolve Netflix destinations with the OpenDNS server. Obviously this would end up making me look like I was in Canada so hence only the Canadian titles would cast.
I deleted the OpenDNS entry and now I assume that my NAT rule is kicking in because I'm now able to stream U.S. Netflix videos without any issue. I don't have any good way of proving this other than putting the IPv6 DNS entry back in but for now I'm happy with the way things are.