Ir al contenido


Foto

[RESUELTO] Redireccionar conexion a firebird


  • Por favor identifícate para responder
14 respuestas en este tema

#1 kalimero

kalimero

    Newbie

  • Miembros
  • Pip
  • 6 mensajes
  • LocationAlicante

Escrito 11 enero 2010 - 05:08

Hola a todos.

Tengo 3 maquinas con firebird instalado y me gustaria conectar a ellas por internet.
He abierto en el router un puerto por cada maquina, de modo que la cadena de conexion que monto es: xxx.xxx.xxx.xxx:puerto:rutabasedatoslocal.
Pero no conecta.
¿Es ese el modo correcto?

Saludos y gracias de antemano

  • 0

#2 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 11 enero 2010 - 06:17

Hola.

Supongo que has abierto tres puertos distintos en el router.

Pongamos que para la máquina 1 (192.168.0.101) has redirigido el puerto 3051 a la máquina 192.168.0.101.

Entonces tienes que modificar el archivo de configuración de Firebird (firebird.conf) de esa máquina para decirle que se ponga a la escucha en el puerto 3051 y no en el puerto 3050 como hace por defecto.

En concreto tienes que poner la entrada RemoteServicePort = 3051

NOTA: Si ya tienes esa entrada con un # delante, tienes que eliminar el #, puesto que eso significa que solo es un comentario para que sepas que sintaxis tiene.

PD: Si tu router permite redirigir y cambiar el puerto a la vez, entonces es mucho más sencillo, ya que no tienes que tocar para nada la configuración de firebird. Simplemente tienes que hacer de esta forma las 3 redirecciones :

Puerto 3051 --> al puerto 3050 en 192.168.0.101
Puerto 3052 --> al puerto 3050 en 192.168.0.102
Puerto 3053 --> al puerto 3050 en 192.168.0.103

Saludos.
  • 0

#3 kalimero

kalimero

    Newbie

  • Miembros
  • Pip
  • 6 mensajes
  • LocationAlicante

Escrito 11 enero 2010 - 06:26

Hola Marc.
Si, Mi router permite redirigir y cambiar el router a la vez.
He abierto 3 puertos diferentes que apuntan a cada una de las tres maquinas:

  port:      ip local        port local
  4000    192.168.1.100  3050
  4001    192.168.1.101  3050
  4002    192.168.1.102  3050

Pero mi duda es como monto la cadena de conexión para asignarsela al componente de conexion. ¿Es algo como?

ipRouter:4000:c\mibase.bdb.

Es decir, cuando le llegue una peticion al router por el puerto 4000 que la redirija
a la maquina 192.168.1.100 donde se encuentra firebird ecuchando por el 3050 .

Saludos y gracias
  • 0

#4 kalimero

kalimero

    Newbie

  • Miembros
  • Pip
  • 6 mensajes
  • LocationAlicante

Escrito 11 enero 2010 - 06:50

Bueno creo que ya lo tengo solucionado.
la cadena de conexion es : xxx.xxx.xxx.xxx./puerto:rutalocalbasedatos

Saludos y gracias
  • 0

#5 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 11 enero 2010 - 06:56

Hola Kalimero.

Ahora veo el problema.

La cadena de conexión la tienes que hacer de esta forma (con / en lugar de : para marcar el puerto) :

ipPublicaRouter/4000:c:\mibase.bdb

Aunque ahora no estoy seguro de que el cliente y el servidor puedan trabajar en puertos distintos. Así que prueba esta cadena de conexión, y si tienes problemas, entonces haz las redirecciones sin cambiar el puerto, y modifica los archivos de configuración de Firebird para establecer el nuevo puerto de escucha en cada máquina.

Saludos.
  • 0

#6 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 11 enero 2010 - 06:57

He sido demasiado lento :)

Felicidades por solventarlo.
  • 0

#7 kalimero

kalimero

    Newbie

  • Miembros
  • Pip
  • 6 mensajes
  • LocationAlicante

Escrito 11 enero 2010 - 07:41

No te preocupes Marc. Gracias de todas formas.
Encantado de hablar contigo por estos lares.

Saludos
  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 11 enero 2010 - 10:18

Que interesante este asunto de la redireccion de puertos, muchas gracias por la solución, si me permiten voy a colocar este hilo como [RESUELTO]

Salud OS
  • 0

#9 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 11 enero 2010 - 11:21

Hola a todos

Me gustaria saber Kalimero si tuviste que reconfigurar los puertos en firebird.conf. ya que si es asi no entiendo para que poner el puerto en la cadena, ya que eso normalmente lo pones en el modem adsl o router.

