Documentos de Académico
Documentos de Profesional
Documentos de Cultura
✓ Privilegios de administrador
✓ Sistema Operativo Windows 11 64 bits
✓ Sistema Operativo Ubuntu 22.04
✓ VirtualBox 7.0.6 Software Developer Kit (SDK)
2. HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO
1.1 PHP
Es un Lenguaje de Programación para trabajar páginas WEB ofreciendo la ventaja de
mezclarse con HTML. Las ejecuciones son realizadas en el Servidor y el cliente es el encargado
de recibir los resultados de la ejecución. Si el cliente realiza una petición, se ejecuta el
intérprete de PHP y se genera el contenido de manera dinámica. Permite conexión con varios
tipos de Bases de Datos como: MySQL, Oracle, Postgress, SQL Server, etc. permitiendo
aplicaciones robustas sobre la WEB.
1.2 MYSQL
Es un manejador de Bases de Datos, el cual permite múltiples hilos y múltiples usuarios, fue
desarrollado como software libre. Aunque se puede usar sobre varias plataformas es muy
utilizado sobre LINUX. Es libre para uso en Servidores WEB. Ofrece ventajas tales como fácil
adaptación a diferentes entornos de desarrollo, Interacción con Lenguajes de Programación
como PHP y Java Script.
1.3 APACHE
Es un Servidor WEB desarrollado por el grupo Apache. Su código fuente se puede distribuir y
utilizar de forma libre. Está disponible para diferentes plataformas de Sistemas Operativos
entre otros Windows, Linux, Mac y NetWare. Ofrece ventajas tales como independencia de
plataforma, haciendo posible el cambio de plataforma en cualquier momento; creación de
contenidos dinámicos, permitiendo crear sitios mediante lenguajes PHP.
3. INSTALACION Y CONFIGURACION DE OPENVPN 2.6.1
Descargar al pc el fichero de instalación Windows 64-bit MSI installer y ejecutarlo en modo
administrador, posteriormente hacer clic en el botón Install Now
Ingresamos a openvpn
cd /etc/openvpn/easy-rsa/
ServidorVpn
Server-vpn-fb
Generar el certificador
./easyrsa gen-req Server-vpnfb nopass
En donde se crea las claves certificadoras, vamos a proceder a certificar nuestras llaves con el siguiente
comando:
ServidorVpn
cp /etc/openvpn/easy-rsa/pki/issued/Server-vpnfb.crt /etc/openvpn/server/
cp /etc/openvpn/easy-rsa/pki/private/Server-vpnfb.key /etc/openvpn/server/
cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/server/
Ls –l /etc/openvpn/server/
Ingresamos a
cd /etc/openvpn/server/
Después de tener ya las generadas las claves de nuestro servidor llego el momento de generar las claves
para nuestros usuarios
Creamos una carpeta el open vpn client para almacenar los certificados
mkdir /etc/openvpn/client/keys
En esta carpeta pondremos todos los certificados y vamos a quitar los privilegios del directorio client
Luego de este paso volvemos a la carpeta easy-rsa para crear los requerimientos del cliente
cd /etc/openvpn/easy-rsa/
cp /etc/openvpn/easy-rsa/pki/issued/Cliente5-Servervpnfb.crt /etc/openvpn/client/keys/
cp /etc/openvpn/easy-rsa/pki/private/Cliente5-Servervpnfb.key /etc/openvpn/client/keys/
cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/client/keys/
cp /etc/openvpn/server/ta.key /etc/openvpn/client/keys/
Con el siguiente comando podemos listar los archivos dentro de nuestra carpeta Keys
Ls –l /etc/openvpn/client/keys
Listo todos los archivos vamos a configurar el servidor copiamos el archivo de ejemplo a nuestro server
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server/
Nano server.conf
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/
Configuramos el fichero
nano /etc/sysctl.conf
Iptables –L –nv
Para ver las reglas del NAT
netfilter-persistent save
Iniciamos el servicio
Verificamos el estado
cp /etc/openvpn/client/client.conf /etc/openvpn/client/plantilla.conf
Y creamos un script, también crearemos una carpera para tener los ficheros
Mkdir files
#!/bin/bash
KEY_DIR=/etc/openvpn/client/keys
OUTPUT_DIR=/etc/openvpn/client/files
BASE_CONFIG=/etc/openvpn/client/plantilla.conf
cat ${BASE_CONFIG}\
<(echo -e '<ca>')\
${KEY_DIR}/ca.crt\
<(echo -e '</ca>\n<cert>')\
${KEY_DIR}/${1}.crt\
<(echo -e '</cert>\n<key>')\
${KEY_DIR}/${1}.key\
<(echo -e '</key>\n<tls-crypt>')\
${KEY_DIR}/ta.key\
<(echo -e '</tls-crypt>')\
> ${OUTPUT_DIR}/${1}.ovpn
Ejecutamos make
./make_config.sh Cliente1-Servervpnfb
Luego lo copiamos a cualquier carpeta y le quitamos sus privilegios para poder copiarlos
Descargamos nuestro sistema operativo con el que trabajaremos, en este caso Ubuntu, este ISO se
puede descargar en la página oficial de Ubuntu
Realizamos la instalación en nuestra máquina virtual y lo ejecutamos
Confirmamos que todo esté en orden y listo, ya tenemos la máquina virtual con Ubuntu instalada
5. INSTALACION Y CONFIGURACION DE VIRTUAL BOX Y UBUNTU OS
Teniendo previamente instalado el VirtualBox y el sistema operativo Ubuntu realizamos las siguientes
configuraciones:
Instalamos OpenVPN, quien nos servira para la conexión para descargar e instalar utilizaremos los
siguientes comandos en la terminal:
Procedemos a esperar que termine de instalar procedemos a instalar otro paquete necesario con el
siguiente comando
Buscamos desde la terminal la localización del certificado y lo abriremos con el siguiente comando para
entablar la comunicación con la VPN y la IP de conexión proporcionada por el servidor
root@Maestro2:/home/maestro# cd Descargas
Validamos que ya se encuentra instalado en nuestra máquina virtual por lo que procedemos a ingresar
en SQL.
Acá ingresamos con los datos del user que está dentro de la Base del maestro que en este caso el creado
es BDD_Slave y también la IP del Maestro en este caso es la 10.8.0.2
Introducimos el siguiente comando para poder validar que si estamos ingresando a la base de datos
maestra y corroboramos la conexión y contenido de la misma. Usaremos el siguiente comando:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| BDD_ecommerce |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.06 sec)
Luego agregamos los datos de nuestra conexión al maestro desde la terminal del esclavo con el
siguiente comando:
Vamos a proceder a agregar un usuario con el cual se agregarán las consultas, se adjuntan comando en
terminal para realizarlo:
Luego agregamos las credenciales con los que procederá a realizar una sincronización.
Para validar los puertos abiertos en nuestra máquina virtual para que el acceso sea mucho más versátil y
que otro equipo pueda realizar las consultas instalamos nmap
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.05 sec)
Y con esto podemos garantizar que estamos realizando la sincronización o replicación directamente del
Maestro y que el equipo que realizará los mapeos y graficado estará consumiendo desde el Slave o
esclavo la base de datos.