/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
:
/etc/ppp/ip-up
est un programme et non un
script. Cela signifie qu'il ne peut pas �tre ex�cut� directement - m�me si
il a besoin du (#!/bin/bash
) magique au d�but de la premi�re ligne
et qu'il doit �tre lisible est ex�cutable par root.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 !
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).
/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
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.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:37