18.2. Lo script ppp-on

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