[SOLUCIONADO] Problema conexión Chat Java(funciona en LAN,no en conexión Remota)

Iniciado por -Localhost-, 23 Julio 2010, 21:17 PM

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

-Localhost-

Hola,

Programé un chat en java y al probarlo conectando desde un ordeador remoto me dio error: java.net.ConnectException: Connection timed out: connect. Aunque lo había probado ya en la LAN y funciona al 100%.

Sé que es posible que sea por el firewall pero creo que es más seguro que sea un problema de programación, he leido información y al parecer los protocolos de conexiones en LANs son diferentes a los protocolos de conexiones Remotas y no te estoy seguro de ese dato, ¿alguien podría confirmármelo? También se me ocurrió crearme un dominio en www.no-ip.com y hacer que el chat use esa dirección ip para conectar al servidor y no la misma dirección IP pública.

Añado también que para conectar al chat el único parámetro relevante que uso es mi IP pública.


Códigos : aquí.

Debci

Tienes que mapear el puerto que usa tu server cuando esta a la escucha, en tu router, ademas si usas no-ip.com debes modificar las iptables (C:\Windows\System32\drivers\etc\hosts) y enlazar la IP interna con la DNS del no-ip domain.

Te digo esto porque a mi me paso algo similar a lo tuyo, aunque luego descubri que no hacia falta no-ip, puesto que abriendo el puerto y dando tu IP publica en la conexion es mas que suficiente.

Bienvenid@ al foro =)

Saludos

[D4N93R]

No ip solo hace falta si tu ip cambia mucho, sino ni vale la pena. Otra cosa que tienes que tener en cuenta es que si uno de los dos no tiene acceso al router, entonces tendrás que hacer una conexión inversa, o simplemente crea un servidor central en donde se conecten los demás clientes. No se si ya lo tengas así.

Un saludo..
¡

-Localhost-

Ok, muchas gracias por sus respuestas.

¿Me podrían decir como mapeo los puertos que usa el server?

Muchas gracias, y muy bueno el foro jeje.

Debci

Cita de: -Localhost- en 23 Julio 2010, 22:14 PM
Ok, muchas gracias por sus respuestas.

¿Me podrían decir como mapeo los puertos que usa el server?

Muchas gracias, y muy bueno el foro jeje.
Mira, para usar sockets has tenido que definir un puerto (en el segundo parametro del socket creo...) pues este, abres la configuracion de tu router, poniendo la puerta de enlace predeterminada en tu navegador, acediendo con los datos de fabrica, y en Nat, Virtual Server, mapeas el puerto, si tienes idea minima de redes, veras que es intuitivo, si no googlea

=)

Saludos

-Localhost-

Ok, muchas gracias, supuse que lo del mapeo se haría desde el router, pero mi duda era si no había una manera de hacerlo desde código.

Ahora me surje otra duda, para que funsionase tube que "abrir" o "mapear" el puerto. Bien, entonces soy vulnerable a ataques por ese puerto? me convendría "desmapearlo" cuando no lo esté usando? qué más debería saber al respecto en cuanto a la seguridad de mi red?

Muchas gracias de antemano.

PD: El chat ya funciona así que si quieres puedes cerrar el tema respondiendo aclarándome esta última duda ^^.

Debci

Cita de: -Localhost- en 24 Julio 2010, 01:17 AM
Ok, muchas gracias, supuse que lo del mapeo se haría desde el router, pero mi duda era si no había una manera de hacerlo desde código.

Ahora me surje otra duda, para que funsionase tube que "abrir" o "mapear" el puerto. Bien, entonces soy vulnerable a ataques por ese puerto? me convendría "desmapearlo" cuando no lo esté usando? qué más debería saber al respecto en cuanto a la seguridad de mi red?

Muchas gracias de antemano.

PD: El chat ya funciona así que si quieres puedes cerrar el tema respondiendo aclarándome esta última duda ^^.
El puerto no es vulnerable, es vulnerable la aplicacion que corre en ese puerto... si hay alguien que sea capaz de desbordar un servidor en Java e injectar codigo... pero el codigo maquina no es el mismo que el de la JVM asi que estas bastante seguro, ademas puedes establecer un protocolo de seguridad para tu servidor, y que nadie desborde el buffer, y si no sobrescriben el registro EIP del procesador, dificilmente ejecutan un PAYLOAD.

Saludos

[D4N93R]


Debci

Cita de: D4N93R en 24 Julio 2010, 16:19 PM
Excelente Respuesta Debci! :)
Me gusta siempre comprender como funciona el codigo que programo jeje :9

Saludos

-Localhost-

Ok muchas gracias Debci, concuerdo con D4N93R completamente;  tus resuestas son excelentes.

Ya modifiqué el título para que se pueda ver que está solucionado.

Un saludo.