Por ejemplo en Zeos  escribes en :
Catalog    c:\firebird\basededatos.fdb
Database  c:\firebird\basededatos.fdb
Host    ipPublicaRouter  ejemplo: 10.0.0.1  o si es una direccion no-ip u otra similar escribes:  talcosa.no-ip.biz

o en su defecto en catalog y database escribes la ruta completa con todo y host.

Si ya tienes redireccionado el puerto hacia la ip que quieres no entiendo para que poner el puerto en la cadena de conexion.


   

  • 0

#10 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 11 enero 2010 - 12:00

hola luk2009, según entiendo lo que quiere el amigo es que una misma red tiene distintos servidores, y dependiendo el puerto que entre la consulta es para un servidor distinto.
  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 11 enero 2010 - 12:10

Lo se, pero lo que quiero saber es lo que marc comentaba:

Aunque ahora no estoy seguro de que el cliente y el servidor puedan trabajar en puertos distintos. Así que prueba esta cadena de conexión, y si tienes problemas, entonces haz las redirecciones sin cambiar el puerto, y modifica los archivos de configuración de Firebird para establecer el nuevo puerto de escucha en cada máquina.   


Si el ya cambio el puerto de conexion a cada maquina, no tiene que poner el puerto en la cadena de conexion.
Porque ya estara redirecionado en en modem adsl o router.

  • 0

#12 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 12 enero 2010 - 04:21

Hola Luk.

Es que Kalimero quiero poder acceder a sus 3 servidores Firebird desde fuera de la empresa, por Internet.

Pero fuera de la empresa, no puedes poner la dirección de los servidores, puesto que no los encontrará. Lo único que puedes encontrar es la dirección IP pública del router de conexión a Internet que tengan en la empresa. Así pues las cadenas de conexión siempre apuntarán a la IP pública en Internet del router de la empresa.

Para que la petición llegue a cada servidor Firebird, el router las tiene que redirigir a las computadores donde se ejecutan. Y para poder diferenciar a que servidor queremos enviar la conexión, solo podemos indicarselo al router mediante el puerto.

De esta forma, si conectamos por el puerto 4000, quiere decir que queremos conectar con el servidor de Firebird 1, si conectamos por el puerto 4001 queremos conectar con el servidor 2 y por el puerto 40003 queremos conectar con el servidor 3.

Pero como Firebird siempre escucha en el puerto 3050, tenemos dos opciones, o bien hacemos que el router mueva todo lo que le llegue a los puertos 4000, 4001 y 4002, y lo dirija al puerto 3050 del servidor Firebird que nos interesa. O bien, si el router no permite cambiar el puerto mientras redirige la conexión, entonces le tenemos que decir a cada máquina donde corre Firebird, que debe escuchar en el puerto 4000, 4001 y 4002, respectivamente.

En resumen, todo el problema viene porqué desde fuera de la empresa, conectados a Internet, no podemos llegar directamente a las máquinas donde se ejecuta Firebird, dentro de la empresa. Solo podemos llegar a la IP del Router que conecta a Internet los ordenadores de la empresa. Por eso tenemos que jugar con los puertos para poder diferenciar los distintos servidores Firebird que tenemos, y las redirecciones (NAT o Port forwarding) del router, para que lleguen las conexiones a las maquinas donde corre Firebird.

Me he liado bastante, pero espero que se entienda un poco.

Saludos.
  • 0

#13 kalimero

kalimero

    Newbie

  • Miembros
  • Pip
  • 6 mensajes
  • LocationAlicante

Escrito 12 enero 2010 - 04:25

Mas claro el agua,Marc. Buena explicacion del problema que tenia y la solución.
Espero que se hayan resuelto tus dudas,Luk.

Saludos
  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 12 enero 2010 - 08:12

Gracias Marc por tu explicacion. De por si yo me conecto desde el internet con firebird, pero obviamente solo uso un servidor. Mi duda no era en la conexion sino en la cadena de conexion. Lo que quisiera saber Kalimero es si tuviste que cambiar la configuracion de firebird en firebird.conf o con la cadena que preparaste fue suficiente.
  • 0

#15 kalimero

kalimero

    Newbie

  • Miembros
  • Pip
  • 6 mensajes
  • LocationAlicante

Escrito 12 enero 2010 - 10:49

No, no tuve que tocar la configurcion de firebird para nada. Monte la cadena y se la pase al componente de conxion.

saludos
  • 0




IP.Board spam blocked by CleanTalk.