Saltearse al contenido

Conexiones Remotas

Revisión 1.02 – 18/01/2024

Conexiones remotas a la base de datos.

XgestEvo funciona con bases de datos MariaDB / MySQL que es una de las más utilizadas a nivel mundial.

Esta base de datos puede estar alojada en nuestra red local o en un servidor remoto de un proveedor de internet, ya que se conecta por medio de una dirección IP y un puerto que señalan a dicha base de datos y con un usuario y contraseña autorizados a dicho acceso.

Al ser una base de datos cliente/servidor nos permite conectar a ella desde cualquier punto siempre que esté abierto el puerto para su acceso exterior.

Por tanto, si el servidor está alojado en nuestras instalaciones, podemos configurar nuestro router de acceso a internet para que las peticiones externas que lleguen a dicho puerto se enruten a la IP y el puerto del servidor interno de nuestra red.

Para acceder a la base de datos desde el exterior (teletrabajo, delegaciones externas, viajes, etc.), es necesario abrir un puerto de conexión en el router que proporciona acceso a internet a la red local.

Para ello hay que tener en cuenta lo siguiente:

  • En Xgest nos dedicamos a crear y mantener nuestro software, dando la mayor flexibilidad de uso y formas de conexión, pero NO conocemos las redes de nuestros clientes ni es un servicio que ofrezcamos, por lo que para las configuraciones de acceso externo deben ser llevados a cabo por el propio cliente final si tiene los conocimientos necesarios o por un técnico que conozca su instalación. Para ello editamos este manual que intenta facilitar esta configuración a quien lo desee poner en marcha.

  • Hay que tener siempre en marcha el servidor para poder acceder desde fuera, como es lógico.

  • Hay que enrutar el puerto externo del router (normalmente el puerto 3307 TCP) a la IP interna del servidor donde tenemos alojada la base de datos.

  • Debemos tener ese puerto abierto en el cortafuegos del servidor interno para que se pueda acceder al mismo desde otros ordenadores (incluidos los de la red interna).

  • Debe tener acceso a la configuración del router (usuario y contraseña).

  • Es necesario saber cómo se configura dicho router (cada marca es distinta).

  • Hay que tener posibilidad de hacerlo directamente. Hay muchos proveedores que no nos asignan una IP independiente a nuestra conexión (la comparten entre varios clientes), por lo que el acceso requiere de configuración especial por parte de dicho proveedor o directamente es imposible (a veces hay que pagar aparte por tener una IP única).

  • Normalmente**, la IP externa** asignada por el proveedor a nuestra conexión no es fija, cambia con el tiempo, por lo que si esto sucede hay que reconfigurar los ordenadores que acceden en remoto.

  • Se puede contratar una IP fija al proveedor de internet para que siempre sea la misma, lo cual encarece el servicio y no todos la ofrecen.

  • Si cambia algo de la red (a menudo por cambio, avería o reconfiguración del router de acceso a internet, cambio de proveedor, cambio de IP por DHCP) hay que volver a configurar el acceso externo y posiblemente los puestos locales.

Para poder acceder desde el exterior, aunque cambie la IP, ofrecemos un servicio gratuito de redireccionamiento, que normalmente se instala en el servidor de la base de datos que está en la red local y periódicamente envía nuestra IP externa a un servidor nuestro que la mantiene actualizada para que puedan localizarla sus ordenadores externos.

Ante las complicaciones que suponen configurar este tipo de conexiones, además de la inestabilidad de estas por diversos factores como los indicados hasta ahora, no aconsejamos usar este servicio a menos que lo vaya a usar a menudo y tenga conocimientos técnicos o un técnico que se lo mantenga. Esto puede llegar a ser bastante costoso.

Existe la opción de tener la base de datos alojada en un servidor externo contratado en un proveedor de servicios de los muchos que hay (AWS, Azure, DigitalOcean…), lo que permite no preocuparse por mantener un servidor propio ni proporcionar acceso remoto, y poder conectarse en cualquier momento desde cualquier lugar simplemente teniendo conexión a Internet.

Servicio de hosting oficial de bases de datos de Xgest.

