¿Cómo cambiar el DNS de las conexiones móviles en Android Kitkat? -- 4.4-kitkat campo con dns camp android Relacionados El problema

How to change mobile connections's DNS on Android KitKat?


24
vote

problema

Español

Quiero evitar la censura de mi ISP móvil local (bloquea Imgur, por ejemplo, por alguna razón desconocida.

captura de pantalla
captura de pantalla (haga clic en la imagen para una variante más grande)

Estoy bastante seguro de que puedo evitar esto cambiando mi DNS a Google DNS u OpenDNS, pero no estoy realmente seguro de cómo lograr esto en Kitkat.

  Info: Device: Nexus 5 Android version: 4.4.2 Device status: rooted   
Original en ingles

I want to avoid censorship from my local mobile ISP (it blocks imgur, for example, for some unknown reason.

Screenshot
Screenshot (click image for larger variant)

I'm pretty certain that I can circumvent this by changing my DNS to Google DNS or OpenDNS, but I'm not really sure how to accomplish this on KitKat.

Info: Device: Nexus 5 Android version: 4.4.2 Device status: rooted 
     

Lista de respuestas

18
 
vote

OK, en primer lugar Divulgación completa : soy el autor de una aplicación que ahora está en la tienda de Google Play y que hace que pueda cambiar DNS para cualquier conexión móvil en Android 4.4. La aplicación requiere raíz , cuesta un par de dólares y se llama anular DNS . Me dijeron, en una respuesta ahora eliminada, eso es justo enlazar con mi aplicación siempre y cuando la exponga claramente.

El problema que encontré con esta versión de Android (4.4) es que, aparentemente para razones de almacenamiento en caché, el comportamiento del sistema se ha cambiado para redirigir todas las consultas DNS a un demonio del sistema llamado netd (Aquí hay un enlace a una presentación relacionada a la red de Android antes de 4.4, que, sin embargo, cubre parte de estos temas).

El ABCDEFGHIJKLMNABCDEFGHIJKLMN1 / ABCDEFGHIJKLMNABCDEFGHIJKLMN2 MÉTODO DE NO FORMA Esos valores, cuando se modifican, simplemente se ignoran con el demonio netd/defghijklmn3.

Es necesario comunicarse directamente al demonio a través del socket /dev/socket/netdDefghijklmn4Defghijklmn4. En Android, ahora está presente una herramienta llamada ndc que hace exactamente este trabajo.

La sintaxis para las cosas relacionadas con DNS es esta:

  # ndc resolver flushif <iface> # ndc resolver flushdefaultif # ndc resolver setifdns <iface> <domains> <dns1> <dns2> # ndc resolver setdefaultif <iface>   

The aplicación Adivina automáticamente el nombre del dispositivo de red y aplica estos comandos cada vez que se activa una red móvil.

 

Ok, first of all full disclosure: I'm the author of an app which is now on the Google Play Store and which makes you able to change DNS for any mobile connection on Android 4.4. The app requires root, costs a couple of bucks and is called Override DNS. I was told, on a now deleted answer, that is fair to link to my app as long as I expose it clearly.

The problem I found with this release of Android (4.4) is that, apparently for caching reasons, the system behaviour has been changed to redirect all DNS queries to a system daemon called netd (here's a link to a presentation related to Android networking before 4.4 which, however, covers part of these topics).

The getprop/setprop method does not work anymore. Those values, when changed, get simply ignored by the netd daemon.

It's necessary to communicate directly to the daemon via the /dev/socket/netd socket. In Android it's now present a tool called ndc which does exactly this job.

The syntax for the DNS related stuff is this:

# ndc resolver flushif <iface> # ndc resolver flushdefaultif # ndc resolver setifdns <iface> <domains> <dns1> <dns2> # ndc resolver setdefaultif <iface> 

The app automatically guesses the network device name and applies these commands each time a mobile network gets activated.

 
 
   
   
13
 
vote

i "Resolvió" este problema utilizando una regla IPTables para reenviar todas las conexiones de puerto 53 a un servidor DNS previsto; Mi experiencia en Android 4.4.2 con intento de modificar la configuración de DNS mientras está conectada a 3G ha sido exactamente como se describe LEO; ignorancia de los valores en GetProp | GREP DNS [0-9] ]: y DHCPD.CONF.

  iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53   

La razón es la descrita aquí: http: //forum.xda-developers. com / showpost.php? p = 44722857 & amp; postcount = 6 Todas las aplicaciones hacen las buscaplas DNS a través de NETD a través de una toma de A / Dev / Socket / DNSProxyd Unix Socket. Este hilo también describe por qué las propiedades del sistema se están ignorando.

para deshacer esto, do

  iptables -t nat -L OUTPUT -n -v --line-numbers   

, encuentra el número de línea que corresponde a UDP DPT: 53 a: xxx.xxx.xxx.xxx: 53 y hacer

  iptables -t nat -D OUTPUT *linenumber*   
 

I "solved" this problem by using an iptables rule to forward all port 53 connections to an intended DNS server; my experience on Android 4.4.2 with attempting to modify DNS settings while connected to 3G has been exactly as Leo described; ignorance of values in getprop |grep dns[0-9]\]: and dhcpd.conf.

iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53 

The reason is as described here: http://forum.xda-developers.com/showpost.php?p=44722857&postcount=6 All apps do DNS lookups through netd via a /dev/socket/dnsproxyd unix socket. This thread also describes why system properties are being ignored.

To undo this, do

iptables -t nat -L OUTPUT -n -v --line-numbers 

, find the line number that corresponds to udp dpt:53 to:xxx.xxx.xxx.xxx:53 and do

iptables -t nat -D OUTPUT *linenumber* 
 
 
 
 
1
 
vote

Lamentablemente, puede ser imposible hacerlo a partir de ahora, sin embargo, es posible intentarlo Cambiador de DNS . Esto puede funcionar si está arraigado, pero no hay garantías.

Un buen servicio DNS para usar sería el servicio DNS público de Google. Tiende a funcionar muy bien para este tipo de temas aquí.

Si nada de esto funciona, sigue buscando respuestas. Un buen sitio para cosas como esta es Desarrolladores XDA . Tienden a tener muchas respuestas sobre las cosas para Android.

 

Sadly, it may be impossible to do as of right now, however, it is possible to try DNS Changer. This may work if you are rooted, but there are no guarantees.

A good DNS service to use would be Google's public DNS service. It tends to work out very well for these type of issues right here.

If none of this works, keep looking for answers. A good site for things like this is XDA Developers. They tend to have many answers on things for Android.

 
 
1
 
vote

Estoy en Kitkat CyanogenMod 11, lo que significa que estoy arraigado por defecto. A pesar de que solo puedo reportar un fallo:

1er método:

Cuando intento el adb shell con

  setprop net.rmnet0.dns1 208.67.222.222 setprop net.rmnet0.dns2 208.67.222.222 setprop net.rmnet1.dns1 208.67.222.222 setprop net.rmnet1.dns2 208.67.222.222 setprop net.rmnet2.dns1 208.67.222.222 setprop net.rmnet2.dns2 208.67.222.222 setprop net.dns1 208.67.222.222 setprop net.dns1 208.67.222.222   

y luego prueba a la cual IP hjfdkhfjkyuiwnwetbyebvtwgqwetbyebvtwwgqwdi.tk resolve's ... Recibo una respuesta de NxDomain, lo que significa que no vino del servidor de nombres de OpenDNS que he establecido (lo que devolvería una respuesta con una IP alternativa, para servirle a agregar).

al hacer

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   

Solo vería lo que he configurado. Sin embargo, cuando se cambia de WiFi a Mobile (3G o 4G / LTE), veo IP's que reconozco como asignado a mi portador móvil. Las aplicaciones como "DNSWITCH" o "DNS CHANTER" pueden volver a configurar esos resoluciones automáticamente en el cambio de red. Sin embargo, lo que me informa que abcdefghijklmngetprop no es lo que realmente está haciendo la resolución.

2nd método [A]:

Otra forma en que lo intenté, es Modifieng /system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf Un conjunto de cosas fijas en allí (pero tenga en cuenta los nombres de la red y el número de resolores pueden diferir). Sin éxito.

2nd método [B]:

y en /system/etc/dhcpcd/dhcpcd.conf He eliminado el parámetro para aceptar resolores en la negociación DHCP. Tampoco éxito.

3º Método:

Hasta ahora lo único que funcionaría un poco es usar un "pobre hombre VPN", utilizando la aplicación "SSH TUNEL", usando Socks4, pero usando eso no tenía un buen resultado.

curriculum vitae:

Parece que se establece DNS en otro lugar, o todos se reenvían (secuestrados) tan pronto, la red es móvil.

Entonces, ¿cómo es así? ¿Es otra forma sucia de proporcionar a los transportistas una herramienta para demoler la neutralidad de la red?

En su caso, su pregunta fue debido a eso. ¿Tiene SSH para intentarlo si SSHTUNNEL es una solución alternativa para moverse en la censura de sus compañías?

 

I'm on KitKat Cyanogenmod 11, meaning I'm rooted by default. Despite that I can only report failure:

1st method:

When I try the adb shell with

setprop net.rmnet0.dns1 208.67.222.222 setprop net.rmnet0.dns2 208.67.222.222 setprop net.rmnet1.dns1 208.67.222.222 setprop net.rmnet1.dns2 208.67.222.222 setprop net.rmnet2.dns1 208.67.222.222 setprop net.rmnet2.dns2 208.67.222.222 setprop net.dns1 208.67.222.222 setprop net.dns1 208.67.222.222 

and then test to which IP hjfdkhfjkyuiwnwetbyebvtwgqwdi.tk resolve's... I get an NXDOMAIN response, meaning it didn't came from the OpenDNS nameserver I've set (which would return an answer with an alternative IP, to serve you adds).

When doing

getprop | grep dns 

I would only see what I've configured. However when switching from WiFi to mobile (3G or 4G/LTE) I see IP's that I recognize as being assigned to my mobile carrier. Apps like "DNSwitch" or "DNS Changer" can re-set those resolvers automaticly at network change. However what getprop reports me, is still not what's truly doing the resolving.

2nd method [a]:

Another way I tried, is modifieng /system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf an set things fixed in there (but be aware network names and number of resolvers can differ). Without success.

2nd method [b]:

And in /system/etc/dhcpcd/dhcpcd.conf I removed the parameter to accept resolvers at DHCP negociation. No success either.

3th method:

So far the only thing that would work a little is using a "poor man VPN", using the app "SSH Tunnel", using SOCKS4, but using that I did not exactly got a good result.

Resume:

It seems like either DNS set elsewhere, or all are forwarded (hijacked) as soon the network is mobile.

So, how come? Is it another dirty way to provide carriers with a tool to demolish network neutrality?

In your case your question was because of that. Do you have SSH to try if SSHTunnel is a alternative solution to get around your carriers censoring?

 
 
 
 
1
 
vote

Hoy encontré el mismo problema, y ​​gracias a la transfusión. Intenté desarrollar una aplicación " dns hacia adelante r" para resolverlo. No cambia el servidor DNS en el sistema, sino que reenvía las consultas DNS a otro servidor. Esta solución funciona bien para mí en Kitkat (Nexus 5 / 4.4.3 y Moto Razr / CM11). Espero que pueda ayudar a otros también.

 

I encountered the same problem today, and thanks to Transfusion. I tried to develop an app "DNS forwarder" to work it out. It does not change dns server on system, but forward dns queries to another server. This workaround works fine for me on Kitkat (Nexus 5/4.4.3 and Moto Razr/CM11). Hope it can help other as well.

 
 
 
 
0
 
vote

Actualmente no creo que haya ninguna manera de cambiar su DNS en sus datos móviles. Pero si su teléfono está arraigado, puede usar aplicaciones como Establecer DNS .

 

Currently I don't think there's any way to change your DNS on your mobile data. But if your phone is rooted you can use apps like Set DNS.

 
 
         
         

Relacionados problema

1  "Ninguna cuenta de copia de seguridad está almacenando actualmente los datos"?  ( No backup account is currently storing data ) 
cuando revisé la copia de seguridad y el amplificador; Restaurar opciones En mi configuración, muestra "ninguna cuenta de copia de seguridad está almacenando ...

0  Tratando de instalar Kitkat en Xperia Ray  ( Trying to install kitkat on xperia ray ) 
Mi teléfono es Sonyercisson Xperia Ray ST18I Tengo Super Jelly Bean http://forum.xda-developers.com /sshowthththread.php?t=2135918 ROM instalado, con kern...

5  ¿Cómo funciona la calibración de la batería?  ( How does battery calibration work ) 
Hay varios puestos sobre cómo calibrar las baterías de Android, pero ninguna describe su trabajo. ¿Cómo puede determinar el sistema en qué voltaje se consider...

1  ¡PERIR DE DATOS DESPUÉS DEL COMPRUPCIÓN AUTOMÁTICO Debido a la batería crítica!  ( Loosing data after automatic shutdown due to critical battery ) 
Recientemente, he estado sufriendo de varios problemas de batería que van desde drenajes rápidos de batería hasta apagados inesperados en niveles de batería s...

1  Copia de seguridad de 22MB en New Nexus 5 - ¡demasiado pequeño?  ( 22mb backup on new nexus 5 too small ) 
Intentando por primera vez rootear mi dispositivo, usando un nexo 5 que acabo de tener ayer. Naturalmente, estoy tratando de respaldar las cosas antes de ha...

1  OpenVPN en Android 4.4 no funciona  ( Openvpn on android 4 4 not working ) 
Estoy ejecutando la ROM no oficial de CyanogenMod 11 y parece que no puedo hacer que VPN funcione. He probado diferentes clientes OpenVPN. Todos ellos se co...

1  Play Store sigue estrellando mientras actualiza las aplicaciones en Nexus 5  ( Play store keep crashing while updating apps on nexus 5 ) 
OK Entonces, tengo un nexo 5, stock, actualizado a la última versión de Android. Cuando actualizo las aplicaciones, algunas de ellas, al descargar la actual...

3  No se pueden copiar archivos a Nexus 7 / Android Kitkat  ( Unable to copy files to nexus 7 android kitkat ) 
Tengo la tableta LTE NEXUS 7 II (2013) de ASUS NEXUS 7 II (2013) y no puedo copiar más que solo unos pocos archivos entre mi PC y la tableta. Pasos, que rep...

2  Monte USB OTG a una carpeta de destino específica  ( Mount usb otg to specific destination folder ) 
Tengo una moto G con 4.4.2 y, como la funcionalidad de la OTG de la OTG se rompe en la última versión de Android, necesito una forma de montar mi carpeta Mini...

0  Android 4.4 ¿Puede usar la impresora sobre Wi-Fi?  ( Android 4 4 can use printer over wi fi ) 
Busqué en la impresión con la impresora WiFi y llegué a saber que Android 4.4 puede hacer esto ( Las aplicaciones de Android ahora pueden imprimir cualquier t...

0  APK a través de Bluetooth  ( Apk via bluetooth ) 
Recientemente compré un Nexus 5. Intenté enviar un .apk (a través de Bluetooth) desde mi móvil a otro móvil. Está funcionando bien e instalé la aplicación e...

0  Force el navegador de fotos predeterminado de Android para mostrar solo imágenes en Kitkat  ( Force androids default photo browser to display only images on kitkat ) 
Tengo ABCDEFGHIJKLMNABCDEFGHIJKLMN5 Actualmente en My Asus Nexus 7 LTE Tablet y tengo dos aplicaciones nativas de navegadores de fotos: Photos y abcdefhi...

2  SoftBrick después del teléfono colgando. Arraigado pero stock rom en nexus 5  ( Softbrick after phone hanging rooted but stock rom on nexus 5 ) 
Tengo un problema realmente grande ... Tengo mi Nexus 5 durante 2 meses y no, ya no se reinicia. Mi teléfono está enraizado y en stock Android 4.4.2 y el mo...

2  Falta SIM-Toolkit en el cajón de la aplicación  ( Sim toolkit is missing from app drawer ) 
Estoy ejecutando Android 4.4.2 (Kitkat) en una nexus 4 . un día antes de cambiar de dalvik a arte , y después del reinicio, ¡me di cuenta de que faltaba...

1  ¿Cómo comprobar, si mi Asus Nexus 7 LTE realmente es la versión LTE?  ( How to check if my asus nexus 7 lte really is lte version ) 
Siguiendo esta pregunta y mis muchas pruebas adicionales, empiezo a temer, que mi asus nexus 7 II ( 2013) LTE no es en realidad una versión LTE y simplement...

2  ¿Es posible jugar a los medios reales en una tableta Android?  ( Is it possible to play real media on an android tablet ) 
Me gustaría reproducir los videos de los medios reales en http: // www.cs.princeton.edu/theory/index.php/main/additivecombinatoricsminicourse . Sin embargo, ...

1  Descargar Android PDF Dar Descargar Sin éxito  ( Android download pdf giving download unsuccessful ) 
He estado tratando de averiguar qué es este error y cómo deshacerse de él. Cada vez que intento abrir el archivo PDF desde este sitio web en Chrome: http...

0  ¿Puede uno "SaferOot" 4.4.2?  ( Can one saferoot 4 4 2 ) 
Sé que un Samsung 4.3 puede estar enraizado usando un método llamado Saferoot. Lo que hace es encontrar un agujero de seguridad en el sistema operativo y real...

1  ¿Cómo puedo actualizar mi motivo enraizado a 4.4.2  ( How can i update my rooted moto g to 4 4 2 ) 
Cada vez que pruebo la descarga de OTA, me da un error al instalarlo, lo que supongo es porque he arraigado el teléfono. Es un modelo europeo si importa. ...

3  Nexus 5 Touch La respuesta es lenta al cardar  ( Nexus 5 touch response is slow while charging ) 
Mi problema es simple. La respuesta al tacto de mi nexo 5 es muy lento mientras se carga. Ni siquiera puedo desbloquear el patrón al cargar. Necesito dibujarl...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.