Hey gabell,
Yes, you will be pleased to know there is working fix for this issue.
There are two working solutions:
1. Create a dnsmasq.conf.add file to have the router give the Roku a custom DNS server
2. Use another router (i.e RTN66U/AC68U) and use your LAN as a "WAN".
While DNS Filter feature appeared to be what I was after, it half works for the Roku. I am not sure why. You would think the router would mask and change the DNS so the Roku wouldn't know but it just wont work correctly for it. Works fine for my PC however. It also breaks one of my new TVs. Its rather strange.
Option 1 is the easiest if you don't have another router on hand and goes like this:
Step 1:
1. Ensure you have the MAC address of the Roku - If you don't,
disconnect the router from the internet, connect the Roku and get to the network menu where it shows the MAC or just grab it from the router under DHCP Leases table (quicker).
Ensure you do not have a static DHCP entry defined for it on the router via its admin webpage.
2. Once you have the Roku MAC, log into the router:
Administration > System
- Enable JFFS partition
- Format JFFS partition at next boot
- Enable JFFS custom scripts and configs
- Enable SSH
- Reboot Router
3. SSH to the router and login
4. cd /jffs/configs/
5. vi dnsmasq.conf.add
6.Type/copy:
dhcp-host=set:ROKU1
(can be anything really),00:00:00:00:00:00
(Roku MAC),192.168.1.11
(Fixed IP you want to assign to the Roku - choose a free address in your subnet)
dhcp-option=tag:ROKU1
(same as above),option:dns-server,123.123.123.123
(IP of your unblock service)
- Will look something like this:
dhcp-host=set:ROKU1,00:00:00:00:00:00,192.168.1.11
dhcp-option=tag:ROKU1,option:dns-server,123.123.123.123
7. Press ESC on your keyboard
8: type :wq
9. type cd
10. type chmod a+rx /jffs/configs/dnsmasq.conf.add
11. Check file has saved with: cat /jffs/configs/dnsmasq.conf.add
- You should see the contents of the file displayed.
12. Type nvram commit
13. Type service restart_dnsmasq
- Router should return "Done."
14. Close your SSH session
15. On the router's GUI:
Firewall > Network Services Filter
Enable Network Services Filter
Filter table type - "BlackList"
Rest of the options as default (all on)
Source IP of your Roku from your dnsmasq.conf.add file eg 192.168.1.11
Leave both port range fields blank
Destination IP 8.8.*.*
Protocol needs to be set to TCP ALL
Do the same again but select UDP as the protocol.
You should have two entries for your Roku's IP.
Save.
16. Reboot the router
17. Connect the Roku to the network and it will now use your desired DNS IP - check your Roku network page.
Problem solved.
Martineau did mention this code at the start of the thread but I figured it would be the same as the DNS filter - not so.
Remember not to give the Roku a reserved DHCP entry on the GUI (LAN>DHCP Server) - It will add its own tags that will prevent the custom DNS being sent to the Roku. This is why you need to have dnsmasq.conf.add.
You can also use a second router - set its WAN DNS servers to the unblock service, setup the firewall as above and connect the Roku to this. Make sure the second router's IP is in a different subnet ie 192.168.2.1.
Connect your main router to the second routers' WAN port. Connect a PC to see if you can browse the web. If so you are all good. Connect the Roku and anything else you want to connect to the unblock service to this router.
If you want YouTube to play videos from your phone iPad etc., it will not find the Roku automatically as it is on a different network (aka subnet). You will have to pair your devices from the YouTube pair option.
With the dnsmasq.conf.add and Merlin's work, you can simply add in the code above (step 6) and setup the firewall and it will work.