Para simplificar esto, en Xgest ofrecemos un servicio opcional de base de datos por unas cuotas mensuales dependientes de la capacidad que necesite. Para dar este servicio tenemos contratados servidores de bases de datos administradas por Amazon AWS que nos ofrecen una buena confiabilidad y gestionan directamente los temas de copias de seguridad y capacidades de acceso.

Puede consultar más detalles en el siguiente folleto (disponible también desde el apartado de Ayuda de XgestEvo).

Hosting oficial de bases de datos de XgestEvo

  • La base de datos está en los servidores de Amazon Web Services (AWS) como servicio administrado directamente por Amazon.

  • Estos servidores están localizados en Frankfurt, dentro de la Unión Europea, por lo que no hay problemas legales con tener datos fuera de la CEE, como pasa con algunos servicios.

  • En caso de problema, Amazon permite restaurar las bases de datos a cualquier estado de los últimos siete días, en periodos de cinco minutos.

Configuración de acceso remoto a su base de datos local.

Para dar acceso externo a su base de datos local tiene que seguir los siguientes pasos:

Configurar el cortafuegos en su ordenador servidor de base de datos local (si no está configurado aún).

Para ello buscamos en Windows “Firewall” y abrimos la configuración avanzada del mismo. Esto puede variar dependiendo de cada versión del sistema.

  • Arrancar XgestEvo en modo Administrador. En Gestión / Utilidades / Gestión de la Instalación tenemos la opción Registrar librerías de componentes DLL. En esa pantalla tenemos la opción Abrir puerto Firewall que intenta abrirlo automáticamente.

  • Si lo anterior no funciona correctamente, esta es la configuración manual, con la que podremos comprobar si el puerto está abierto:

  • Con el botón derecho sobre Reglas de entrada, seleccionamos “Nueva regla” y seguimos los pasos de las siguientes capturas:

    • Interfaz de usuario gráfica, Texto, Aplicación, Correo\r\nelectrónico Descripción generada\r\nautomáticamente

    • Interfaz de usuario gráfica, Aplicación Descripción generada\r\nautomáticamente

    • Interfaz de usuario gráfica, Texto, Aplicación Descripción\r\ngenerada\r\nautomáticamente

    • Interfaz de usuario gráfica, Texto, Aplicación, Correo\r\nelectrónico Descripción generada\r\nautomáticamente

    • Interfaz de usuario gráfica, Texto, Aplicación Descripción\r\ngenerada\r\nautomáticamente

    • Interfaz de usuario gráfica, Aplicación, Teams Descripción\r\ngenerada\r\nautomáticamente

  • Con esto permitimos el acceso externo a nuestra base de datos.

Abrir y enrutar en el router de conexión a internet la IP y el puerto de acceso a la base de datos del servidor que contiene dicha base de datos.

Este procedimiento depende de muchos factores, como el modelo del router, el usuario y contraseña para acceder a su configuración (que es totalmente distinta en cada modelo), el operador de internet, etc. Por ello vamos a mostrar una configuración concreta en un router de Telefónica pero lógicamente será distinto en cada router. El técnico tendrá que consultar cada caso con su operadora y los manuales del aparato.

  • Necesitamos saber la IP y el puerto de conexión a la base de datos (en instalaciones estándar el 3307 TCP). Para ello podemos abrir una interfaz de comandos en Windows y usar la instrucción IPCONFIG:

  • Aquí también nos dará normalmente en Puerta de enlace predeterminada la dirección IP interna del router de nuestra red.

  • Ahora podemos acceder al router por medio de un navegador de internet, poniendo su IP en la barra de direcciones. Para poder acceder necesitamos conocer el usuario y la contraseña de acceso. A veces pueden estar en la parte trasera del router, junto a las claves del WI-FI. Si no las tenemos habrá que pedirlas a nuestro proveedor de internet.

  • Entraremos a la configuración avanzada, y a configurar el servicio NAT y ahí enrutaremos el puerto al servidor. Lo siguiente es un ejemplo, variará de un router a otro y de nuestra red:

  • Interfaz de usuario gráfica, Texto, Aplicación Descripción\r\ngenerada\r\nautomáticamente

  • Si lo hacemos correctamente, ya podremos acceder a la dirección IP pública de internet de nuestra conexión y cuando conectemos a ese puerto le dará servicio desde el equipo cuya IP hemos configurado.

