#!/bin/bash # Script per connessione VPN Cisco AnyConnect # Posizionare in: storage/scripts/vpn-connect.sh # Legge le credenziali da file di configurazione source "$(dirname "$0")/vpn-config.conf" # Log file LOG_FILE="$(dirname "$0")/../logs/vpn-connection.log" # Funzione di logging log_message() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE" } # Verifica se le credenziali sono configurate if [[ -z "$VPN_USERNAME" || -z "$VPN_PASSWORD" || -z "$VPN_SERVER" ]]; then log_message "ERROR: Credenziali VPN non configurate correttamente" exit 1 fi # Controlla se AnyConnect รจ installato if [[ ! -f "/opt/cisco/anyconnect/bin/vpn" ]]; then log_message "ERROR: Cisco AnyConnect non trovato" exit 1 fi log_message "INFO: Avvio connessione VPN..." # Esegue la connessione VPN printf "${VPN_USERNAME}\n${VPN_PASSWORD}\ny" | /opt/cisco/anyconnect/bin/vpn -s connect "$VPN_SERVER" # Controlla il risultato if [[ $? -eq 0 ]]; then log_message "SUCCESS: Connessione VPN stabilita" # Aggiorna timestamp ultimo successo nel database Laravel php "$(dirname "$0")/../../artisan" vpn:update-status connected else log_message "ERROR: Connessione VPN fallita" php "$(dirname "$0")/../../artisan" vpn:update-status failed fi