25.3. Un esempio di script /etc/ppp/ip-up

L'esempio che segue gestisce una varietà di usi tipici.

#!/bin/bash
#
# Script che gestisce le questioni di instradamento necessarie per pppd
# Solo la connessione a Newman richiede questa gestione.
#
# Quando la connessione ppp è attiva, questo script viene chiamato con
# i seguenti parametri
#       $1      il nome dell'interfaccia usata da pppd (p.e. ppp3)
#       $2      il nome del dispositivo tty
#       $3      la velocità del dispositivo tty
#       $4      l'indirizzo IP locale per l'interfaccia
#       $5      l'indirizzo IP remoto
#       $6      il parametro specificato dall'opzione 'ipparam' di pppd
#
case "$5" in
# Gestisce gli instradamenti al server del Campus Newman
        202.12.126.1)
                /sbin/route add -net 202.12.126.0 gw 202.12.126.1
# e scarica la coda di posta per spedire là le loro email il prima possibile!
		/usr/sbin/sendmail -q &
                ;;
	139.130.177.2)
# Il nostro collegamento ad Internet
# Quando la connessione è attiva, avvia il time server e si
# sincronizza con il mondo, se il time server non è già attivo
                if [ ! -f /var/lock/subsys/xntpd ]; then
                        /etc/rc.d/init.d/xntpd.init start &
                fi
# Avvia il news server (se non è già attivo)
                if [ ! -f /var/lock/subsys/news ]; then
                        /etc/rc.d/init.d/news start &
                fi
                ;;
	203.18.8.104)
# Spedisce le email in attesa nella mia macchina non appena il collegamento è attivo
# Non è richiesto nessun instradamento in quanto la mia Ethernet di
# casa è gestita da un instradamento di IP masquerade e proxyarp.
		/usr/sbin/sendmail -q &
		;;
        *)
esac
exit 0

Come risultato della connessione ppp al nostro Campus Newman e di questo script, si ottengono le seguenti voci nella tabella di instradamento (questa macchina è anche il nostro server PPP e gestisce le nostre connessioni ad Internet). Ho aggiunto dei commenti nell'output per spiegare a cosa corrisponde ognuna delle voci:-

[root@kepler /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
# l'instradamento HOST al nostro gateway internet remoto
139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
# l'instradamento HOST al server del nostro campus Newman
202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
# l'instradamento HOST alla mia ethernet casalinga
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# due delle nostre linee PPP di dial up
203.18.8.64     *               255.255.255.255 UH    552    0        0 ppp2
203.18.8.62     *               255.255.255.255 UH    552    0        1 ppp1
# l'instradamento di rete specifico per la LAN del campus Newman
202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
# l'instradamento alla nostra Ethernet locale (una "super rete" formata da due reti di classe C adiacenti)
203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
# l'instradamento al dispositivo di loop back
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# l'instradamento predefinito ad Internet
default         139.130.177.2   *               UG    1500   0     3633 ppp4