Bypass Transparent DNS Proxy With a DD-WRT Router

Some ISPs (Internet Service Provider) uses Transparent DNS Proxy which causes Smart DNS Proxy not to work. 

Transparent DNS Proxy is used by the ISPs to intercept DNS lookup requests (TCP/UDP port 53) and transparently proxy these data packets to their DNS servers. Unfortunately this forces your PC/Mac/Modem/Router to use your ISPs DNS service rather than Smart DNS Proxy.

If you have a DD-WRT router or any other router uses Linux OS you can bypass your ISP's Transparent DNS proxy using your routers custom firewall rules. This way our DNS servers will run on different TC/UDP port.

In order to do this, please follow these steps:

1. Log into your DD-WRT router and and select Setup and then Basic Setup.

2. Scroll down to Network Address Server Settings (DHCP) and Enable DHCP.

3. Change Static DNS 1 to Change Static DNS 2 to

4. Disable Use DNSMasq for DNS. 
Scroll down and Click on Apply Settings.

5. On your DD-WRT control panel, select ADMINISTRATION from the top right section. Then Select Commands from the tabs below.

6. Paste Followings to the Commands Shell > Commands section.

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

7. Click on Save Startup. If needed Paste the above code again and then Click on Save Firewall.

Reboot your router and then every device connected to your dd-wrt router will be benefiting from Smart DNS Proxy even though your ISP does transparent DNS lookups.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.