This commit is contained in:
Bet@ 2024-09-12 16:38:05 -03:00
parent 868393a045
commit ed6691c575

View File

@ -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