¿Sockets fuera de la red local?

Iniciado por ram03, 1 Julio 2014, 17:30 PM

0 Miembros y 2 Visitantes están viendo este tema.

ram03

Hola a todos. Hoy quería preguntaros sobre un tema que ya se que ha surgido varias veces en el foro, pero aun no me ha quedado muy claro. La cuestión es que estoy programado mediante sockets 2 programas que se conecten entre si para pasarse entre información, y quiero que estos programas se conecten fuera de la red local de los ordenadores conectados al router, pero el problema es que como todos los ordenadores de la red local tienen la misma ip publica no se como hacer que llegue a un ordenador concreto. Ya  he visto en algunos sitios que tienes que redireccionar los puertos del router, pero yo quería saber si existe alguna manera diferente sin tener que modificar la configuracion del router ni del ordenador. Por cierto, se me olvidaba decir que los estoy programando en C.


Pedro_madrid

¿Has probado con servicios como no-ip? En principio parece que puede cumplir tus necesidades.
Un saludo

cpu2

Cita de: ram03 en  1 Julio 2014, 17:30 PM
Ya  he visto en algunos sitios que tienes que redireccionar los puertos del router, pero yo quería saber si existe alguna manera diferente sin tener que modificar la configuracion del router ni del ordenador. Por cierto, se me olvidaba decir que los estoy programando en C.

Tu router es la puerta de enlace, asi que como quieres que se redireccionen direcciones o puertos sin tocar la configuracion de este?

Lo unico que tienes que hacer es un NAT en el router, nada mas.

Un saludo.

ram03

Pero cuando te descargas  un programa que  requiere conexión a internet y que actúa como servidor no tienes que hacer NAT sino que te lo instalas y ya lo puedes utilizar. Cómo lo hacen?

cpu2

Nombre de los programas? para situarme.

Tambien tienes getsockopt y setsockopt para darle opciones al socket, pero no se si puedes hacerlo a ese punto.

Un saludo.

daryo

algunos lo que hacen es usar un servidor que haga de intermediario entre los dos clientes asi el unico que debe tener los puertos abiertos es el servidor.
buenas

70N1

Podrias usar el hamachi o un progrma vpn para crear una red y poder ver un ordenador a otro.
70N1

engel lex

Cita de: ram03 en  1 Julio 2014, 22:28 PM
Pero cuando te descargas  un programa que  requiere conexión a internet y que actúa como servidor no tienes que hacer NAT sino que te lo instalas y ya lo puedes utilizar. Cómo lo hacen?

no tienes que configurarlos porque esos programas normalmente se conectan a un servidor que es la conexíon de salida, esto crea la regla del router "ip 1 llamó a ip 2 desde el puerto a al puerto b" esto hará que si llega un paquete desde ip 2 para el puerto a, le dará paso... si no haces esa llamada a servidor te puedes olvidar que algo va a pasar del router... por otro lado para los servidores siempre debe estar configurado nat, porque el no sabe quien lo va a llamar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ram03

Cita de: engel lex en  2 Julio 2014, 07:52 AM
no tienes que configurarlos porque esos programas normalmente se conectan a un servidor que es la conexíon de salida, esto crea la regla del router "ip 1 llamó a ip 2 desde el puerto a al puerto b" esto hará que si llega un paquete desde ip 2 para el puerto a, le dará paso... si no haces esa llamada a servidor te puedes olvidar que algo va a pasar del router... por otro lado para los servidores siempre debe estar configurado nat, porque el no sabe quien lo va a llamar
Vale muchas gracias, ya veré lo que hago

ram03

Ah y también me gustaría hacer otra pregunta pero relacionada con esto: ¿Es posible escanear con nmap los puertos de un ordenador sabiendo su la ip publica del router y su ip privada?