
[RESUELTO] Redireccionar conexion a firebird
#1
Posted 11 January 2010 - 05:08 AM
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
#2
Posted 11 January 2010 - 06:17 AM
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.
#3
Posted 11 January 2010 - 06:26 AM
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
#4
Posted 11 January 2010 - 06:50 AM
la cadena de conexion es : xxx.xxx.xxx.xxx./puerto:rutalocalbasedatos
Saludos y gracias
#5
Posted 11 January 2010 - 06:56 AM
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.
#6
Posted 11 January 2010 - 06:57 AM

Felicidades por solventarlo.
#7
Posted 11 January 2010 - 07:41 AM
Encantado de hablar contigo por estos lares.
Saludos
#8
Posted 11 January 2010 - 10:18 AM
Salud OS
#9
Posted 11 January 2010 - 11:21 AM
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.
#10
Posted 11 January 2010 - 12:00 PM
#11
Posted 11 January 2010 - 12:10 PM
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.
#12
Posted 12 January 2010 - 04:21 AM
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.
#13
Posted 12 January 2010 - 04:25 AM
Espero que se hayan resuelto tus dudas,Luk.
Saludos
#14
Posted 12 January 2010 - 08:12 AM
#15
Posted 12 January 2010 - 10:49 AM
saludos