Cambiar DNS para datos móviles sin usar una aplicación

(Mi teléfono está rooteado y ejecuta Android 5.1)

¿Cómo se pueden cambiar las direcciones DNS de los datos móviles (y de forma persistente, si es posible) sin el requisito de una aplicación?

¿Cómo cambiar el DNS de las conexiones móviles en Android KitKat? tiene varias respuestas sobre esto: diferentes enfoques, al menos 2 de ellos que no requieren una aplicación.

Respuestas (4)

No encontré una manera de hacerlo de manera confiable sin una aplicación.

A menudo uso OpenDNS Family Shield , pero a veces me bloquea para visitar algún sitio de piratería en particular y luego necesito cambiar rápida y fácilmente los servidores DNS.

Solía ​​usar Set DNS , pero dejó de funcionar en Android 4.3 y posteriores, así que creé Override DNS , una nueva aplicación que imita el comportamiento de Set DNS, pero está actualizada para funcionar incluso en Lollipop. Tiene alguna otra característica agradable como un anuncio de protección PIN y un filtro SSID de Wi-Fi también.

La única forma que veo de hacerlo sin una aplicación es algo así como una iptablesregla para redirigir cualquier tráfico que vaya a udp/53 a alguna otra IP. Un procedimiento similar se muestra en un hilo XDA .

Pego aquí las iptablesreglas para completar (no las probé)

$IPTABLES -t nat -D OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -I OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53
$IPTABLES -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53

Todo lo que se dirija desde el dispositivo Android a cualquier IP, puerto UDP y TCP 53 se redirige a 208.67.222.222uno de los servidores DNS de OpenDNS.

Estos comandos deben colocarse en un script que se ejecuta en cada arranque del dispositivo. Esa funcionalidad depende de su ROM específica. No sé si se puede hacer algo similar en una ROM estándar sin usar una aplicación. Anular DNS también resuelve este problema.

Intento usar esta configuración pero aparece el error "Dirección IP incorrecta". Estoy intentando usar Google DNS 8.8.8.8 y 8.8.4.4
Muchas aplicaciones afirman brindar la misma capacidad sin root. ¿Hay alguna "trampa" para esas aplicaciones?
@ mac9416 No estoy al tanto de ningún comportamiento particular relacionado con esas aplicaciones (todas crean una VPN local falsa), pero la pregunta original era sobre cómo lograrlo sin ninguna aplicación específica, así que creo que vamos a OT.

A partir de Android 9 Pie , es posible cambiar los DNS de forma global, siempre que admitan TLS . solo entra

Settings → Network & internet → Advanced → Private DNS

Tengo Redmi Note 9 Pro Max con Android 10. Cuando ingreso la IP en el nombre de host del proveedor de DNS privado, se desactiva el botón Guardar tan pronto como ingreso el primer carácter después del tercer punto. ¿Es que no se permiten IPs? Estoy tratando de ingresar 208.67.222.222 o 208.67.220.220
¿Hay algún dominio que apunte a estas IP de Open DNS?
De hecho, esto funciona en 2021. Para Cloudflare, debe agregar 1dot1dot1dot1.cloudflare-dns.com blog.cloudflare.com/…
@IsmailS: para obtener el nombre de host para la dirección IP, puede usar dig -x 208.67.222.222o dnschecker.org/reverse-dns.php
Algunos proveedores de red en algunos países parecen bloquear la resolución de estos servidores DNS privados, por lo que la función de DNS privado no siempre funciona.

Esta información es de 2014. Pero aún podría funcionar. No estoy en condiciones de probarlo en este momento, pero ya que está rooteado. Puede intentar agregar la configuración de dns al archivo build.prop y ver si se mantiene. Agregar lo siguiente al archivo build.prop debería agregar google como su servidor DNS.

net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4

Tomado de esta publicación en los foros de Nexus 5 en XDA. Esa publicación se puede encontrar aquí. El elemento número 21 es la configuración de DNS.

Probé esto por diversión en mi Lenovo P2 con Android 7.0 y no funcionó

Eso no es posible sin una aplicación, tiene que ser con una aplicación. En segundo lugar, necesita acceso de root para poder cambiar el DNS 1G/2G/3G/4G.

" Eso no es posible sin una aplicación, tiene que ser con una aplicación ", ¿alguna buena razón?
Porque Android no lo admite de forma predeterminada, por eso necesitas una aplicación especial para jugar con él.
Android admite la edición de build.prop, solo necesita un administrador de archivos con acceso de root.
@DanB +1, Estaba a punto de comentar sobre esto diciendo eso. Vea mi respuesta para el método build.prop. Si está interesado.