Backup PfSense Configuration

Buona Sera,

ogni tanto mi faccio vivo, scusate, ma il lavoro ultimamente mi ha assorbito parecchio e poi con questo tempo…non ho troppa voglia di stare davanti ad un montor!!!

Oggi vi presento uno script, evoluzione di uno già presentato per il backup delle configurazioni dei firewall PfSense.

E’ composto da due file uno eseguibile ed uno dove andrò ad inserire i dati per la connessione da remoto ed il download della configurazione.

Lo script in se è utilizzabile su sistemi *unix per un sistema di variabili e costanti che non ho convertito per i sistemi windows. Questo mi permetterà di non abbandonare definitivamente il moi povero Blog che ormai è stato abbandonato a se stesso da quasi 3 Mesi, un’eternità… :(

Torniamo a noi:

#!/bin/bash

runpath=`pwd`

getUsr=`awk -F" " '{print $1}' $runpath/test.txt`
getPwd=`awk -F" " '{print $2}' $runpath/test.txt`
getFln=`awk -F" " '{print $3}' $runpath/test.txt`

#awk -F" " '{print $1, $2}' oldfile > newfile

# aggiungere in coda l'indirizzo pubblico di accesso al firewall da remoto
array0=( $getUsr )

# aggiungere in coda la password di accesso al firewall
array1=( $getPwd )

# aggiungere in coda il nome del file che verrà generato
array2=( $getFln )

# incrementare il numero sottostante di +1
frwnum=${#array2[@]}

DESTDIR=$runpath

for (( y=0; y<$frwnum; y++ )); do

# echo wget -qO/dev/null --no-check-certificate --keep-session-cookies --save-cookies cookies.txt --post-data 'login=Login&usernamefld=admin&passwordfld='${array1[$y]} https://${array0[$y]}/diag_backup.php
# echo ""
# echo wget --no-check-certificate --keep-session-cookies --load-cookies cookies.txt --post-data 'Submit=download&donotbackuprrd=yes' https://${array0[$y]}/diag_backup.php -O $DESTDIR/`date -I`_${array2[$y]}.xml

wget -qO/dev/null --no-check-certificate --keep-session-cookies --save-cookies cookies.txt --post-data 'login=Login&usernamefld=admin&passwordfld='${array1[$y]} https://${array0[$y]}/diag_backup.php
echo ""
wget --no-check-certificate --keep-session-cookies --load-cookies cookies.txt --post-data 'Submit=download&donotbackuprrd=yes' https://${array0[$y]}/diag_backup.php -O $DESTDIR/`date -I`_${array2[$y]}.xml

#/bin/sleep 3

done

mentre il secondo file permette di avere tutti i dati relativi alla connessione, password e nome del file di configurazione.

ip_address01 Password01 file_name01
ip_address02 Password02 file_name02
ip_address03 Password03 file_name03
ip_address04 Password04 file_name04
ip_address05 Password05 file_name05
...

Questo script è utilizzabile con le versioni di PfSense 2.0.x

Sperando di avervi fatto uno script utile, vi auguro una buona serata.

Dario Villa

Learn More →

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.