Puertos

Iniciado por lordluisiv, 28 Diciembre 2019, 04:46 AM

0 Miembros y 1 Visitante están viendo este tema.

lordluisiv

Buenas espero que esten bien, la verdad ya no se como buscar asi que vine aqui, lo que pasa es que mi proveedor de internet me da una ip privada en vez de una publica directamente lo que hace que no pueda abrir los puertos de tal ip publica, quisiera saber como puedo hacer para poder abrir los puertos, se me habia ocurrido una idea con una vpn pero lo mas que logre hacer es que el servicio por si mismo me abriera el puerto 80 solamente, y la verdad necesito otros puertos, me podrian ayudar con eso uso linux ubuntu 16.04

AlbertoBSD

Si el proveedor solo te da una IP Privada de esas tipo 10.X.X.X a tu router, realmente no hay mucho que puedas realizar para que alguien externo se pueda conectar a tu red.

De hecho y por seguridad no deberías dejar que se conecten a tu red.

Si lo que quieres es montar algún tipo de servidor y que cualquiera en internet se pueda conectar es que previamente configuren alguna red tipo hamachi para que tanto tu como la otra persona estén en la misma red. Pero es mucho problema.

Realmente no hay forma, solo hablando con tu proveedor a ver si te puede asignar un servicio que le da a tu router una IP Publica directamente.

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

@XSStringManolo

Si puedes establecer comunicaciones, tener servidores y prácticamente utilizar cualquier aplicación que necesite puertos abiertos sin abrir puertos. Necesitas un servidor externo/proxy de intermediario. Hay muchas formas de implementarlo depende del tráfico que sea. Una de las más sencillas es tunelar por HTTP todo el tráfico utilizando base64. No es lo más óptimo ya que agrandas el tráfico, pero si lo más sencillo, ya que no te cargas el encapsulado.

Lo más lógico es que mantengas una conexión abierta en vez de el clásico enviar petición cerrar conexión que se usa más asiduamente con este protocolo. Conexión Persistente HTTP

Depende el tipo de tráfico y lo que necesites puedes usar un hosting gratuito, o trendrás que usar un VPS ya que si bien el protocolo HTTP te permite establecer conexiones y dejarlas abiertas, otro software como pueda ser Apache o PHP cierran las conexiones automáticamente cada 15 y 30 segundos respectivamente para optimizar los servicios. Esto se puede configurar si tu hosting o VPS te lo permiten. Apache Directiva KeepAlive, PHP Tiempo Maximo de Ejecución.

Si quieres correr un cliente en Android en el background o cualquier app para mantener la conexión vas a tener que pelearte con el Garbage Collector. El GC de Android te puede cerrar la conexión asique necesitarás manejarlo. Puedes hacer una copia en PHP y en onStop abrir otra instancia que abra una nueva comunicación e informar al PHP para volver a retrasmitir desde el bloque perdido. Hay otras alternativas. Por ejemplo utilizar el modo multiventana o mejor aún un Launcher desde el que hagas intents a tus aplicaciones de uso normal mientras corres el cliente/servidor en la misma instancia.

Técnicamente realizar esta configuración de esta forma es bastante sencillo. No es ni de cerca lo más óptimo que se puede hacer, pero sin tener muchos conocimientos y teniendo tiempo te sirve para salir del paso. También tiene sus ventajas. Puedes procesar el tráfico antes de recibirlo, automatizar cosas, responder automáticamente, un firewall custom para solicitudes no deseadas, bases de datos con el tráfico y no necesitas mostrar la IP. A parte te sirve para todo tipo de tráfico. Puedes alquilarle el servicio a amigos.

lordluisiv

Vale muchas gracias por sus respuestas, ya me doy la idea, ahora lo que queda es probar.
Iré probando los distintos métodos mencionados gracias.