Acceder a LAN WiFi (sin pasarela) y la red móvil simultáneamente

Soy consciente de que se ha preguntado antes (con una solución limitada o no), pero no he visto ninguna actualización reciente y creo que mi escenario es único, así que empezaré un nuevo hilo.

Tengo un pi de la frambuesa y está funcionando como punto caliente entre otras cosas. Por diseño, DHCP no distribuye una puerta de enlace predeterminada. Mi caso de uso es uno o más dispositivos que interactúan con el Pi como un servidor.

Uno de los dispositivos conectados será un dispositivo móvil (editar: ejecutar una aplicación personalizada de mi diseño que forma parte de la solución total), y ese dispositivo mantendrá su conexión celular, no para conexión o enrutamiento, sino para que la aplicación pueda acceder Recursos internos y externos simultáneamente.

Actualmente:

IOS : Esto funciona exactamente como espero en IOS – detecta que la red WiFi no tiene una puerta de enlace predeterminada y envía el tráfico externo sobre la célula.

Android : Esto no funciona en absoluto. Android, obstinadamente, ve WiFi conectado y deshabilita celular, incluso sin pasarela predeterminada.

Windows Phone : Tipo de un híbrido. Ambas redes permanecen encendidas, pero mi escenario tiene una entrada DNS en DNS público y un sitio público vincula a un recurso en el Pi. Si enlace al recurso directamente usando la dirección IP WiFi del Pi, funciona bien (aunque esto causa otros problemas relacionados con la seguridad). Si enlace a través de un FQDN, en realidad no estoy seguro de lo que está pasando. No resuelve desde el navegador web, aunque todas las utilidades de red que he instalado en el teléfono para solucionar correctamente resuelve el FQDN a la dirección Pi a través de DNS.

Espero que esto tenga sentido. La pregunta: ¿Cómo puedo habilitar esta funcionalidad a través del tablero en 2015? 🙂 Para mis propósitos, el Pi como un hotspot privado nonroutable funciona mejor que WiFi directo o Bluetooth. Y recuerda que no estoy pidiendo el teléfono a ROUTE; Necesito mi aplicación personalizada para poder conectar al mismo tiempo al Pi y al Internet público. Quiero que todos los teléfonos hagan lo que IOS hace en este sentido.

Mi escenario actual es el Pi de alojamiento de una página web (entre otras cosas) y que es mi preferencia, pero puede esto incluso ser resuelto de manera nativa?

One Solution collect form web for “Acceder a LAN WiFi (sin pasarela) y la red móvil simultáneamente”

Usted dice que esto no es una situación de conexión o encaminamiento, pero si usted piensa en ello, realmente es ambos.

Es el enrutamiento porque el tráfico del teléfono necesita ser enrutado a una de las dos interfaces. No puede haber enrutamiento a través del teléfono, pero sigue siendo un problema de enrutamiento. Afortunadamente, parece que la parte de enrutamiento está trabajando en las tres plataformas.

También es una forma inusual de atar. Las únicas diferencias son que el tráfico no se origina desde el Pi, sino desde el teléfono, y que el Pi en lugar del teléfono actúa como punto de acceso.

Pensar en términos de anclaje es importante porque muestra que el Android puede tener WiFi y celulares activos al mismo tiempo (al menos en el modo hotspot, pero probablemente también en modo cliente). A este respecto, mi respuesta no es completa – no puedo decirte CÓMO lograr eso.

En cuanto al problema de Windows phone que mencionó: para solucionarlo, primero identifique dónde se encuentra el servidor DNS que conoce el FQDN del Pi. ¿Un servidor DNS público lo sabe, aunque obviamente está en una red privada?

Hay dos posibles explicaciones para su observación:

  • No hay ningún servidor DNS público que conozca este FQDN. En ese caso, IOS es probablemente utilizando algo como mDNS para localizar el Pi Frambuesa.
  • Hay un servidor DNS público que conoce este FQDN. En ese caso, tal vez Windows Phone comprueba la respuesta de DNS para marcianos y la rechaza, pensando que es un ataque.

De cualquier manera, lo que realmente necesitas es tener dos infraestructuras DNS separadas. Una forma de hacerlo es incluir un pequeño servidor DNS (dnsmasq quizás) con su aplicación y configurar un reenviador para la zona con el FQDN del Pi para reenviar a la dirección IP del Pi (que tendría que ser codificado en disco duro, obviamente). Todas las demás solicitudes deben ir a los servidores DNS normales.

Otra forma podría ser no usar DNS en absoluto, pero usar el archivo hosts en su lugar.

  • Base de código común entre iOS nativo, Android y Windows Phone App
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.