From ed6691c57548bd6c0b0c149b81f3814829e2dced Mon Sep 17 00:00:00 2001 From: "Bet@" Date: Thu, 12 Sep 2024 16:38:05 -0300 Subject: [PATCH] LEAMOS --- README.md | 58 +++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 0cec522..5da73d5 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,9 @@ PING ka.comun (10.13.12.129) 56(84) bytes of data. 64 bytes from ka.comun (10.13.12.129): icmp_seq=1 ttl=64 time=169 ms ``` -Por otra parte, como resultado del despliegue de la segunda parte **(PROXY)**, es que el **servidor** debe publicar el subdominio DNS **node.**abyaya.la +Por otra parte, como resultado del despliegue de la segunda parte **(PROXY)**, es que el **servidor** debe publicar el subdominio DNS **node.** abyaya.la -En este, cada organizacion puede publicar sus servicios en internet. Estos son accesibles a través de SSL/DNS en **sub-sub-**dominios. +En este, cada organizacion puede publicar sus servicios en internet. Estos son accesibles a través de SSL/DNS en **sub-sub-** dominios. Por ej. **https://sitio.node.abyaya.la** y convivir como vástagxs con una nube en **https://nube.node.abyaya.la** @@ -53,7 +53,7 @@ Lo que está resaltado así es código fuente ## REQUISITOS DE INSTALACIÓN -Deben tener **Ansible**. Si tienen **Python** (sí, tienen), se puede instalar por **pip** +Deben tener **Ansible** . Si tienen **Python** (sí, tienen), se puede instalar por **pip** ``` $ pip install ansible ``` @@ -71,11 +71,21 @@ En desarrollo se puede emular con máquinas virtuales a las cuales configura su # CÓMO SE USA -# DESPLIEGUE DE LA RAP +#### DEPLOY LOCAL + +En este ejemplo, intentamos convertir nuestro localhost en un nodo + +``` +ansible-playbook --become tasks/rap.yml -e "host=localhost nodo=chem" -i hosts.local +``` + +# INSTALACION EN N PASOS + +## 1 - RAP Esta se hace en dos partes, pues hay que configurarlo primero en el nodo de destino y después en el servidor del proxy. -## RAP en el nodo +### 1.1 - RAP en el nodo Para desplegar la RAP en nuestro nodo destino, utilizamos el script **tasks/rap.yml** especificando sus paráemtros en **-e "..."** @@ -87,13 +97,7 @@ En donde: - **nodo**: es el nombre que le daremos, el cual debe coincidir con el que desplegamos en el proxy más adelante -En este ejemplo, intentamos convertir nuestro localhost en un nodo - -``` -ansible-playbook --become tasks/rap.yml -e "host=localhost nodo=chem" -i hosts.local -``` - -## RAP en el proxy +### 1.2 - RAP en el proxy El proxy también se define en el archivo abyayala.yml en el **server_name: vpn** En la lista de **nodos** mantenemos los nodos autorizados para conectarse a la RAP @@ -107,7 +111,7 @@ En la lista de **nodos** mantenemos los nodos autorizados para conectarse a la R - ka ``` -### DEPLOY +#### DEPLOY.YML De ahora en adelante, trabajaremos en el proxy. El único comando que vamos a necesitar es **deploy.yml"" y le especificaremos parámetros. Vamos viendo. @@ -118,7 +122,15 @@ ansible-playbook deploy.yml -e "alt=abyayala host=hetzner" ``` Desplegamos los servicios definidos en el archivo abyayala.yml a nuestro servidor que esta en hetzner. -#### 1 - DEPLOY DE LA RAP +Los parámetros obligatorios son: +- **alt**: nombre de nuestro servidor autonomo, en este caso siempre es 'abyayala' +- **host**: nombre del servidor de destino en el archivo de inventario hosts.production + +Los parámetros opcionales pueden ser: +- **service**: limita al despliegie a un servicio específico, en lugar de actualizar todos + + +### 1.3 - DEPLOY DE LA RAP EN EL PROXY Para ser mas especificos, aqui utilizaremos el parametro **service** para ejecutar solamente la vpn. @@ -128,7 +140,7 @@ ansible-playbook deploy.yml -e "host=abyayala alt=abyayala service=vpn" --skip-t En este ejemplo, estamos salteando la parte de instalación para mayor velocidad. -# DESPLIEGUE SIMULTANEO DEL PROXY CON HTTPS Y DEL DNS +## 2 - DEPLOY DEL DEL PROXY CON HTTPS Y ACTUALIZACION DEL DNS Cada nodo debe tener una entrada en el archivo abyayala.yml de esta forma: @@ -144,20 +156,12 @@ Donde - **domains**: la unica entrada de domains es el subdominio principal - **nodo**: es el hostname del nodo en la RAP - **ssl**: habilita la conexión SSL/TLS en ese dominio y sus subdominios -- **force_https**: igual al parámetro anterior, pero fuerza la conexión segura (no permitiendo http plano) Luego, volvemos a ejecutar comando **deploy** para actualizar el estado del host. ``` ansible-playbook deploy.yml -e "alt=abyayala host=hetzner" ``` -Los parámetros obligatorios son: -- **alt**: nombre de nuestro servidor autonomo, en este caso siempre es 'abyayala' -- **host**: nombre del servidor de destino en el archivo de inventario hosts.production - -Los parámetros opcionales pueden ser: -- **service**: limita al despliegie a un servicio específico, en lugar de actualizar todos - O también podemos actualizar la *configuración del proxy* de solamente **un nodo** especificandolo con **service**. ``` @@ -165,10 +169,6 @@ ansible-playbook deploy.yml -e "alt=abyayala host=hetzner service=chem" ``` -#### DEPLOY LOCAL +Esto ademas actualiza a los servidores DNS de Sutty acerca de la creacion del nuevo nodo. -Para desarrollo, podemos desplegar en nuestro localhost así - -``` -ansible-playbook --become deploy.yml -e "host=localhost alt=abyayala" -i hosts.local -``` +Esta sincronizacion ademas permite obtener los certificados wildcard en el certbot, y habilitar SSL/TLS