| Linux PPP HOWTO | ||
|---|---|---|
| Indietro | Capitolo 18. Automatizzare le connessioni - Creare degli script | Avanti |
Questo è il primo di una COPPIA di script che lanciano la connessione.
#!/bin/sh
#
# Script per inizializzare una connessione PPP. Questo è il primo di
# una coppia di script. Questa coppia di script non è sicura in quanto
# il codice è visibile usando il comando 'ps'. Comunque, è semplice.
#
# Questi sono i parametri. Li si modifichi come è necessario.
TELEPHONE=555-1212 # Il numero telefonico per la connessione
ACCOUNT=george # Il nome di account per il logon (come in 'George Burns')
PASSWORD=gracie # La password per questo account (e 'Gracie Allen')
LOCAL_IP=0.0.0.0 # Indirizzo IP locale, se noto. Dinamico = 0.0.0.0
REMOTE_IP=0.0.0.0 # Indirizzo IP remoto, se desiderato. Normalmente 0.0.0.0
NETMASK=255.255.255.0 # La netmask appropriata, se necessaria
#
# Li esporta così saranno disponibili anche a 'ppp-on-dialer'
export TELEPHONE ACCOUNT PASSWORD
#
# Questa è la posizione dello script che compone il numero e fa il
# login. Si invita ad usare il nome del file assoluto in quanto la
# variabile $PATH non è usata nelle opzioni di connessione. (Farlo in
# un account come 'root' sarebbe un buco di sicurezza, quindi non lo si richieda).
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
#
# Inizia la connessione
#
#
exec /usr/sbin/pppd debug /dev/ttySx 38400 \
$LOCAL_IP:$REMOTE_IP \
connect $DIALER_SCRIPT |
Ecco qui lo script ppp-on-dialer:-
#!/bin/sh
#
# Questa è la parte 2 dello script ppp-on. Effettua il
# protocollo di connessione per la connessione desiderata.
#
/usr/sbin/chat -v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
'OK-+++\c-OK' ATH0 \
TIMEOUT 30 \
OK ATDT$TELEPHONE \
CONNECT '' \
ogin:--ogin: $ACCOUNT \
assword: $PASSWORD |
Per PPP-2.2, lo script ppp-off è qualcosa come:-
#!/bin/sh
######################################################################
#
# Determina il dispositivo da chiudere
#
if [ "$1" = "" ]; then
DEVICE=ppp0
else
DEVICE=$1
fi
######################################################################
#
# Se esiste il file pid ppp0 allora il programma è in esecuzione. Lo ferma.
if [ -r /var/run/$DEVICE.pid ]; then
kill -INT `cat /var/run/$DEVICE.pid`
#
# Se kill non ha funzionato allora non c'è alcun processo in esecuzione
# con questo pid. Può significare inoltre che il file di lock è stato
# lasciato lì. Allo stesso tempo si può quindi voler cancellare il file di lock.
if [ ! "$?" = "0" ]; then
rm -f /var/run/$DEVICE.pid
echo "ERRORE: Rimosso vecchio file pid"
exit 1
fi
#
# Successo. Si lascia che pppd pulisca da solo le sue cose di scarto.
echo "Connessione PPP a $DEVICE terminata."
exit 0
fi
#
# Il processo ppp non è in esecuzione per ppp0
echo "ERRORE: Connessione PPP non attiva su $DEVICE"
exit 1 |