Aunque hoy en día es habitual tener un plan de datos relativamente decente y conexión Wifi en casi cualquier hogar y/u oficina, reciéntemente he tenido problemas con un terminal móvil con el que estaba “jugando” y al que, con determinadas ROMs de Android, no le funcionaba la conexión wifi por lo que me veía obligado a

descargar de cualquier web ficheros APK de dudosa procedencia y/o intenciones

buscar una forma de darle conexión al móvil sin esquilmar el plan de datos que tengo actualmente (que, aunque holgado y sobredimensionado para lo que necesito, no es ilimitado)

Finalmente opté (como muchos habréis sospechado) por la segunda opción y, en concreto, en desempolvar algunas anotaciones que tenía sobre cómo conectar un móvil Android por USB aprovechando la conexión de red de mi ordenador personal con Linux.

Te dejo aquí la “chuleta” por si a alguno nos vuelve a hacer falta en un futuro 😉

El concepto de proporcionar conexión al móvil desde el ordenador se denomina Reverse Tethering mientras poner conectar un ordenador a Internet usando su plan de datos es el Tethering.

En ambos casos, se utiliza un cable USB como medio físico para la conexión.

Ordenador

La mayoría de soluciones que encuentro en Internet requieren root en el móvil (incluso en WikiLeaks hay una mención al reverse tethering por parte de la CIA) y, aunque lo tengo rooteado, opto por buscar alguna opción que no tenga un requisito tan “fuerte” y que no todos los usuarios pueden (y/o desean) acometer.

Encuentro:

ambas en el repositorio de software

Opto por utilizar SimpleRT primero pues no requiere ADB (como sí hace Gnirehet) aunque esté en ruso y me dé “mal rollo” 😅

En principio deberían compilarse dos programas: uno para Android y otro para nuestro Linux pero, como

la web oficial ofrece un apk (si nos fiamos del “ruso”) el Centro de Software ya incluye simple-rt

trabajo que nos ahorramos

Interesante comprobar que simple-rt incluye tanto el binario como un servicio (que de momento no voy a activar de forma permanente porque lo voy a usar de forma puntual)

En un principio, y con los valores por defecto no funciona

pero se debe a que no está usando la tarjeta de red de mi equipo

Así que lanzamos simple-rt indicando la interfaz de red correcta

Móvil

Llega el momento de pasar el fichero apk al móvil.

Como lo tengo sin conexión a Internet, optaré por copiarlo directamente con el cable USB a su memoria interna (el enlace lleva a un fichero ZIP por reducir el tamaño del APK y no tengo en el móvil ningún programa para gestionarlo) pero ocupa poco (aproximadamente 1 MB), lo puedes descargar directamente usando el plan de datos 😉

Si tienes arrancado simple-rt en el ordenador, para un momento el servicio (CTRL+C) porque si no el móvil va a intentar usar el cable USB para la conexión a Internet y todavía no está el APK en el móvil para poder gestionarlo 😉

Una vez copiado el contenido del fichero descomprimido en alguna de las carpetas del móvil (yo he optado por la carpeta de descargas Download) deberemos instalarlo.

Para poder ejecutar el fichero APK que acabamos de copiar, necesitas haber activado (si es que no lo has hecho nunca) el permiso para otros orígenes que no sean la Play Store, por lo que deberás ir a Ajustes y cambiar dicho comportamiento si quieres poder instalarlo

Tras aceptar la VPN y demás condiciones que te pondrá la aplicación y el sistema (y asegurándote que tienes en ejecución el programa simple-rt en tu ordenador) podremos navegar perfectamente aún con la wifi y el plan de datos desconectados (observa que no está ninguno de los dos en la barra de notificaciones de Android en la siguiente captura)

y que en la barra de estados contamos con una notificación

que nos permitirá en todo momento comprobar el tráfico de datos que está pasando a través del túnel VPN que hemos creado

Como “pega” que me queda es el no poder hacer uso de la conexión para actualizar (e instalar) aplicaciones a través de la Play Store

Y es un gran problema porque es básicamente el motivo principal por el que he estado investigando cómo hacer el Reverse Tethering…

Por fortuna, en el propio repositorio de Github encuentro que el autor indica que debe dejarse conectada la conexión wifi o el plan de datos para que aplicaciones como la Play Store o Whatsapp funcionen correctamente. En teoría, debe utilizar la conexión inversa y no gastar datos… tras varias pruebas y descargar casi 1GB de aplicaciones entre las distintas pruebas realizadas con diferentes ROMs el consumo no varía ni en la web del operador ni en la opción de consumo de datos indicado por Android por lo que puedo asegurar que tener activo el 4G no supone consumo de datos (se utiliza en todo momento la VPN creada por la aplicación y se hace uso del reverse tethering 👍)

PROBLEMAS

Tras haberlo hecho funcionar con éxito como se indica en el procedimiento anterior, cuando (con el tiempo) he vuelto a necesitarlo me encuentro con el siguiente mensaje de error

Por lo que veo, el fichero iface_up.sh es proporcionado por el propio simple-rt.

Por lo que, si te encuentras con este problema, funciona perfectamente colocándote en el directorio /usr/lib/simple-rt (en el cual se encuentra el binario).

Si te resulta muy incómodo tener que estar cambiando de directorio para poder ejecutarlo (yo lo uso ocasionalmente y para experimentos puntuales) te recomiendo añadir la ruta a simple-rt al $PATH

CONCLUSIÓN

Pequeña reseña para poder conectar un móvil a Internet aprovechando la conexión de red del ordenador que espero os sea de utilidad.

Y TÚ…