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 |