changing dns settings on android - not working When i set my dns on my android device and go to dns leak test it's not the dns that I set in the dns settings. Its the dns set by my ISP. 

How can I get it to use the dns that I want?

for reference:
how-to-change-dns-settings-on-android
my device is a lemaker guitar
I do not have root access on the device 
I am accessing my wifi at home 

http://xslab.com/2013/08/how-to-change-dns-settings-on-android/



Edit1

Maybe I need to have root and/or use an app like the one mentioned here - Override DNS.  Also need to work out what version of android it is, but think it is the most recent version.
Related question here leaving the ip as dynamic(currently giving it static ip from the router) and using apps to change change the dns.
Related Q here but he can't save the new dns settings.
A possible option here in one of the answers is use debugging mode and adb to change the dns settings, but my problem is not changing the dns it is getting the dns I change it to to work.
First you must have dnscrypt installed.
These scripts require root access:

#!/bin/sh
#root is required 

#daemonize dnscrypt
dnscrypt-proxy --daemonize --resolver-address=208.67.220.220:443 --provider-name=2.dnscrypt-cert.opendns.com --provider-key=B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79

#this will redirect dns query traffics to localhost
iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1


If you want to restore DNS to default, run this:

#!/bin/sh
iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1