Conectar desde un ordenador remoto conectado a internet.

Para conectar desde un ordenador externo, debemos acceder al formulario de configuración de acceso a la base de datos de XgestEvo y ahí configurar la IP externa y el puerto de nuestro servidor.

  • Para saber la IP externa pueden usarse varios medios. En nuestras páginas de internet teneos una opción que tenemos que llamar desde un ordenador de la red local (no desde el remoto que queremos conectar) y nos dirá la IP externa que tenemos en nuestra conexión a internet.

  • https://www.xgestevo.net/folletos/miip.php

  • Una vez tengamos todos los datos entramos al ordenador remoto, donde hemos instalado Xgest con la opción “Solo puesto de trabajo” para que no instale una base de datos en local, y cuando accedamos al formulario configuramos los datos de la conexión:

  • Aquí tenemos que poner la IP externa, el nombre de la base de datos (normalmente XGESTEVO), el puerto (normalmente 3307 TCP), el usuario de la base de datos y la contraseña de esta (el usuario por defecto es XGESTEVO y la contraseña es XGESTEVO). Si vamos a acceder de forma remota es muy recomendable cambiar la contraseña, esto se puede hacer accediendo desde el servidor a XgestEvo/ Archivos/ Datos generales de configuración y en la pestaña Rutas/Passwords tenemos la opción Modificar Clave de Acceso a Base de Datos.

  • Si todo se ha hecho correctamente, al pulsar Comprobar Conexión nos mostrará Conexión correcta y reiniciará y ya podremos arrancar de nuevo y trabajar normalmente.

  • Si no consiguen conectar tendrán que revisar toda la configuración para localizar el problema hasta que consigan conectar como se indica.

  • (Opcional) Servicio de DNS de XgestEvo.

  • Para ayudar a nuestros clientes que quieren conectar externamente y no tienen contratada una IP fija, tenemos un servicio gratuito que permite a los servidores enviar su IP pública a intervalos a nuestros servidores para que cuando se necesite conectar remotamente en lugar de la IP pública (que puede cambiar) usemos nuestro código de instalación, con el que el ordenador remoto puede por medio de nuestro servicio conectar a la IP que va enviando este servicio.

  • Lo primero que tenemos que configurar es el servicio de envío de la IP en un ordenador de nuestra red local (normalmente el servidor) para que vaya actualizando dicha IP en nuestro servidor.

  • Interfaz de usuario gráfica, Texto, Aplicación Descripción\r\ngenerada\r\nautomáticamente

  • Tenemos que arrancar el programa con privilegios de administrador de Windows para poder trabajar con el servicio.

  • Una vez instalado el servicio, marcaremos Actualización dinámica de IP para que se envíe la IP. En la parte inferior veremos la IP pública que tenemos en ese momento y el código de la instalación.

  • Pulsando Registros de IP veremos todas las actualizaciones que se han ido produciendo de las IP con sus fechas y horas.

  • Ahora necesitamos el código de nuestra instalación. Si no lo hemos cogido de la pantalla de configuración del servicio lo podemos ver pulsando la “i” de Información que tenemos en la parte superior del programa (o con la opción Varios/ Acerca de).

  • Interfaz de usuario gráfica, Texto, Aplicación, Chat o mensaje de\r\ntexto Descripción generada\r\nautomáticamente

  • Con esto, vamos a la configuración de acceso a la base de datos del ordenador remoto y ponemos todo igual que antes, pero en lugar de la IP ponemos el código de nuestra instalación.

  • Si todo ha ido bien nos indicará que la conexión es correcta, y mientras el servidor local esté enviando su IP externa podremos seguir conectando aunque cambie la misma.

Como se ha indicado, todas estas configuraciones son muy propensas a dejar de funcionar por cualquier mínimo cambio, por lo que se usa mucho la conexión y se trabaja habitualmente desde distintas ubicaciones, aconsejamos el uso de bases de datos alojadas en proveedores externos, que mantienen funcionando el sistema 24/7 normalmente sin problemas y olvidamos la preocupación por mantenimiento de servidores y estructuras de redes que requieren de profesionales para su mantenimiento.