Configurazione di una linea di backup analogica manuale: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
Rimosso openvpn e tolto -e dallo #!
Line 72: Line 72:
Dal lato opposto verificare che openvpn '''non''' abbia la direttiva "'''remote'''"
Dal lato opposto verificare che openvpn '''non''' abbia la direttiva "'''remote'''"


==Modifiche al networking==
==Modifiche Opsioni di connessione pppd==


Abilitare il logging ip-up-down:
Abilitare il logging ip-up-down:
Line 78: Line 78:
  touch /var/log/ppp-ipupdown.log
  touch /var/log/ppp-ipupdown.log


Abilitare la sostituzione della default route nella connessione:
Sostituire le opzioni di collegamento con queste:


echo "replacedefaultroute" >> /etc/ppp/peers/libero
<pre>
cat | sudo tee /etc/ppp/peers/libero > /dev/null <<EOFile
# This optionfile was generated by pppconfig 2.3.10.
#
#
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/libero"
debug
/dev/ttyS0
115200
defaultroute
noipdefault
user "srgalimberti@libero.it"
remotename libero
replacedefaultroute
persist
maxfail 0
EOFile
</pre>


Se si è scelto di usare i DNS dinamici, disabilitare il settaggio dei DNS nello stesso file:
In pratica:
* Abilitare la sostituzione della default route nella connessione: replacedefaultroute
* In caso di caduta della linea, ricomporre: persist
* Ricomporre un umero infinito di volte: maxfail 0


#usepeerdns
 
#ipparam libero
'''ATTENZIONE:''' a causa di un bug nella versione 2.4.3-20050321+2sarge1 ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374698 #374698]) se la linea cade, muore anche pppd, e non avviene la ricomposizione.


==Test collegamento e script==
==Test collegamento e script==

Revision as of 09:34, 5 February 2007

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 Opsioni di connessione pppd

Abilitare il logging ip-up-down:

touch /var/log/ppp-ipupdown.log

Sostituire le opzioni di collegamento con queste:

cat | sudo tee /etc/ppp/peers/libero > /dev/null <<EOFile
# This optionfile was generated by pppconfig 2.3.10.
#
#
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/libero"
debug
/dev/ttyS0
115200
defaultroute
noipdefault
user "srgalimberti@libero.it"
remotename libero
replacedefaultroute
persist
maxfail 0
EOFile

In pratica:

  • Abilitare la sostituzione della default route nella connessione: replacedefaultroute
  • In caso di caduta della linea, ricomporre: persist
  • Ricomporre un umero infinito di volte: maxfail 0


ATTENZIONE: a causa di un bug nella versione 2.4.3-20050321+2sarge1 (#374698) se la linea cade, muore anche pppd, e non avviene la ricomposizione.

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.