<!--
     The FreeBSD Documentation Project
     The FreeBSD French Documentation Project

     $FreeBSD$
     Original revision: 1.261
-->

<chapter id="ppp-and-slip">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Jim</firstname>
	<surname>Mock</surname>
	<contrib>Restructur&eacute;, r&eacute;organis&eacute;, et mis &agrave;
	  jour par </contrib>
	<!-- 1 Mar 2000 -->
      </author>
    </authorgroup>
  </chapterinfo>

  <title>PPP et SLIP ** Traduction en Cours **</title>
  &trans.a.fonvieille;

  <sect1 id="ppp-and-slip-synopsis">
    <title>Synopsis</title>
    <indexterm id="ppp-ppp">
      <primary>PPP</primary>
    </indexterm>
    <indexterm id="ppp-slip">
      <primary>SLIP</primary>
    </indexterm>

    <para>&os; dispose de nombreuses fa&ccedil;ons pour relier un
      ordinateur &agrave; un autre.  Pour mettre en place un
      r&eacute;seau ou &eacute;tablir une connexion Internet par
      l'interm&eacute;diaire d'un modem, ou pour autoriser d'autres
      &agrave; le faire par votre interm&eacute;diaire, il est
      n&eacute;cessaire d'utiliser PPP ou SLIP.  Ce chapitre
      d&eacute;crit la configuration en d&eacute;tail de ces services
      de communication par modem.</para>

    <para>Apr&egrave;s la lecture de ce chapitre, vous saurez:</para>

    <itemizedlist>
      <listitem>
	<para>Comment configurer PPP en mode utilisateur.</para>
      </listitem>
      <listitem>
	<para>Comment configurer PPP int&eacute;gr&eacute; au
	  noyau.</para>
      </listitem>
      <listitem>
	<para>Comment configurer <acronym>PPPoE</acronym> (PPP sur
	  Ethernet).</para>
      </listitem>
      <listitem>
	<para>Comment configurer <acronym>PPPoA</acronym> (PPP sur
	  ATM).</para>
      </listitem>
      <listitem>
	<para>Comment configurer et utiliser un client et un serveur
	  SLIP.</para>
      </listitem>
    </itemizedlist>

    <indexterm id="ppp-ppp-user">
      <primary>PPP</primary>
      <secondary>PPP en mode utilisateur</secondary>
    </indexterm>
    <indexterm id="ppp-ppp-kernel">
      <primary>PPP</primary>
      <secondary>PPP int&eacute;gr&eacute; au noyau</secondary>
    </indexterm>
    <indexterm id="ppp-ppp-ethernet">
      <primary>PPP</primary>
      <secondary>sur Ethernet</secondary>
    </indexterm>

    <para>Avant de lire ce chapitre, vous devrez:</para>

    <itemizedlist>
      <listitem>
	<para>Etre familier avec la terminologie r&eacute;seau de
	base.</para>
      </listitem>
      <listitem>
	<para>Comprendre les bases, le but d'une connexion entrante
	  par modem, et PPP et/ou SLIP.</para>
      </listitem>
    </itemizedlist>

    <para>Vous pouvez vous demander quelle est la principale
      diff&eacute;rence entre PPP en mode utilisateur et PPP
      int&eacute;gr&eacute; au noyau.  La r&eacute;ponse est simple:
      PPP en mode utilisateur traite les donn&eacute;es entrantes et
      sortantes en dehors du noyau.  C'est couteux en terme de copie
      de donn&eacute;e entre le noyau et l'espace utilisateur mais
      permet l'impl&eacute;mentation de plus de fonctionnalit&eacute;s
      PPP.  PPP en mode utilisateur utilise le
      p&eacute;riph&eacute;rique <devicename>tun</devicename> pour
      communiquer avec le monde ext&eacute;rieur alors que PPP
      int&eacute;gr&eacute; au noyau utilise le
      p&eacute;riph&eacute;rique <devicename>ppp</devicename>.</para>

    <note>
      <para>Dans ce chapitre, le programme utilisateur PPP sera
      simplement appel&eacute; <application>ppp</application>,
      &agrave; moins qu'il faille explicitement faire la distinction
      entre lui et d'autres logiciels PPP comme
      <application>pppd</application>.  Sauf indications contraires,
      toutes les commandes mentionn&eacute;es dans ce chapitre doivent
      &ecirc;tre ex&eacute;cut&eacute;es par le super-utilisateur
      <username>root</username>.</para>
    </note>
  </sect1>

  <sect1 id="userppp">
    <title>Using User PPP ** Traduction en Cours **</title>
    <para></para>
  </sect1>

  <sect1 id="ppp">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Gennady B.</firstname>
	  <surname>Sorokopud</surname>
	  <contrib>Contribution originale de </contrib>
	</author>
	<author>
	  <firstname>Robert</firstname>
	  <surname>Huff</surname>
	</author>
      </authorgroup>
    </sect1info>

    <title>Utiliser PPP int&eacute;gr&eacute; au noyau</title>

    <sect2>
      <title>Configurer PPP int&eacute;gr&eacute; au noyau</title>
      <indexterm><primary>PPP</primary><secondary>PPP int&eacute;gr&eacute; au noyau</secondary></indexterm>

      <para>Avant de configurer PPP sur votre machine, v&eacute;rifiez
	que <command>pppd</command> est bien dans le r&eacute;pertoire
	<filename role="directory">/usr/sbin</filename> et que le
	r&eacute;pertoire <filename
	role="directory">/etc/ppp</filename> existe.</para>

      <para>La commande <command>pppd</command> peut fonctionner selon
	deux modes:</para>

      <orderedlist>
	<listitem>
	  <para>Comme &ldquo;client&rdquo; &mdash; si vous
	  d&eacute;sirez connecter votre machine au monde
	  ext&eacute;rieur via une liaison PPP s&eacute;rie ou un
	  modem.</para>
	</listitem>

        <indexterm><primary>PPP</primary><secondary>serveur</secondary></indexterm>
	<listitem>
	  <para>Comme &ldquo;serveur&rdquo; &mdash; si votre machine
	  est sur le r&eacute;seau, et sert &agrave; y connecter
	  d'autres ordinateurs avec PPP.</para>
	</listitem>
      </orderedlist>

      <para>Dans les deux cas, vous devrez renseigner un fichier
	d'options (<filename>/etc/ppp/options</filename> ou
	<filename>~/.ppprc</filename> si vous avez plus d'un
	utilisateur sur votre machine utilisant PPP).</para>

      <para>Vous aurez &eacute;galement besoin d'un logiciel
	&ldquo;modem/s&eacute;rie&rdquo; (de pr&eacute;f&eacute;rence
	<filename role="package">comms/kermit</filename>), pour
	appeler et &eacute;tablir la connexion avec la machine
	distante.</para>
    </sect2>

    <sect2>
      <sect2info>
	<authorgroup>
	  <author>
	    <firstname>Trev</firstname>
	    <surname>Roydhouse</surname>
	    <contrib>Bas&eacute; sur des informations fournies
	      par </contrib>
	    <!-- Trev.Roydhouse@f401.n711.z3.fidonet.org -->
	  </author>
	</authorgroup>
      </sect2info>

      <title>Utiliser <command>pppd</command> comme client</title>
      <indexterm><primary>PPP</primary><secondary>client</secondary></indexterm>
      <indexterm><primary>Cisco</primary></indexterm>
      <para>Le fichier <filename>/etc/ppp/options</filename> suivant
	pourrait &ecirc;tre utilis&eacute; pour se connecter &agrave; la
	liaison PPP d'un concentrateur Cisco:</para>

      <programlisting>crtscts         # contr&ocirc;le de flux mat&eacute;riel
modem           # liaison par modem
noipdefault     # adresse IP affect&eacute;e par le serveur PPP distant
                # si la machine distante ne vous donne pas d'adresse
                # IP lors de la n&eacute;gociation IPCP, retirez cette option
passive         # attendre les paquets LCP
domain ppp.foo.com      # mettre ici votre nom de domaine

:&lt;remote_ip&gt;    # mettre ici l'adresse IP de la machine PPP distante
                # elle servira &agrave; router des paquets via la liaison PPP
                # si vous n'avez pas pr&eacute;cis&eacute; l'option noipdefault
                # changez cette ligne en &lt;ip_locale&gt;:&lt;ip_distante&gt;

defaultroute    # mettre cette ligne si vous voulez que le serveur PPP soit
                # votre routeur par d&eacute;faut</programlisting>

      <para>Pour se connecter:</para>

      <indexterm><primary>kermit</primary></indexterm>
      <indexterm><primary>modem</primary></indexterm>
      <procedure>
	<step>
	  <para>Appelez la machine distante en utilisant
	    <application>kermit</application> (ou un autre programme
	    pour modem), puis entrez votre nom d'utilisateur et mot de
	    passe (ou ce qu'il faut pour activer PPP sur la machine
	    distante).</para>
	</step>

	<step>
	  <para>Quittez <application>kermit</application> (sans
	    raccrocher la ligne).</para>
	</step>

	<step>
	  <para>Entrez la commande suivante:</para>

	  <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen>

	  <para>Assurez-vous d'utiliser la vitesse et le nom de
	    p&eacute;riph&eacute;rique ad&eacute;quats.</para>
	</step>
      </procedure>

      <para>Votre ordinateur est maintenant connect&eacute; via PPP.
	Si la connection &eacute;choue, vous pouvez ajouter l'option
	<option>debug</option> au fichier
	<filename>/etc/ppp/options</filename>, et consulter les
	messages sur la console pour tracer le probl&egrave;me.</para>

      <para>La proc&eacute;dure <filename>/etc/ppp/pppup</filename>
	ci-dessous effectuera automatiquement ces trois
	&eacute;tapes:</para>

      <programlisting>#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de pppd, PID=' ${pid}
        kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de kermit, PID=' ${pid}
        kill -9 ${pid}
fi

ifconfig ppp0 down
ifconfig ppp0 delete

kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200</programlisting>

      <indexterm><primary>kermit</primary></indexterm>
      <para><filename>/etc/ppp/kermit.dial</filename> est une
	proc&eacute;dure <application>kermit</application> qui appelle
	et fournit toutes les informations d'authentification
	n&eacute;cessaires &agrave; la machine distante (un exemple
	d'une telle proc&eacute;dure est donn&eacute; &agrave; la fin de
	ce document).</para>

      <para>Utilisez la proc&eacute;dure
	<filename>/etc/ppp/pppdown</filename> suivante pour terminer
	la session PPP et vous d&eacute;connecter:</para>

      <programlisting>#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
        echo 'arr&ecirc;t de pppd, PID=' ${pid}
        kill -TERM ${pid}
fi

ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de kermit, PID=' ${pid}
        kill -9 ${pid}
fi

/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptest</programlisting>

      <para>V&eacute;rifiez si <command>pppd</command> tourne toujours
	en lan&ccedil;ant la proc&eacute;dure
	<filename>/usr/etc/ppp/ppptest</filename>, qui devrait
	ressembler &agrave; ceci:</para>

      <programlisting>#!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
        echo 'pppd actif: PID=' ${pid-NONE}
else
        echo 'Pas de pppd en cours d'ex&eacute;cution.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0</programlisting>

      <para>Pour racccrocher la ligne, ex&eacute;cutez
	<filename>/etc/ppp/kermit.hup</filename>, qui devrait
	contenir:</para>

      <programlisting>set line /dev/tty01	; mettre ici le p&eacute;riph&eacute;rique pour votre modem
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none

pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exit</programlisting>

      <para>Voici une autre m&eacute;thode qui utilise
	<command>chat</command> au lieu de
	<command>kermit</command>.</para>

      <para>Les deux fichiers suivants suffisent &agrave;
	&eacute;tablir une connexion avec
	<command>pppd</command>.</para>

      <para><filename>/etc/ppp/options</filename>:</para>

      <programlisting>/dev/cuaa1 115200

crtscts		# contr&ocirc;le de flux mat&eacute;riel
modem		# liaison par modem
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault	# adresse IP affect&eacute;e par le serveur PPP distant
	        # si la machine distante ne vous donne pas d'adresse
	        # IP lors de la n&eacute;gociation IPCP, retirer cette option
passive	        # attendre les paquets LCP
domain &lt;your.domain&gt;	# mettre ici votre nom de domaine

:	        # mettre ici l'adresse IP de la machine PPP distante
	        # elle servira &agrave; router des paquets via la liaison PPP
	        # si vous n'avez pas pr&eacute;cis&eacute; l'option noipdefault
	        # modifier cette ligne en &lt;ip_locale&gt;:&lt;ip_distante&gt;

defaultroute	# mettre cette ligne si vous voulez que le serveur PPP soit
	        # votre routeur par d&eacute;faut</programlisting>

      <para><filename>/etc/ppp/login.chat.script</filename>:</para>

      <note>
	<para>Ce qui suit doit &ecirc;tre tap&eacute; sur une seule
	  ligne.</para>
      </note>

      <programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT&lt;num&eacute;ro_de_t&eacute;l&eacute;phone&gt;
  CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: &lt;nom_d_utilisateur&gt;
  TIMEOUT 5 sword: &lt;mot_de_passe&gt;</programlisting>

      <para>Une fois que ces fichiers sont install&eacute;s et
	correctement modifi&eacute;s, tout ce dont vous avez besoin de
	faire est de lancer <command>pppd</command>, comme
	suit:</para>

      <screen>&prompt.root; <userinput>pppd</userinput></screen>
    </sect2>

    <sect2>
      <title>Utiliser <command>pppd</command> comme serveur</title>

      <para>Le contenu du fichier
	<filename>/etc/ppp/options</filename> devrait &ecirc;tre
	semblable &agrave; ce qui suit:</para>

      <programlisting>crtscts                         # contr&ocirc;le de flux mat&eacute;riel
netmask 255.255.255.0           # masque de sous-r&eacute;seau (facultatif)
192.114.208.20:192.114.208.165  # adresses IP des machines locales et distantes
                                # l'adresse locale ne doit pas &ecirc;tre la m&ecirc;me que
                                # celle que vous avez assign&eacute;e &agrave; l'interface
                                # Ethernet (ou autre) de la machine.
                                # l'adresse IP de la machine distante est
                                # l'adresse IP qui lui sera affect&eacute;e
domain ppp.foo.com              # votre nom de domaine
passive                         # attendre LCP
modem                           # liaison modem</programlisting>

      <para>La proc&eacute;dure <filename>/etc/ppp/pppserv</filename>
	ci-dessous demandera &agrave; <application>pppd</application>
	de se comporter comme un serveur:</para>

      <programlisting>#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de pppd, PID=' ${pid}
        kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de kermit, PID=' ${pid}
        kill -9 ${pid}
fi

# r&eacute;initialiser l'interface ppp
ifconfig ppp0 down
ifconfig ppp0 delete

# activer le mode r&eacute;ponse automatique
kermit -y /etc/ppp/kermit.ans

# lancer ppp
pppd /dev/tty01 19200</programlisting>

      <para>Utilisez cette proc&eacute;dure
	<filename>/etc/ppp/pppservdown</filename> pour arr&ecirc;ter
	le serveur:</para>

      <programlisting>#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de pppd, PID=' ${pid}
        kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'arr&ecirc;t de kermit, PID=' ${pid}
        kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete

kermit -y /etc/ppp/kermit.noans</programlisting>

      <para>La proc&eacute;dure <application>kermit</application>
	ci-dessous (<filename>/etc/ppp/kermit.ans</filename>) activera
	ou d&eacute;sactivera le mode r&eacute;ponse automatique de
	votre modem:</para>

      <programlisting>set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none

pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13   ; remplacer cela par ATS0=0\13 si vous voulez d&eacute;sactiver
                ; le mode r&eacute;ponse automatique
inp 5 OK
echo \13
exit</programlisting>

      <para>Une proc&eacute;dure nomm&eacute;e
	<filename>/etc/ppp/kermit.dial</filename> est utilis&eacute;e
	pour appeler et s'authentifier sur la machine distante.  Vous
	devrez l'adapter &agrave; vos besoins.  Mettez-y votre nom
	d'utilisateur et votre mot de passe; vous devrez
	&eacute;galement modifier les entr&eacute;es en fonctions des
	r&eacute;ponses que vous envoient votre modem et la machine
	distante.</para>

      <programlisting>;
; mettre ici la liaison s&eacute;rie &agrave; laquelle est raccord&eacute; le modem:
;
set line /dev/tty01
;
; mettre ici la vitesse du modem:
;
set speed 19200
set file type binary            ; transfert 8 bits
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto                ; puis SET CARRIER si n&eacute;cessaire,
set dial display on             ; puis SET DIAL si n&eacute;cessaire,
set input echo on
set input timeout proceed
set input case ignore
def \%x 0                       ; compteur d'ouverture de session
goto slhup

:slcmd                          ; mettre le modem en mode commande
echo Put the modem in command mode.
clear                           ; vider le tampon d'entr&eacute;e
pause 1
output +++                      ; s&eacute;quence d'&eacute;chappement Hayes
input 1 OK\13\10                ; attendre OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd              ; si le modem ne r&eacute;pond pas OK, r&eacute;essayer

:slhup                          ; raccrocher la ligne
clear                           ; vider le tampon d'entr&eacute;e
pause 1
echo Hanging up the phone.
output ath0\13                  ; commande Hayes pour raccrocher
input 2 OK\13\10
if fail goto slcmd              ; si pas de r&eacute;ponse OK, passer le modem en mode commande

:sldial                         ; composer le num&eacute;ro
pause 1
echo Dialing.
output atdt9,550311\13\10       ; mettre ici le num&eacute;ro de t&eacute;l&eacute;phone
assign \%x 0                    ; mettre le compteur &agrave; z&eacute;ro

:look
clear                           ; vider le tampon d'entr&eacute;e
increment \%x                   ; compter les secondes
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup

:sllogin                        ; ouverture de session
assign \%x 0                    ; mettre le compteur &agrave; z&eacute;ro
pause 1
echo Looking for login prompt.

:slloop
increment \%x                   ; compter les secondes
clear                           ; vider le tampon d'entr&eacute;e
output \13
;
; put your expected login prompt here:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop         ; essayer 10 fois d'obtenir une invite de session
else goto slhup                 ; raccrocher et recommencer apr&egrave;s 10 &eacute;checs

:sluid
;
; mettre ici votre nom d'utilisateur:
;
output nom-d-utilisateur-ppp\13
input 1 {Password: }
;
; mettre ici votre mot de passe:
;
output mot-de-passe-ppp\13
input 1 {Entering SLIP mode.}
echo
quit

:slnodial
echo \7Pas de tonalit&eacute;.  V&eacute;rifiez votre ligne t&eacute;l&eacute;phonique!\7
exit 1

; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:</programlisting>
    </sect2>
  </sect1>

  <sect1 id="pppoe">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Jim</firstname>
	  <surname>Mock</surname>
	  <contrib>Contribution de (d'apr&egrave;s
	    http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html)</contrib>
	</author>
      </authorgroup>
      <!-- 10 Jan 2000 -->
    </sect1info>

    <title>Utiliser PPP sur Ethernet (PPPoE)</title>
    <indexterm><primary>PPP</primary><secondary>sur Ethernet</secondary></indexterm>
    <indexterm>
      <primary>PPPoE</primary>
      <see>PPP, sur Ethernet</see>
    </indexterm>

    <para>Cette section d&eacute;crit comment configurer PPP sur Ethernet
      (<acronym>PPPoE</acronym>).</para>

    <sect2>
      <title>Configuration du noyau</title>

      <para>Il n'est plus du tout n&eacute;cessaire de configurer le
	noyau pour utiliser PPPoE.  Si le support netgraph
	n&eacute;cessaire n'est pas compil&eacute; dans le noyau, il
	sera charg&eacute; dynamiquement par
	<application>ppp</application>.</para>
    </sect2>

    <sect2>
      <title>Renseigner <filename>ppp.conf</filename></title>

      <para>Voici un exemple de fichier <filename>ppp.conf</filename>
	op&eacute;rationnel:</para>

      <programlisting>default:
  set log Phase tun command # vous pouvez d&eacute;tailler plus les traces si vous le d&eacute;sirez
  set ifaddr 10.0.0.1/0 10.0.0.2/0

nom_du_fournisseur_d'acc&egrave;s:
  set device PPPoE:<replaceable>xl1</replaceable> # remplacez xl1 par votre p&eacute;riph&eacute;rique Ethernet
  set authname VOTRENOMDUTILISATEUR
  set authkey VOTREMOTDEPASSE
  set dial
  set login
  add default HISADDR</programlisting>
    </sect2>

    <sect2>
      <title>Ex&eacute;cuter <application>ppp</application></title>

      <para>En tant que <username>root</username>, vous pouvez
	lancer:</para>

      <screen>&prompt.root; <userinput>ppp -ddial nom_du_fournisseur_d'acc&egrave;s</userinput></screen>
    </sect2>

    <sect2>
      <title>Lancer <application>ppp</application> au
	d&eacute;marrage</title>

      <para>Ajoutez ce qui suit &agrave; votre fichier
	<filename>/etc/rc.conf</filename>:</para>

      <programlisting>ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"	# si vous voulez activer NAT pour votre r&eacute;seau local, sinon NO
ppp_profile="nom_du_fournisseur_d'acc&egrave;s"</programlisting>
    </sect2>

    <sect2>
      <title>Utilisation d'une &eacute;tiquette de service PPPoE</title>

      <para>Parfois il sera n&eacute;cessaire d'utiliser une
	&eacute;tiquette de service pour &eacute;tablir votre
	connexion.  Les &eacute;tiquettes de service sont
	employ&eacute;es pour faire la distinction entre
	diff&eacute;rents serveurs PPPoE attach&eacute;s &agrave; un
	r&eacute;seau donn&eacute;.</para>

      <para>Vous devez avoir l'information concernant
	l'&eacute;tiquette de service dans la documentation fournie
	par votre fournisseur d'acc&egrave;s.  Si vous ne pouvez la
	trouver, contactez le support technique de votre fournisseur
	d'acc&egrave;s Internet.</para>

      <para>En dernier ressort, vous pourrez essayer la m&eacute;thode
	sugg&eacute;r&eacute;e par le programme <ulink
	url="http://www.roaringpenguin.com/pppoe/">Roaring Penguin
	PPPoE</ulink> qui peut-&ecirc;tre trouv&eacute; dans le <link
	linkend="ports">catalogue des logiciels port&eacute;s</link>.
	Gardez cependant &agrave; l'esprit, que cela peut
	d&eacute;programmer votre modem et le rendre inutilisable,
	aussi r&eacute;fl&eacute;chissez &agrave; deux fois avant de
	le faire.  Installez simplement le logiciel fourni avec le
	modem par votre fournisseur d'acc&egrave;s.  Ensuite
	acc&eacute;dez au menu <guimenu>Syst&egrave;me</guimenu> du
	programme.  Le nom de votre profil devrait y figurer.  C'est
	habituellement le nom du <emphasis>FAI</emphasis>.</para>

      <para>Le nom du profil (&eacute;tiquette de service) sera
	utilis&eacute; dans l'entr&eacute;e de configuration PPPoE
	dans le fichier <filename>ppp.conf</filename> dans la partie
	fournisseur d'acc&egrave;s de la commande <command>set
	device</command> (voir la page de manuel &man.ppp.8; pour plus
	de d&eacute;tails).  Cela devrait ressembler &agrave;
	ceci:</para>

      <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>FAI</replaceable></programlisting>

      <para>N'oubliez pas de changer <replaceable>xl1</replaceable>
	pour le p&eacute;riph&eacute;rique correct correspondant
	&agrave; votre carte Ethernet.</para>

      <para>N'oubliez pas de changer <replaceable>FAI</replaceable>
	par le profil que vous avez d&eacute;termin&eacute;
	ci-dessus.</para>

      <para>Pour une information suppl&eacute;mentaire,
	consultez:</para>

      <itemizedlist>
	<listitem>
	  <para><ulink
	    url="http://renaud.waldura.com/doc/freebsd/pppoe/">Cheaper
	    Broadband with FreeBSD on DSL</ulink> par Renaud
	    Waldura.</para>
	</listitem>

	<listitem>
	  <para><ulink
	    url="http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html">
	    Nutzung von T-DSL und T-Online mit FreeBSD</ulink>
	    par Udo Erdelhoff (en allemand).</para>
	</listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="ppp-3com">

      <title>PPPoE avec un modem ADSL &tm.3com; <trademark class="registered">HomeConnect</trademark> Dual Link</title>

      <para>Ce modem ne respecte pas la <ulink
	url="http://www.faqs.org/rfcs/rfc2516.html">RFC 2516</ulink>
	(<emphasis>A Method for transmitting PPP over Ethernet
	(PPPoE)</emphasis>, r&eacute;dig&eacute;e par L. Mamakos, K.
	Lidl, J. Evarts, D. Carrel, D. Simone, et R. Wheeler).  Au
	lieu de cela des codes diff&eacute;rents pour les types de
	paquets sont utilis&eacute;s pour les frames Ethernet.
	Veuillez vous plaindre aupr&egrave;s de <ulink
	url="http://www.3com.com/">3Com</ulink> si vous pensez que le
	modem devrait respecter la sp&eacute;cification PPPoE.</para>

      <para>Afin de permettre &agrave; &os; de communiquer avec ce
	p&eacute;riph&eacute;rique, un param&egrave;tre sysctl doit
	&ecirc;tre configur&eacute;.  Cela peut &ecirc;tre
	effectu&eacute; de mani&egrave;re automatique au
	d&eacute;marrage en renseignant le fichier
	<filename>/etc/sysctl.conf</filename>:</para>

      <programlisting>net.graph.nonstandard_pppoe=1</programlisting>

      <para>ou peut &ecirc;tre param&eacute;tr&eacute; pour prendre
	imm&eacute;diatement effet avec la commande <command>sysctl
	net.graph.nonstandard_pppoe=1</command>.</para>

      <para>Malheureusement, parce que c'est un param&eacute;trage
	concernant l'int&eacute;gralit&eacute; du syt&egrave;me, il
	n'est pas possible de communiquer en m&ecirc;me temps avec un
	client ou un serveur PPPoE normal et un modem ADSL &tm.3com;
	<trademark class="registered">HomeConnect</trademark>.</para>
    </sect2>
  </sect1>

  <sect1 id="pppoa">
    <title>Utiliser <application>PPP</application> sur ATM (PPPoA)</title>
    <indexterm><primary>PPP</primary><secondary>sur ATM</secondary></indexterm>
    <indexterm>
      <primary>PPPoA</primary>
      <see>PPP, sur ATM</see>
    </indexterm>

    <para>Ce qui suit d&eacute;crit comment configurer PPP sur ATM
      (PPPoA).  PPPoA est tr&egrave;s populaire parmi les fournisseurs
      d'acc&egrave;s DSL europ&eacute;ens.</para>

    <sect2>
      <title>Utiliser PPPoA avec le modem Alcatel &speedtouch;
	USB</title>

      <para>Le support PPPoA pour ce p&eacute;riph&eacute;rique est
	fourni sous la forme d'un logiciel port&eacute; sous &os; car
	le &ldquo;firmware&rdquo; est distribu&eacute; sous l'<ulink
	url="http://www.speedtouchdsl.com/disclaimer_lx.htm">accord de
	license d'Alcatel</ulink> et ne peut &ecirc;tre
	redistribu&eacute; librement avec le syst&egrave;me de base de
	&os;.</para>

      <para>Pour installer le logiciel, utilisez simplement le <link
	linkend="ports">catalogue des logiciels port&eacute;s</link>.
	Installez le logiciel port&eacute; <filename
	role="package">net/pppoa</filename> et suivez les instructions
	fournies avec.</para>

      <para>Comme de nombreux p&eacute;riph&eacute;riques, le modem
	USB Alcatel &speedtouch; a besoin de charger un
	&ldquo;firmware&rdquo; &agrave; partir de l'ordinateur
	h&ocirc;te pour op&eacute;rer correctement.  Il est possible
	d'automatiser ce processus sous &os; de mani&egrave;re
	&agrave; ce que ce transfert ait lieu d&egrave;s que le
	p&eacute;riph&eacute;rique est branch&eacute; dans un port
	USB.  L'information suivante peut &ecirc;tre ajout&eacute;e au
	fichier <filename>/etc/usbd.conf</filename> pour autoriser ce
	transfert automatique de &ldquo;firmware&rdquo;.  Ce fichier
	doit &ecirc;tre &eacute;dit&eacute; en tant que
	super-utilisateur.</para>

      <programlisting>device "Alcatel SpeedTouch USB"
    devname "ugen[0-9]+"
    vendor 0x06b9
    product 0x4061
    attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"</programlisting>

      <para>Pour activer le &ldquo;daemon&rdquo; USB,
	<application>usbd</application>, ajoutez la ligne suivante
	dans le fichier <filename>/etc/rc.conf</filename>:</para>

      <programlisting>usbd_enable="YES"</programlisting>

      <para>Il est &eacute;galement possible de param&eacute;trer
	<application>ppp</application> pour se connecter au
	d&eacute;marrage.  Pour cela ajoutez les lignes suivantes au
	fichier <filename>/etc/rc.conf</filename>.  Encore une fois,
	vous devrez &ecirc;tre attach&eacute; sous l'utilisateur
	<username>root</username> pour effectuer ces ajouts.</para>

      <programlisting>ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"</programlisting>

      <para>Pour que cela fonctionne correctement, vous devrez
	utiliser le fichier d'exemple <filename>ppp.conf</filename>
	qui est fourni avec le logiciel port&eacute; <filename
	role="package">net/pppoa</filename>.</para>
    </sect2>

    <sect2>
      <title>Utiliser mpd</title>

      <para>Vous pouvez utiliser <application>mpd</application> pour
	vous connecter &agrave; diff&eacute;rents services, en
	particulier aux services PPTP.  Vous trouverez
	<application>mpd</application> dans le catalogue des logiciels
	port&eacute;s, <filename role="package">net/mpd</filename>.
	De nombreux modems ADSL demandent &agrave; ce qu'un tunnel
	PPTP soit cr&eacute;&eacute; entre le modem et l'ordinateur,
	le &speedtouch; Home d'Alcatel en fait partie.</para>

      <para>Vous devez tout d'abord installer le logiciel
	port&eacute;, encuite vous pouvez configurer
	<application>mpd</application> selon vos besoins et les
	param&egrave;tres propres au fournisseur d'acc&egrave;s.  Le
	logiciel port&eacute; place un ensemble de fichiers de
	configuration tr&egrave;s bien comment&eacute;s dans le
	r&eacute;pertoire <filename
	role="directory"><replaceable>PREFIX</replaceable>/etc/mpd/</filename>.
	Notez qu'ici <replaceable>PREFIX</replaceable>
	repr&eacute;sente le r&eacute;pertoire dans lequel les
	logiciels port&eacute;s sont install&eacute;s, par
	d&eacute;faut le r&eacute;pertoire <filename
	role="directory">/usr/local/</filename>.  Un guide complet
	pour la configuration de <application>mpd</application> est
	disponible dans le format HTML, une fois que le logiciel a
	&eacute;t&eacute; install&eacute;.  Il se trouve dans le
	r&eacute;pertoire <filename
	role="directory"><replaceable>PREFIX</replaceable>/share/mpd/</filename>.
	Voici un exemple de configuration pour se connecter &agrave;
	un service ADSL &agrave; l'aide de
	<application>mpd</application>.  La configuration est
	s&eacute;par&eacute;e en deux fichiers, le premier est
	<filename>mpd.conf</filename>:</para>

      <programlisting>default:
    load adsl

adsl:
    new -i ng0 adsl adsl
    set bundle authname <replaceable>username</replaceable> <co
    id="co-mpd-ex-user">
    set bundle password <replaceable>password</replaceable> <co
    id="co-mpd-ex-pass">
    set bundle disable multilink

    set link no pap acfcomp protocomp
    set link disable chap
    set link accept chap
    set link keep-alive 30 10

    set ipcp no vjcomp
    set ipcp ranges 0.0.0.0/0 0.0.0.0/0

    set iface route default
    set iface disable on-demand
    set iface enable proxy-arp
    set iface idle 0

    open</programlisting>

      <calloutlist>
	<callout arearefs="co-mpd-ex-user">
	  <para>Le nom d'utilisateur utilis&eacute; pour vous identifier
	    aupr&egrave;s de votre FAI.</para>
	</callout>
	<callout arearefs="co-mpd-ex-pass">
	  <para>Le mot de passe utilis&eacute; pour vous identifier
	    aupr&egrave;s de votre FAI.</para>
	</callout>
      </calloutlist>

      <para>Le fichier <filename>mpd.links</filename> contient les
	informations concernant la liaison, ou les liaisons, que vous
	souhaitez &eacute;tablir.  En exemple de fichier
	<filename>mpd.links</filename> accompagnant l'exemple
	pr&eacute;c&eacute;dent est donn&eacute; ci-dessous:</para>

      <programlisting>adsl:
    set link type pptp
    set pptp mode active
    set pptp enable originate incoming outcall
    set pptp self <replaceable>10.0.0.1</replaceable> <co
    id="co-mpd-ex-self">
    set pptp peer <replaceable>10.0.0.138</replaceable> <co
    id="co-mpd-ex-peer"></programlisting>

      <calloutlist>
	<callout arearefs="co-mpd-ex-self">
	  <para>L'adresse IP de la machine &os; &agrave; partir de
	    laquelle vous utiliserez
	    <application>mpd</application>.</para>
	</callout>
	<callout arearefs="co-mpd-ex-peer">
	  <para>L'adresse IP de votre modem ADSL.  Pour le
	    &speedtouch; Home d'Alcatel cette adresse est par
	    d&eacute;faut <hostid
	    role="ipaddr">10.0.0.138</hostid>.</para>
	</callout>
      </calloutlist>

      <para>Il est possible d'initialiser ais&eacute;ment une
	connexion en tapant la commande suivante en tant que
	<username>root</username>:</para>

      <screen>&prompt.root; <userinput>mpd -b <replaceable>adsl</replaceable></userinput></screen>

      <para>Vous pouvez voir quel est l'&eacute;tat de votre connexion
	&agrave; l'aide de la commande suivante:</para>

      <screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput>
ng0: flags=88d1&lt;UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST&gt; mtu 1500
     inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff</screen>

      <para>L'utilisation de <application>mpd</application> est la
	m&eacute;thode recommand&eacute;e de connexion &agrave; un
	service ADSL sous &os;.</para>
    </sect2>

    <sect2>
      <title>Utiliser pptpclient</title>

      <para>Il est &eacute;galement possible d'utiliser &os; pour se
	connecter &agrave; d'autres service PPPoA en utilisant
	<filename role="package">net/pptpclient</filename>.</para>

      <para>Pour utiliser <filename
	role="package">net/pptpclient</filename> pour vous connecter
	&agrave; un service DSL, installez le logiciel port&eacute; ou
	le paquetage correspondand et editez votre fichier
	<filename>/etc/ppp/ppp.conf</filename>.  Vous aurez besoin des
	droits de super-utilisateur pour effectuer ces deux
	op&eacute;rations.  Un exemple de fichier
	<filename>ppp.conf</filename> est donn&eacute; plus bas.  Pour
	plus d'information sur les options du fichier
	<filename>ppp.conf</filename>, consultez la page de manuel de
	<application>ppp</application>, &man.ppp.8;.</para>

      <programlisting>adsl:
 set log phase chat lcp ipcp ccp tun command
 set timeout 0
 enable dns
 set authname <replaceable>username</replaceable> <co id="co-pptp-ex-user">
 set authkey <replaceable>password</replaceable> <co id="co-pptp-ex-pass">
 set ifaddr 0 0
 add default HISADDR</programlisting>

      <calloutlist>
	<callout arearefs="co-pptp-ex-user">
	  <para>Le nom d'utilisateur de votre compte chez le
	    fournisseur d'acc&egrave;s DSL.</para>
	</callout>
	<callout arearefs="co-pptp-ex-pass">
	  <para>Le mot de passe de votre compte.</para>
	</callout>
      </calloutlist>

      <warning>
	<para>Etant donn&eacute; que vous devez mettre le mot de passe
	  de votre compte en clair dans le fichier
	  <filename>ppp.conf</filename>, vous devez vous assurer que
	  personne d'autre ne puisse lire le contenu de ce fichier.  La
	  s&eacute;rie de commandes suivante s'assurera que ce fichier
	  n'est lisible que par <username>root</username>.
	  R&eacute;f&eacute;rez-vous aux pages de manuel de
	  &man.chmod.1; et &man.chown.8; pour plus
	  d'informations.</para>

	<screen>&prompt.root; <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput>
&prompt.root; <userinput>chmod 600 /etc/ppp/ppp.conf</userinput></screen>
      </warning>

      <para>Cela cr&eacute;era un tunnel pour une session PPP vers
	votre routeur DSL.  Les modems DSL Ethernet ont une adresse IP
	pour le r&eacute;seau local pr&eacute;-configur&eacute;e
	&agrave; laquelle vous vous connectez.  Dans le cas du modem
	&speedtouch; Home d'Alcatel cette adresse est <hostid
	role="ipaddr">10.0.0.138</hostid>.  La documentation de votre
	routeur devrait mentionner quelle adresse utilise votre
	p&eacute;riph&eacute;rique.  Pour cr&eacute;er le tunnel et
	d&eacute;marrer une session PPP ex&eacute;cutez la commande
	suivante:</para>

      <screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen>

      <tip>
	<para>Vous pourrez ajouter un &ldquo;et commercial&rdquo;
	  (&ldquo;&amp;&rdquo;) &agrave; la fin de la commande
	  pr&eacute;c&eacute;dente car sinon
	  <application>pptp</application> ne vous rendra pas la
	  main.</para>
      </tip>
	  
      <para>Un p&eacute;riph&eacute;rique virtuel de tunnel
	(<devicename>tun</devicename>) sera cr&eacute;&eacute; pour la
	communication entre les processus
	<application>pptp</application> et
	<application>ppp</application>.  Une fois
	r&eacute;tourn&eacute; &agrave; l'invite, ou que le processus
	<application>pptp</application> a confirm&eacute; la
	connexion, vous pouvez examiner le tunnel de cette
	mani&egrave;re:</para>

      <screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput>
tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
        inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
        Opened by PID 918</screen>

      <para>Si vous n'&ecirc;tes pas en mesure de vous connecter,
	v&eacute;rifiez la configuration de votre routeur qui est
	g&eacute;n&eacute;ralement accessible par
	<application>telnet</application> ou avec un navigateur web.
	Si le probl&egrave;me persiste, vous devrez examiner la sortie
	de la commande <command>pptp</command> et le contenu du
	fichier de trace de <application>ppp</application>,
	<filename>/var/log/ppp.log</filename> &agrave; la recherche
	d'indices.</para>
    </sect2>
  </sect1>

  <sect1 id="slip">
    <title>Using SLIP ** Traduction en Cours **</title>
    <para></para>
  </sect1>
</chapter>

<!-- 
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
