Bet@ f61f22377c recuperamos la logica de vhosts especificos para poder desplegar kemal
kemal es el gate, el servicio web al que los nodos deben pedir acceso para unirse a la rap
ademas, esto nos servira para desplegar servicios que tienen requerimientos especificos a nivel del proxy
2024-09-09 10:24:18 -03:00
2024-09-06 12:27:48 -04:00
2024-09-02 13:11:18 -04:00

DESPLIEGUE DEL PROXY

Cada nodo debe tener una entrada en el archivo abyayala.yml de esta forma:

  - service_name: chem
    domains:
      - chem.abyaya.la
    nodo: chem.comun
    ssl: yes

Donde

  • service_name: es un nombre arbitrario
  • 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, ejecutamos el comando deploy especificando en -e "..." sus parámetros

ansible-playbook deploy.yml -e "host=abyayala alt=abyayala"

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

También podemos utilizar parámetros de ansible, por ejemplo

ansible-playbook deploy.yml -e "host=abyayala alt=abyayala" --skip-tags=installation,proxy

Saltea dos partes del proceso, marcadas por tags. En este ejemplo, la instalación y la actualización de Nginx

DEPLOY LOCAL

Para desarrollo, podemos desplegar en nuestro localhost así

ansible-playbook --become deploy.yml -e "host=localhost alt=abyayala" -i hosts.local

DESPLIEGUE DE LA RAP

Esta se hace en dos partes, pues hay que configurarlo tanto en el servidor del proxy, como en el nodo de destino

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

  - service_name: vpn
    roles:
      - rap
    nodos:
      - marmite
      - chemka

Luego podemos volver a ejcutar el primer comando deploy de este manual. O si queremos ejecutar solamente la RAP utilizaremos el parámetro service, como se explica más arriba

ansible-playbook deploy.yml -e "host=abyayala alt=abyayala service=vpn" --skip-tags=installation,proxy,rap

En este ejemplo, estamos salteando la parte de instalación para mayor velocidad y el proxy pues solamente queremos actualizar la VPN. Además, estamos salteando un paso específico, porque no queremos pisar configuraciones locales de la RAP

RAP en el nodo

Para desplegar la RAP en nuestro nodo destino, utilizamos el script tasks/rap.yml especificando sus paráemtros en -e "..."

ansible-playbook --become tasks/rap.yml -e "nodo=chem host=rakiduam"

En donde:

  • host: es el nodo a configurar, según su definición en el inventario de ansible
  • nodo: es el nombre que le daremos, el cual debe coincidir con el que desplegamos en el proxy más arriba

En este ejemplo, intentamos convertir nuestro localhost en un nodo

ansible-playbook --become tasks/rap.yml -e "host=localhost nodo=chem" -i hosts.local
Description
Automatización de despliegue de proxy reverso mas red privada virtual y servidor DNS. Esta combinación permite alojar servicios localmente, pasando a través de cualquier instalación de red, sin necesidad de NAT, port-forwarding, etc.
Readme 455 KiB
Languages
Jinja 100%