hlab/ansible/playbooks
Fabio Sinibaldi 9afb4b6389 Playbook vpn_server 2026-07-16 19:16:24 +02:00
..
roles/wireguard_server Playbook vpn_server 2026-07-16 19:16:24 +02:00
templates Bootstrap playbook 2026-07-16 18:50:53 +02:00
README.md Playbook vpn_server 2026-07-16 19:16:24 +02:00
bootstrap.yaml Bootstrap playbook 2026-07-16 18:50:53 +02:00
vpn_server.yaml Playbook vpn_server 2026-07-16 19:16:24 +02:00

README.md

Playbooks

Qui vengono riportati i playbook disponibili, descrizione e utilizzo. NB Ci si aspetta che i playbook siano idempotenti. In caso contrario e importante riportarlo nella documentazione corrente.

Bootstrap

Implementa la configurazione di base di un nodo per poter essere gestito dagli altri playbook, in particolare : - crea lutente ansible - registra le chiavi ssh degli utenti configurati

Target Hosts : all

Parametri

Il playbook si aspetta le seguenti variabili

ansible_authorized_keys:
    - label : <MY LABEL>
      key: <MY>

Chiamata

Per lanciare il playbook e necessario specificare lutente da utilizzare per connettersi ed esguire il playbook con lopzione -e. Lopzione -K invece permette di chiedere la password dellutente remoto

 ansible-playbook -i inventories/<INVENTORY>.yaml  playbooks/bootstrap.yaml -e 'ansible_user=<SUDO USER>' -K

VPN Server

Istanzia un server Wireguard abilitando il tunneling del traffico.

Target Hosts : wireguard_server

Generazione chiavi e configurazioni dei Peer

Genera in /wg_clients/< ANSIBLE_HOSTNAME >/ i file di configurazione per i peer configurati.

NB Il playbook e a conoscenza della chiave privata del peer solo se e stato necessario generarla durante lesecuzione. In caso contrario viene riportata solo la chiave pubblica ed e compito dellutente inserire la chiave privata.

Il playbook genera le chiavi nei seguenti casi : - nessuna chiave pubblica e stata fornita e il peer non e gia configurato sul server - Force Regeneration = True

Parametri

Il playbook si aspetta le seguenti variabili

wg_interface: wg0
wg_port: 51820
wg_server_address: 192.168.101.1/32

wg_peers:  
  - name: <MY LABEL>
    # publicKey: 
    ip: "192.168.101.4/32"
    allowedIPs : 
      - "192.168.101.0/24"
      - "10.22.0.0/16"
    forceRegeneration: False