Reenvío de puertos en Android 2.3.6 wifi-tether usando la aplicación Port Forwarder

11

Tengo problemas con las conexiones de reenvío de puertos desde fuera de mi red cuando la conecto con mi teléfono. Entiendo mal los enrutadores y las redes en general, así que tengan paciencia conmigo.

Mi dispositivo Android es el que está conectado directamente a Internet. Para permitir el acceso a mi computadora desde el mundo exterior a través del dispositivo Android, actualmente estoy usando la aplicación gratuita llamada Port Forwarder y mi teléfono está rooteado, así que tengo la autorización que necesito. El puerto en el que manejo las conexiones en el servidor es 80. Accediendo a la dirección IP del servidor (dentro de la red) <local_ip.addr.ess.here>:80puedo acceder a él, para que funcione.

El problema es que cuando intento acceder desde fuera de la red, la aplicación me dice que configure el origen en 80 y el destino, sea cual sea (su ejemplo es 8080); por supuesto, lo configuré en 80 ya que eso es lo que el servidor está escuchando. Así que trato de acceder al servidor desde afuera usando <phone.public_ip.adr.ess>:80pero no funciona.

Como habrás notado, no tengo idea de lo que estoy haciendo y encontrar guías ha sido difícil, incluso para los enrutadores estándar. ¿Alguien ha utilizado con éxito esta aplicación y tal vez podría ayudarme? Probablemente omití información importante debido a la ignorancia, si es así, avíseme y actualizaré la pregunta.

justanotherhobbyist
fuente
¿De qué "discurso público" estamos hablando aquí? Si es la dirección WiFi asignada por su enrutador (generalmente algo así como 192.168.*.*, pero a veces también 172.*.*.*o 10.*.*.*, vea Wikipedia ), solo es visible dentro de su red local y no se puede acceder directamente desde el "mundo exterior". Aquí se necesitan configuraciones de reenvío de puertos en su enrutador , y se tratan mejor en ServerFault .
Izzy
No, es la dirección de google'ing "cuál es mi ip" (si no la ha usado, el propio google proporciona una dirección IP que debería ser confiable). Y no entiendes la pregunta, en el título dice "conexión wifi". Lo que significa que no es un enrutador normal, mi dispositivo Android ES mi enrutador, por lo que este es el sitio relevante. ¿Leíste toda la pregunta? Menciono aplicaciones, teléfonos y otras cosas relevantes que parece haberse perdido por completo.
justanotherhobbyist
1
Incluso lo he leído varias veces, pero debo admitir que estaba un poco confundido. No indicó explícitamente qué dispositivo actúa como "servidor" en ese contexto, por lo que asumí la dirección habitual (la palabra "atadura" por sí sola no especifica quién es el servidor y quién es el cliente, lo siento). Gracias por la aclaración: esto hace que mi comentario sobre ServerFault sea obsoleto, por supuesto. // Tu puerto hacia adelante de 80 a 80 me parece correcto. Sugeriría consultar los registros de Android (por ejemplo adb logcat) al intentar acceder desde el exterior, para ver si al menos llega a su dispositivo y tal vez registra algunas sugerencias.
Izzy
1
¡Gracias! Acabo de editar un poco más, así que ahora debería estar perfectamente claro (con suerte; al menos ya nadie debería aprovechar la misma trampa que yo). Siéntase libre de ajustar si no le gusta mi edición. // Un pensamiento es que su proveedor podría no permitir eso. Para verificar, configure algún servidor (como un simple servidor FTP) en su dispositivo Android, e intente si se puede acceder desde el "mundo exterior". Si eso tampoco funciona, es su proveedor bloqueando ese tráfico. Si funciona, aún podemos investigar más a fondo.
Izzy
1
Llamé a mi proveedor y me dijeron que lo permitían. Solo se bloquearon algunos "puertos de virus conocidos", sea lo que sea que eso signifique. Entonces el problema debería estar en el teléfono mismo.
justanotherhobbyist

Respuestas:

2

No estoy seguro de qué versión está ejecutando, aquí está mi consejo. La causa por la que probablemente esté bloqueado es el firewall de Android y la sólida política de Se-Linux.

Como tiene acceso completo a la raíz, puede obtener un shell con ADB y verificarlo. Escribe su -y te llevará a la raíz. Estoy usando TerminalEmulator, pero puede usar uno nativo, si se envía con el sistema operativo.

Si te he entendido correctamente, tu teléfono actúa como enrutador en modo de anclaje. Entonces, esto es necesario para reenviar paquetes: echo 1 > /proc/sys/net/ipv4/ip_forward

A ver si eso ayuda. Lo más probable es que necesite jugar con iptables, permita el puerto 80,443 en el puerto de anclaje. Esta no es una respuesta completa, pero es demasiado larga para publicarla como comentario.

fugitivo
fuente
1

La respuesta es que su proveedor bloquea el puerto 80, sin embargo, si cambia al puerto 443, no puede bloquearlo porque el puerto 443 debe tener la comunicación bidireccional desbloqueada para que https envíe y reciba respuestas. Por lo tanto, cambiar de http a https: // probablemente debería resolver su problema.

Chris Zolinski
fuente