Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Acceder a IP a tavés de Router (https://www.clubdelphi.com/foros/showthread.php?t=16330)

Sergio J. 24-11-2004 11:04:50

Acceder a IP a tavés de Router
 
Hola a la sala:

No se si tiene cabida esta consulta en este foro, resulta que tengo que acceder desde una máquina A a otra B a través del protocolo TCP/IP. La máquina B está en una red LAN que accede a internet a través de un router, cuya IP es fija. Tengo que utilizar dicha IP para acceder a la máquina B pero no sé como hacerlo ya que la aplicación a la que tengo que acceder no la va a encontrar en el router.

Gracias

marcoszorrilla 24-11-2004 12:23:18

Sie entiendo bien la pregunta, lo que tienes que hacer, es compartir bien el disco duro completo o bien una sola carpeta, y luego puedes crear una unidad de Red y acceder a la misma.

Supongo que están creados las IP del tipo.

190.160.0.101
255.255.255.0


Un Saludo.

Sergio J. 24-11-2004 12:53:29

Gracias por contestar...

Máquina A: protocolo TCP/IP --> dirección 192.168.0.X, puerta de enlace --> la asignada al router, accede a internet a través de Router ADSL cuya IP es fija por operador.

Máquina B: mismas características que A.

Desde una aplicación en A tengo que acceder al servidor de la aplicación en B a través del protocolo TCP/IP.

Aquí es donde me pierdo, porque si accedo a la IP del router puesto que es fija y la única que conozco, voy a tener probemas al ejecutar la aplicación en el cliente porque en la IP del router no se encuentra la aplicación servidora.

No sé si existirá una manera de acceder a la dirección 192.168.0.X de la máquina servidor pasando por la IP del router, una manera de direccionar o algo así.

Otra solución sería crear una VPN entre ambas oficinas. En este caso no sé si se puede crear fácilmente o tiene que ser el proveedor de internet quien tiene que hacerlo.

Un saludo

Sergio J. 24-11-2004 12:57:06

Una cosa, no sé de qué tipo son las direcciones a que te refieres:

Cita:

Supongo que están creados las IP del tipo.

190.160.0.101
255.255.255.0

marcoszorrilla 24-11-2004 14:24:10

Esas son las direcciones IP de cada equipo y la submáscara de red.

Tendremos la puerta de enlace, la que te haya dado telefónica:
198.xxx.0.1 por ejemplo y luego las IP de cada equipo que nosotros le ponemos las que queramos con tal de que no estén repetidas, por ejemplo:
DIRECCIÓN IP :190.160.0.101
SUBMÁSCARA DE RED:255.255.255.0

Y para internet le habremos puesto la DNS, primaria y Secundaria que también te facilita telefónica.

Host:telefonica
Dominio:telefonica.net

por ejemplo.

Un Saludo.

__hector 24-11-2004 14:26:20

Las maquinas deben estar en la misma red, si quieres acceder a una u otra utilizando ips como 192.168.0.x, ya que ese rango de ip (clase C) esta reservado para uso privado.

De ninguna forma, el ip publico que puede mostrar una u otra maquina puede estar ni en el rango de 10.x.x.x, ni 172.16.x.x a 172.31.x.x, ni tampoco 192.168

Si quieres saber las direcciones reales que pueden "verse" en internet de cada uno de los routers, puedes verlo en su configuracion, o visitando desde una y otra maquina sitios como www.whatismyipaddress.com que muestran la direccion ip del visitante (la "real")

marcoszorrilla 24-11-2004 14:27:14

Lo que te estoy diciendo es para una LAN, como citas VPN, no será que lo quieres hacer es ejecutar una aplicación de otra máquina a través de INTERNET?

Un Saludo.

johncook 24-11-2004 15:59:32

Hola.. Mirá, no se que es lo que intentan explicar en los post anteriores.
Por lo que conozco te puedo decir lo siguiente:
Si en una red se accede a internet a través de un router se pueden dar los siguientes casos:
1- Usando NAT Estática.
2- Usando Sobrecarga de NAT.

En el primer caso, cada máquina de tu LAN tiene asociado un puerto en el router. A través de este puerto el router gestiona las peticiones de tu maquina.
Por ej: la pc 192.168.1.xxx necesita conectarse a www.google.com. Entonces se genera una petición en el router, y éste con su Ip pública hace efectivo el pedido a google.
Por lo tanto google recibe el siguiente paquete IP.
Dirección Orígen = Dirección del Router.
Puerto Orígen = Puerto asignado por el router a la PC 192.168.1.xxx
Dirección Destino = google
Puerto Destino =80
Cuando google contesta, lo único que hace es devolver el paquete solicitado a la IP del router, con el puerto origen de la petición.
Cuando el paquete llega al router, éste se fija en el puerto y de ahí lo envía a la PC que tenga asociada a ese puerto.

Es decir que para mandarle paquetes a la máquina 192.168.0.xxx de tu red interna debés poner como dirección destino la Ip del router, utilizando además el puerto asociado a esa PC.

El segundo caso funciona de igual manera con la diferencia de que la asignación de puertos se hace de manera dinámica. Por lo tanto necesitas si o sí que la aplicación de la red interna, genere un pedido a la aplicación de la otra red desde la que intentas acceder, para que ésta pueda saber el puerto dinámico que le fue asociado a esa Pc.
Espero estar en lo correcto, y no causar mas confunción con lo que posteo.
Saludos

eduarcol 24-11-2004 16:10:54

Segun lo que he entendido yo estoy en el mismo problema, debo conectarme a una red cuyo ip en internet es 200.xxx.xxx.xxx, luego el servidor donde esta la aplicacion tiene el 192.168.0.1, ahora mi duda es como hago para conectarme al servidor de manera remota utilizando el firebird si el router es el que tiene el ippublico y no el servidor :(

Sergio J. 24-11-2004 18:25:46

Efectivamente, el acceso que quiero tener es a través de Internet, perdón por no aclarar tan importante punto, no sé como no he podido mencionar esto, lo digo por marcoszorrilla.

Por eso comento lo del router y demás. El caso es que no sé si podré utilizar el puerto junto con la dirección IP de destino al que menciona johncook. Imaginaos que estoy utilizando TSocketConnection (aplicación cliente en Delphi instalada en un PC de una ciudad) para acceder al servidor (aplicación servidor con TRemoteDataModule en Delphi instalada en PC de otra ciudad).

La comunicación entre ambas aplicaciones se realiza a través del protocolo TCP/IP y existe una propiedad en el componente TCocketConnection para la dirección IP del servidor y otra para el puerto del Borland Socket Server.

Creo que me pasa lo mismo que a eduarcol. A ver si alguno dá con la solución y lo ponemos claro porque creo que más de uno tiene el mismo problema de no saber cómo acceder a través del Router.

Un saludo

vic_ia 24-11-2004 19:21:21

hola....

yo estoy en el mismo caso que eduarcol y Sergio J., aunque por cuestiones de tiempo lo he dejado un poco,... solo he hecho un par de intentos y en cada ocación se me ha pasmado la red... a mi me han sugerido que en el router redireccione el puerto al que llegan las peticiones (dependiendo del tipo de aplicación) a la dirección IP (LAN) de la maquina que se encuentra en la red... esto he checado funciona por ejemplo al utilizar el pc anyware, .... al igual que los mencionados espero alguien encuentre el modo...

nota : al redireccionar los puertos hay que "resetear" el router para que tome los cambios (en mi caso una de las ocaciones que se me pasmo la red fue por este motivo).

saludos...

Sergio J. 07-12-2004 14:29:07

Tengo la sensación de estar más cerca de la solución a mi problema pero me falta lo más importante, que es llevarlo a la practica y solucionar lo de los puertos en el router.

1º No sé como hacer la petición de puerto sobre el router hacia la máquina x, tal y como menciona johncook cuando menciona...
Cita:

Si en una red se accede a internet a través de un router se pueden dar los siguientes casos:
1- Usando NAT Estática.
2- Usando Sobrecarga de NAT.
2º En el caso de saber la IP y el puerto de acceso no sé si en la propiedad Address del TSocketConnection se puede añadir el puerto establecido por el router al PC servidor.

3º En tonces para qué sirve la propiedad Port? se supone que es para poner el puerto de escucha del Borland Socket Server (211) ¿No?.

Bueno, creía estar más cerca de la verdad pero es un espejismo.

Espero respuestas...

rolando_s 29-12-2004 06:15:55

ip publica dinamica
 
por lo que puedo apreciar:

tienen las ips internas (de las redes lan) fijas.
las ips externas (wang dianmicas) asignadas por el isp

eso complica la comunicacion tcp/ip pero existe una solucion.

un tercer equipo que tenga ip Publica fija que actue como sevidor de nombres

existen algunos servidores web que dan ese servicio
lo que nesesitan es saber la ip Publica del otro equipo y luego la apuntan

200.54.xxx.xxx:192.168.0.x

nota esta (200.54.xxx.xxx) cambia cada x tiempo depende de su isp o de apagados del router, modem Adsl.

para aberiguar tu ip desde internet http://www.cualesmiip.net/

existen otras alternativas una es solicitar al isp ips fijas aunque esto implica un costo adicional

espero les sea de utilidad

Sergio J. 29-12-2004 10:52:37

Gracias por responder Rolando. La IP sí es fija puesto que es un requerimiento necesario. El problema es la de asignar en el cliente la IP del equipo servidor siendo la IP de este, dentro de la LAN, IP privada.
Osea, que la dirección que hay que poner en el cliente es la del Router (IP pública fija) seguida por dos puntos y la del Servidor (privada del estilo a 192.168.0.X). No lo he probado aún pero si es así lo veo demasiado fácil.

Gracias. Lo probaré en cuanto pueda.

Sergio J. 29-12-2004 11:31:07

Pues no. Ese formato no lo puedo utilizar en el cliente puesto que debo especificar una dirección IP. El siguiente error es a causa de poner dicho formato 217.216.X.X:192.168.0.X en la propiedad Address de un componente TSocketConnection en un cliente...
Cita:

Windows socket error: La dirección solicitada no es válida en este contexto (10049), on API 'connect'
Gracias por el intento. Seguiré investigando con vuestra ayuda.

Sergio

DarkByte 29-12-2004 16:34:07

Se trata de redireccionar la entrada de un puerto al router hacia un ordenador determinado. (www.adslayuda.com para más información sobre tu modelo de router).

Si no se trata de un ordenador solo al que quieres coger recursos y todos están detrás de un router.. te aconsejos que te inventes un protocolo. Te doy la idea:

- Ordenador externo quiere acceder a un recurxo del ordenador X.
- Se conecta al puerto 5335 (por decir uno) del router... que le redirige la petición a un ordenador en la red que se encarga de trabajar las peticiones.
- X se ha conectado con el servidor de peticiones.
- X envía el ordenador al que quiere conectarse.
- El servidor de peticiones hace de "proxy" hacia ese ordenador, con lo que envía todo lo que digas a X.. y te devuelve su respuesta.
- Una vez finalizada la conexión, se liberan todas las conexiones.

Esto es lo único que se me ocurre.. recuerdo que una vez hice algo parecido... veré si tengo el código por aquí...

Si quieres apoyarte en algo: hay primero un servidor y cliente FTP... y luego haces algunos cambios para adaptarlos a esta idea...

Espero haberte ayudado.

rolando_s 29-12-2004 18:26:46

nat
 
si tienes ip publica fija

solo tienes que abilitar nat (Network adress translator) en el moden o router
eso segun el modelo que tengas instalado se realisa de diferrente forma

pero los pasos son simples: entras al router o modem adsl (si tienes los dos entras y trasladas en los dos) ablitas nat con ip externa 0.0.0.0 interna la de la maquina y un puerto segun tu nesecidad y apuntas a la ip publica desde el cliente.
Nota: tu isp tiene que ruotear tu puerto como abierto en su serber.

G.L.

Sergio J. 29-12-2004 18:39:25

Efectivamente, había oído algo así por diferentes puntos. Sin remedio tengo que modificar el router en la red donde se encuentra el servidor para indicar la dirección y puerto que deseo abrir desde el cliente externo.

No lo he hecho nunca, pero supongo que hasta que consiga lo que quiero tendré que tropezar un par de veces.

Gracias.

Sergio

rolando_s 29-12-2004 18:51:39

es bastante facil
 
por la marca lo buscas existe mucha informcion en los manuales de las fabricas

y ya abri 4 modelos diferentes
son todos parecidos

madman 30-12-2004 08:21:51

http://www.clubdelphi.com/foros/show...highlight=real
:D


La franja horaria es GMT +2. Ahora son las 06:41:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi