Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 1046

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>Une fois que la connexion fonctionne - le script <CODE>/etc/ppp/ip-up</CODE></TITLE>
</HEAD>
<BODY>
<A NAME="ip-up"></A> <H1>23. <A NAME="s23"></A>Une fois que la connexion fonctionne - le script <CODE>/etc/ppp/ip-up</CODE></H1>
<P>
<A HREF="PPP-HOWTO.html#toc23">Contenu de cette section</A></P>

<P>Une fois que la connexion est &eacute;tablie, <CODE>pppd</CODE> cherche un 
<CODE>/etc/ppp/ip-up</CODE>.
Si ce script existe et est ex&eacute;cutable, le daemon PPP le lance. Cela permet
d'automatiser des commandes de routages sp&eacute;ciales qui peuvent &ecirc;tre n&eacute;cessaires
et toutes les autres actions que vous souhaitez lancer une fois que la liaison
PPP est activ&eacute;e.</P>
<P></P>
<P>C'est un simple script shell qui fait uniquement ce qu'un script shell peut 
faire (en fait quasiment tout ce que vous voulez).</P>
<P></P>
<P>Par exemple, vous pouvez demander &agrave; sendmail d'envoyer les messages en attentes.</P>
<P></P>
<P>Il y a quelques restrictions avec <CODE>/etc/ppp/ip-up</CODE>:</P>
<P>
<UL>
<LI>Il fonctionne d&eacute;lib&eacute;remment dans un environnement r&eacute;duit pour augmenter
la s&eacute;curit&eacute;. Cela signifie que vous devez donner le chemin complet des 
ex&eacute;cutables.</LI>
<LI>Techniquement, <CODE>/etc/ppp/ip-up</CODE> est un <EM>programme</EM> et non un
script. Cela signifie qu'il ne peut pas &ecirc;tre ex&eacute;cut&eacute; directement - m&ecirc;me si
il a besoin du (<CODE>#!/bin/bash</CODE>) magique au d&eacute;but de la premi&egrave;re ligne
et qu'il doit &ecirc;tre lisible est ex&eacute;cutable par root.</LI>
</UL>
</P>
<P></P>
<P></P>
<H2>23.1 <A NAME="ss23.1"></A> Routages sp&eacute;ciaux</H2>

<P>Si vous reliez deux r&eacute;seaux locaux, vous devez configurer des routes 
sp&eacute;cifiques vers le r&eacute;seau '&eacute;tranger'. Le script <CODE>/etc/ppp/ip-up</CODE> peut
le faire facilement. La seule difficult&eacute; est lorsque votre machine supporte
plusieurs liaisons PPP.</P>
<P></P>
<P><CODE>/etc/ppp/ip-up</CODE> est utilis&eacute; &agrave; chaque lancement de ppp, vous devez donc
&ecirc;tre extr&ecirc;mement vigilant d'ex&eacute;cuter les commandes de routage correctes pour
la liaison qui d&eacute;marre - et non lorsque n'importe quelle liaison d&eacute;marre !</P>
<P></P>

<H2>23.2 <A NAME="ss23.2"></A> Support du courrier &eacute;lectronique en attente</H2>

<P>Lorsqu'une liaison entre deux r&eacute;seaux locaux d&eacute;marre, vous voudriez vous
assurez que le courrier en attente de chaque cot&eacute; de la liaison est bien
envoy&eacute; &agrave; son destinataire. Cela est possible en ajoutant un appel correct &agrave;
<CODE>sendmail</CODE>.</P>
<P></P>
<P>Utiliser la commande case du bash sur le bon param&egrave;tre que passe pppd
au script permet cela. Par exemple, voici un script <CODE>/etc/ppp/ip-up</CODE> que
j'utilise pour mes liaisons entre l'entreprise et chez mon r&eacute;seau Ethernet 
(&eacute;galement connect&eacute; au m&ecirc;me serveur ppp).</P>
<P></P>

<H2>23.3 <A NAME="ss23.3"></A> Un exemple de script <CODE>/etc/ppp/ip-up</CODE></H2>

<P>Le script suivant permet de nombreuses utilisations.</P>
<P>
<HR>
<PRE>
#!/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 &quot;$5&quot; 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 &amp;
                ;;
        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 &amp;
                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 &amp;
                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 &amp;
                ;;
        *)
esac
exit 0
</PRE>
<HR>
</P>
<P></P>
<P>Le r&eacute;sultat du lancement de la liaison PPP vers notre campus Newman et le 
d&eacute;marrage de ce script, d&eacute;termine les entr&eacute;es de la table de routage (cette 
machine est aussi notre serveur PPP g&eacute;n&eacute;ral ET supporte nos liaisons Internet).
J'ai ajout&eacute; des commentaires sur la sortie pour expliquer a quoi correspond
chaque entr&eacute;e) :</P>
<P>
<HR>
<PRE>
[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&amp;eacute;seau local ethernet
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# deux des lignes g&amp;eacute;n&amp;eacute;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&amp;eacute;seau specifique vers le r&amp;eacute;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&amp;eacute;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&amp;eacute;riph&amp;eacute;rique loop back
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# la route par d&amp;eacute;faut vers Internet
default         139.130.177.2   *               UG    1500   0     3633 ppp4
</PRE>
<HR>
</P>
<P></P>

<H2>23.4 <A NAME="ss23.4"></A> Support du courrier &eacute;lectronique</H2>

<P>La section pr&eacute;c&eacute;dente montrait comment supporter le mail sortant - en
envoyant simplement le courrier lorsque la liaison d&eacute;marrait.</P>
<P></P>
<P>Si vous utilisez une liaison pour un r&eacute;seau large, vous pouvez vous arranger 
avec l'administrateur r&eacute;seau du site distant pour qu'il fasse exactement la 
m&ecirc;me chose. Par exemple, &agrave; l'autre bout de la liaison au Newman Campus, le 
script <CODE>/etc/ppp/ip-up</CODE> ressemble &agrave; :</P>
<P>
<HR>
<PRE>
#!/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 &quot;$5&quot; in
        203.18.8.4)
                /usr/sbin/sendmail -q
                ;;
        *)
esac
exit 0
</PRE>
<HR>
</P>
<P></P>
<P>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&egrave;s. Cela
est g&eacute;n&eacute;ralement possible en utilisant POP (Post Office Protocol). Ce processus
peut &ecirc;tre support&eacute; avec le programme 'popclient" - le script ip-up peut
automatiser le processus pour vous !</P>
<P></P>
<P>Cr&eacute;ez simplement un script <CODE>/etc/ppp/ip-up</CODE> qui contient un appel correct
&agrave; popclient. Pour mon portable avec la RedHat Linux (que je prends lorsque je
voyage), j'ai </P>
<P>
<HR>
<PRE>
popclient -3 -c -u hartr -p &lt;password&gt; kepler.hedland.edu.au |formail -s procmail
</PRE>
<HR>
</P>
<P></P>
<P>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 &agrave; automatiser TOUTES les fonctions que vous devez
accomplir chaque fois qu'une liaison PPP correspondante d&eacute;marre.</P>
<P></P>

<HR>
<P>
Chapitre <A HREF="PPP-HOWTO-24.html">suivant</A>,
Chapitre <A HREF="PPP-HOWTO-22.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="PPP-HOWTO.html#toc23">ce chapitre</A>,
 <A HREF="PPP-HOWTO.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="PPP-HOWTO.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>