Page suivantePage pr�c�denteTable des mati�res

23. Une fois que la connexion fonctionne - le script /etc/ppp/ip-up

Une fois que la connexion est �tablie, pppd cherche un /etc/ppp/ip-up. Si ce script existe et est ex�cutable, le daemon PPP le lance. Cela permet d'automatiser des commandes de routages sp�ciales qui peuvent �tre n�cessaires et toutes les autres actions que vous souhaitez lancer une fois que la liaison PPP est activ�e.

C'est un simple script shell qui fait uniquement ce qu'un script shell peut faire (en fait quasiment tout ce que vous voulez).

Par exemple, vous pouvez demander � sendmail d'envoyer les messages en attentes.

Il y a quelques restrictions avec /etc/ppp/ip-up:

23.1 Routages sp�ciaux

Si vous reliez deux r�seaux locaux, vous devez configurer des routes sp�cifiques vers le r�seau '�tranger'. Le script /etc/ppp/ip-up peut le faire facilement. La seule difficult� est lorsque votre machine supporte plusieurs liaisons PPP.

/etc/ppp/ip-up est utilis� � chaque lancement de ppp, vous devez donc �tre extr�mement vigilant d'ex�cuter les commandes de routage correctes pour la liaison qui d�marre - et non lorsque n'importe quelle liaison d�marre !

23.2 Support du courrier �lectronique en attente

Lorsqu'une liaison entre deux r�seaux locaux d�marre, vous voudriez vous assurez que le courrier en attente de chaque cot� de la liaison est bien envoy� � son destinataire. Cela est possible en ajoutant un appel correct � sendmail.

Utiliser la commande case du bash sur le bon param�tre que passe pppd au script permet cela. Par exemple, voici un script /etc/ppp/ip-up que j'utilise pour mes liaisons entre l'entreprise et chez mon r�seau Ethernet (�galement connect� au m�me serveur ppp).

23.3 Un exemple de script /etc/ppp/ip-up

Le script suivant permet de nombreuses utilisations.


#!/bin/bash
#
# Script permettant de supporter les possiblites de routages necessaires a pppd
# Seule la liaison vers Newman necessite ce support.
#
# Quand la liaison ppp demarre, ce script est appele avec les parmetres
# suivants
#       $1      le nom de l'interface utilisee par pppd (c.-a-d. ppp3)
#       $2      le nom du peripherique tty
#       $3      la vitesse du peripherique tty
#       $4      l'adresse IP locale de l'interface
#       $5      l'adresse  IP distante
#       $6      le parametre specifie par l'option 'ipparam' a pppd
#
case "$5" in
# Supporte le routage vers le serveur du Newman Campus
 202.12.126.1)
 /sbin/route add -net 202.12.126.0 gw 202.12.126.1
# et envoie les courriers en attente la-bas !
 /usr/sbin/sendmail -q &
 ;;
 139.130.177.2)
# Notre liaison Internet
# Lorsque notre liaison est lancee, demarre le serveur de temps et
# se synchronise avec le monde si il n'a pas encore bouge.
 if [ ! -f /var/lock/subsys/xntpd ]; then
 /etc/rc.d/init.d/xntpd.init start &
 fi
# Demarre le serveur de news (si il ne marche pas encore)
 if [ ! -f /var/lock/subsys/news ]; then
 /etc/rc.d/init.d/news start &
 fi
 ;;
 203.18.8.104)
# Recupere le courrier electronique sur ma machine tant que la liaison
# fonctionne. Aucun routage n'est necessaire tant que mon reseau local
# Ethernet supporte IP masquerade et le routages proxyarp.
 /usr/sbin/sendmail -q &
 ;;
 *)
esac
exit 0

Le r�sultat du lancement de la liaison PPP vers notre campus Newman et le d�marrage de ce script, d�termine les entr�es de la table de routage (cette machine est aussi notre serveur PPP g�n�ral ET supporte nos liaisons Internet). J'ai ajout� des commentaires sur la sortie pour expliquer a quoi correspond chaque entr�e) :


[root@kepler /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
# la route de l'HOTE de notre gateway internet
139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
# la route de l'HOTE vers le serveur Newman campus
202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
# la route de l'HOTE de mon r�seau local ethernet
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# deux des lignes g�n�rales PPP
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
# la route r�seau specifique vers le r�seau Newman campus
202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
# la route de notre r�seau local Ethernet (super-netting two adjacent C classes)
203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
# la route vers le p�riph�rique loop back
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# la route par d�faut vers Internet
default         139.130.177.2   *               UG    1500   0     3633 ppp4

23.4 Support du courrier �lectronique

La section pr�c�dente montrait comment supporter le mail sortant - en envoyant simplement le courrier lorsque la liaison d�marrait.

Si vous utilisez une liaison pour un r�seau large, vous pouvez vous arranger avec l'administrateur r�seau du site distant pour qu'il fasse exactement la m�me chose. Par exemple, � l'autre bout de la liaison au Newman Campus, le script /etc/ppp/ip-up ressemble � :


#!/bin/bash
#
# Script permettant de supporter les possiblites de routages necessaires a pppd
# Seule la liaison vers Hedland necessite ce support.
#
# Quand la liaison ppp demarre, ce script est appele avec les parmetres
# suivants
#       $1      le nom de l'interface utilisee par pppd (c.-a-d. ppp3)
#       $2      le nom du peripherique tty
#       $3      la vitesse du peripherique tty
#       $4      l'adresse IP locale de l'interface
#       $5      l'adresse  IP distante
#       $6      le parametre specifie par l'option 'ipparam' a pppd
#
case "$5" in
 203.18.8.4)
 /usr/sbin/sendmail -q
 ;;
 *)
esac
exit 0

Si toutefois, vous n'avez qu'une adresse IP dynamique chez votre FAI, vous devrez recevoir votre courrier sur le compte de votre fournisseur d'acc�s. Cela est g�n�ralement possible en utilisant POP (Post Office Protocol). Ce processus peut �tre support� avec le programme 'popclient" - le script ip-up peut automatiser le processus pour vous !

Cr�ez simplement un script /etc/ppp/ip-up qui contient un appel correct � popclient. Pour mon portable avec la RedHat Linux (que je prends lorsque je voyage), j'ai


popclient -3 -c -u hartr -p <password> kepler.hedland.edu.au |formail -s procmail

Vous pouvez aussi utiliser slurp en quelque chose d'autre d'identique pour les news, et d'autres trucs. Souvenez vous que le script ip-up est un script bash standard et qui peut servir � automatiser TOUTES les fonctions que vous devez accomplir chaque fois qu'une liaison PPP correspondante d�marre.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:37