Configurazione di una linea di backup analogica manuale

From RVM Wiki
Revision as of 07:28, 5 February 2007 by Gabriele.vivinetto (talk | contribs) (Rimosso openvpn e tolto -e dallo #!)
Jump to navigation Jump to search

Predisposizione della connessione

Creare una connessione ppp con ppp-config chiamata "libero" SENZA GESTIONE DEI DNS e testarla.

Preparazione degli script ppp-up/down

Creare il file /etc/ppp/ip-up.d/05-sendipaddress

cat > /etc/ppp/ip-up.d/05-sendipaddress <<'EOFile'
#!/bin/sh -e
COUNT="0"
while [ "$COUNT" -lt "5" ]
do
        if wget assistenza.rvmgroup.it --quiet -O /tmp/05-sendipaddress; then
                mail -s "IP $HOSTNAME" gal-alert@rvmgroup.it < /tmp/05-sendipaddress
                COUNT="5"
        else
                COUNT=$(($COUNT+1))
        fi
done
EOFile
chmod 755 /etc/ppp/ip-up.d/05-sendipaddress

Creare il profilo firewall per la connessione ppp impostando le regole desiderate (necessita di iptables-initd_1.0.0-4):

/etc/iptables-init.d/start.ppp0

Creare il file di restart del firewall:

cat > /etc/ppp/ip-up.d/02-firewall <<'EOFile'
#!/bin/bash
/etc/init.d/firewall restart $PPP_IFACE
EOFile
chmod 755 /etc/ppp/ip-up.d/02-firewall

cat > /etc/ppp/ip-down.d/02-firewall <<EOFile
#!/bin/sh -e
/etc/init.d/firewall restart
EOFile
chmod 755 /etc/ppp/ip-down.d/02-firewall

Creare il file di restart per ssh:

cat > /etc/ppp/ip-up.d/03-ssh <<EOFile
#!/bin/bash
/etc/init.d/ssh stop
/etc/init.d/ssh start
EOFile
chmod 755 /etc/ppp/ip-up.d/03-ssh

cat > /etc/ppp/ip-down.d/03-ssh <<EOFile
#!/bin/bash
/etc/init.d/ssh stop
/etc/init.d/ssh start
EOFile
chmod 755 /etc/ppp/ip-down.d/03-ssh


Verifica della Configurazione di OpenVPN

Assicurarsi che openvpn su questa macchina:

  • non abbia una direttiva "local"
  • abbia la direttiva: "keepalive 30 61"

Dal lato opposto verificare che openvpn non abbia la direttiva "remote"

Modifiche al networking

Abilitare il logging ip-up-down:

touch /var/log/ppp-ipupdown.log

Abilitare la sostituzione della default route nella connessione:

echo "replacedefaultroute" >> /etc/ppp/peers/libero

Se si è scelto di usare i DNS dinamici, disabilitare il settaggio dei DNS nello stesso file:

#usepeerdns
#ipparam libero

Test collegamento e script

Provare ora a fare

pon libero 

e vedere se si connette e avvia correttamente gli script:

sudo tail -f /var/log/ppp-ipupdown.log

Il collegamento dovrebbe permettere la stessa operatività.

Preparazione interfaccia di attivazione

Creare la shell per l'utente backup-analogico.

ATTENZIONE: vedi i reminder per lo stesso script backup-isdn.

cat >/usr/local/bin/backup-analogico <<'EOFile'
#!/bin/bash
clear
echo "================================================================================"
echo "=                     ATTIVAZIONE LINEA DI BACKUP ANALOGICA                    ="
echo "================================================================================"
echo -e "\n"
echo -e "\n"
echo -e "\n"
echo -e "\n"
read -n1 -p"Attivare la linea di backup analogica (s/n) ? " RISP
echo -e "\n"
if [[ ("$RISP" == "s" || "$RISP" == "S") ]]; then
        sudo /sbin/ifdown eth1 > /dev/null 2>&1
        sudo pon libero
        echo "================================================================================"
        echo "=                     LINEA DI BACKUP ANALOGICA ATTIVATA                       ="
        echo "=                     PREMERE UN TASTO PER DISATTIVARLA                        ="
        echo "================================================================================"
        read -n1
        sudo poff libero
	sudo /sbin/ifup eth1 > /dev/null 2>&1
        echo Linea di backup analogica DISATTIVATA.
        exit
else
        echo Linea di backup analogica NON ATTIVATA.
        exit
fi
EOFile
sudo chown root\: /usr/local/bin/backup-analogico
sudo chmod 755 /usr/local/bin/backup-analogico

Dichiaralo come shell valida

echo "/usr/local/bin/backup-analogico" >> /etc/shells

Creare l'utente backup-analogico ed assegnargli questa shell

sudo adduser --shell /usr/local/bin/backup-analogico backup-analogico

Definire l'alias con visudo:

Cmnd_Alias LINEE_BACKUP = /sbin/ifdown, \
                          /sbin/ifup, \
                          /usr/bin/pon libero, \
                          /usr/bin/poff libero

Assegnarlo all'utente:

backup-analogico        ALL=NOPASSWD:LINEE_BACKUP

Ora ci si può loggare da console come backup-analogico ed attivare/disattivare la linea.