Cómo simular un servidor PostgreSQL en GNS3

Índice

Para simular un servidor PostgreSQL en GNS3 se necesita una máquina, en este caso Debian 11, con conexión a Internet a través de la nube NAT del simulador.

Tras conectar la máquina a la nube NAT y solicitar una configuración IP a través de DHCP, se pueden actualizar los paquetes del equipo y, una vez que se ha actualizado el sistema, se puede instalar el servidor Postgres.

sudo dhclient
sudo apt update && sudo apt upgrade
sudo apt install postgresql

Tras instalar PostgreSQL y comprobar que el servicio se ha ejecutado con éxito usando el comando systemctl status postgresql, es necesario habilitar el acceso remoto para que los PC conectados a otras redes locales puedan llegar a él. Para ello, se deben modificar dos ficheros de configuración. El primero de ellos es el fichero postgresql.conf, en el que se debe indicar que el servidor debe escuchar en el puerto 5432 (por defecto) y de todas las direcciones IP (no sólo de localhost, por defecto) modificando en la línea listen_addresses el valor ‘localhost’ por ‘*’.

Además, para permitir el acceso al servidor desde ubicaciones diferentes a la red local es necesario añadir las dos líneas que se muestran en la siguiente captura del fichero pg_hba.conf. Con estas líneas se permite la conexión desde cualquier dirección IP usando una contraseña encriptada con el método md5.

Una forma de hacer más segura esta configuración sería usar la IP pública del router Casa, la 100.40.0.2/24 en la columna dirección, en vez de la 0.0.0.0/0. Esto haría que sólo los dispositivos que se conectan al servidor desde esa IP puedan acceder a él. Además, también se puede indicar en la segunda columna las bases de datos y en la tercera los usuarios a los que se permite el acceso.

De esta manera, la configuración más segura para este documento sería indicar, en primer lugar, el método de conexión (host), a continuación el nombre de la base de datos a la que se va a permitir la conexión, el usuario al que se le va a permitir la conexión a esa base de datos y la IP pública que va a usar ese usuario para realizar la conexión. En la última columna se indica el método de encriptación que usa la contraseña del usuario u otras opciones de autenticación menos seguras como ‘trust’ que permiten la conexión sin contraseña.

Finalmente, se le debe asignar su IP privada a la máquina que aloja este servidor a través del fichero de configuración de red /etc/network/interfaces.

Para la conexión remota se usa el siguiente comando desde el equipo cliente:

psql -h IP_servidor -U usuario -d BaseDeDatos
comments powered by Disqus

Relacionados

Convulsión en el mundo del software libre

En este post se repasa el conflicto generado en el mundo del software libre tras las decisiones de Red Hat sobre el proyecto CentOS y las consecuencias para otras distribuciones derivadas.

Leer

Escenario de enrutamiento en GNS3

En esta práctica se parte de un escenario recreado en el simulador GNS3 y, a partir de él, se enruta el tráfico entre los diferentes equipos que forman la red para permitir la comunicación entre todas las máquinas.

Leer

Verificar la integridad de ficheros con GPG y apt-secure

Existen varios mecanismos para verificar la integridad de los ficheros descargados tanto desde los propios repositorios de la distribución como de repositorios de terceros. Algunos de ellos son GPG y apt-secure.

Leer