Android: cambiare DNS per traffico dati e WiFi

Se vogliamo cambiare i DNS sul nostro smartphone Android è possibile farlo utilizzando un semplice script bash come il seguente:

#!/system/bin/sh
#
# Script to change DNS on Android
# by Mentor - www.internauta37.altervista.org
# [email protected]
#

nameserver_1='1.1.1.1'
nameserver_2='1.0.0.1'

iptables -t nat -I OUTPUT -p tcp --dport 53 -j DNAT --to-destination $nameserver_1:53
iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination $nameserver_1:53

iptables -t nat -I OUTPUT -p tcp --dport 53 -j DNAT --to-destination $nameserver_2:53
iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination $nameserver_2:53

per eseguirlo automaticamente all'avvio dovrà essere messo nel percorso /system/etc/init.d con i permessi 755 ed il kernel dovrà avere il supporto Init.d .

In questo modo utilizzeremo i DNS da noi scelti sia col traffico dati che con le connessioni Wi-Fi.

Fonte: Dualjoe