doc/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
Gabor Kovesdan a6684b4306 - Reduce the misuse of role attribute; role="directory" should actually be
class="directory"
- Add constraint to enforce this
2013-04-04 11:40:58 +00:00

2047 lines
69 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.169
-->
<chapter id="ppp-and-slip">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Restructuré, réorganisé, et mis &agrave;
jour par </contrib>
<!-- 1 Mar 2000 -->
</author>
</authorgroup>
</chapterinfo>
<title>PPP et SLIP</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çons pour relier un
ordinateur &agrave; un autre. Pour mettre en place un
réseau ou établir une connexion Internet par
l'intermédiaire d'un modem, ou pour autoriser d'autres
&agrave; le faire par votre intermédiaire, il est
nécessaire d'utiliser PPP ou SLIP. Ce chapitre
décrit la configuration en détail de ces services
de communication par modem.</para>
<para>Aprè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égré 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égré 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é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érence entre PPP en mode utilisateur et PPP
intégré au noyau. La réponse est simple:
PPP en mode utilisateur traite les données entrantes et
sortantes en dehors du noyau. C'est coûteux en terme de copie
de donnée entre le noyau et l'espace utilisateur mais
permet l'implémentation de plus de fonctionnalités
PPP. PPP en mode utilisateur utilise le
périphérique <devicename>tun</devicename> pour
communiquer avec le monde extérieur alors que PPP
intégré au noyau utilise le
périphérique <devicename>ppp</devicename>.</para>
<note>
<para>Dans ce chapitre, le programme utilisateur PPP sera
simplement appelé <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ées dans ce chapitre doivent
être exécuté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égré au noyau</title>
<sect2>
<title>Configurer PPP intégré au noyau</title>
<indexterm><primary>PPP</primary><secondary>PPP intégré au noyau</secondary></indexterm>
<para>Avant de configurer PPP sur votre machine, vérifiez
que <command>pppd</command> est bien dans le répertoire
<filename class="directory">/usr/sbin</filename> et que le
répertoire <filename
class="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ésirez connecter votre machine au monde
extérieur via une liaison PPP série ou un
modem.</para>
</listitem>
<listitem>
<indexterm><primary>PPP</primary><secondary>serveur</secondary></indexterm>
<para>Comme &ldquo;serveur&rdquo; &mdash; si votre machine
est sur le ré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 également besoin d'un logiciel
&ldquo;modem/série&rdquo; (de préférence
<filename role="package">comms/kermit</filename>), pour
appeler et établir la connexion avec la machine
distante.</para>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Trev</firstname>
<surname>Roydhouse</surname>
<contrib>Basé 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 être utilisé pour se connecter &agrave; la
liaison PPP d'un concentrateur Cisco:</para>
<programlisting>crtscts # contrôle de flux matériel
modem # liaison par modem
noipdefault # adresse IP affectée par le serveur PPP distant
# si la machine distante ne vous donne pas d'adresse
# IP lors de la né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écisé 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é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ériphérique adéquats.</para>
</step>
</procedure>
<para>Votre ordinateur est maintenant connecté via PPP.
Si la connexion é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ème.</para>
<para>La procédure <filename>/etc/ppp/pppup</filename>
ci-dessous effectuera automatiquement ces trois
é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ê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ê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édure <application>kermit</application> qui appelle
et fournit toutes les informations d'authentification
nécessaires &agrave; la machine distante (un exemple
d'une telle procédure est donné &agrave; la fin de
ce document).</para>
<para>Utilisez la procédure
<filename>/etc/ppp/pppdown</filename> suivante pour terminer
la session PPP et vous déconnecter:</para>
<programlisting>#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'arrê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ê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érifiez si <command>pppd</command> tourne toujours
en lançant la procé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écution.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0</programlisting>
<para>Pour raccrocher la ligne, exécutez
<filename>/etc/ppp/kermit.hup</filename>, qui devrait
contenir:</para>
<programlisting>set line /dev/tty01 ; mettre ici le périphé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éthode qui utilise
<command>chat</command> au lieu de
<command>kermit</command>.</para>
<para>Les deux fichiers suivants suffisent &agrave;
établir une connexion avec
<command>pppd</command>.</para>
<para><filename>/etc/ppp/options</filename>:</para>
<programlisting>/dev/cuaa1 115200
crtscts # contrôle de flux matériel
modem # liaison par modem
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # adresse IP affectée par le serveur PPP distant
# si la machine distante ne vous donne pas d'adresse
# IP lors de la né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écisé 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éfaut</programlisting>
<para><filename>/etc/ppp/login.chat.script</filename>:</para>
<note>
<para>Ce qui suit doit être tapé sur une seule
ligne.</para>
</note>
<programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT&lt;numéro_de_télé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és et
correctement modifié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 être
semblable &agrave; ce qui suit:</para>
<programlisting>crtscts # contrôle de flux matériel
netmask 255.255.255.0 # masque de sous-réseau (facultatif)
192.114.208.20:192.114.208.165 # adresses IP des machines locales et distantes
# l'adresse locale ne doit pas être la même que
# celle que vous avez assigné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ée
domain ppp.foo.com # votre nom de domaine
passive # attendre LCP
modem # liaison modem</programlisting>
<para>La procé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ê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êt de kermit, PID=' ${pid}
kill -9 ${pid}
fi
# réinitialiser l'interface ppp
ifconfig ppp0 down
ifconfig ppp0 delete
# activer le mode réponse automatique
kermit -y /etc/ppp/kermit.ans
# lancer ppp
pppd /dev/tty01 19200</programlisting>
<para>Utilisez cette procédure
<filename>/etc/ppp/pppservdown</filename> pour arrê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ê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ê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édure <application>kermit</application>
ci-dessous (<filename>/etc/ppp/kermit.ans</filename>) activera
ou désactivera le mode ré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ésactiver
; le mode réponse automatique
inp 5 OK
echo \13
exit</programlisting>
<para>Une procédure nommée
<filename>/etc/ppp/kermit.dial</filename> est utilisé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
également modifier les entrées en fonctions des
réponses que vous envoient votre modem et la machine
distante.</para>
<programlisting>;
; mettre ici la liaison série &agrave; laquelle est raccordé 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écessaire,
set dial display on ; puis SET DIAL si né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ée
pause 1
output +++ ; séquence d'é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épond pas OK, réessayer
:slhup ; raccrocher la ligne
clear ; vider le tampon d'entré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éponse OK, passer le modem en mode commande
:sldial ; composer le numéro
pause 1
echo Dialing.
output atdt9,550311\13\10 ; mettre ici le numéro de téléphone
assign \%x 0 ; mettre le compteur &agrave; zéro
:look
clear ; vider le tampon d'entré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 &lt; \%x 60 goto look
else goto slhup
:sllogin ; ouverture de session
assign \%x 0 ; mettre le compteur &agrave; zéro
pause 1
echo Looking for login prompt.
:slloop
increment \%x ; compter les secondes
clear ; vider le tampon d'entré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 &lt; \%x 10 goto slloop ; essayer 10 fois d'obtenir une invite de session
else goto slhup ; raccrocher et recommencer après 10 é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é. Vérifiez votre ligne télé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è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écrit comment configurer PPP sur Ethernet
(<acronym>PPPoE</acronym>).</para>
<sect2>
<title>Configuration du noyau</title>
<para>Il n'est plus du tout nécessaire de configurer le
noyau pour utiliser PPPoE. Si le support netgraph
nécessaire n'est pas compilé dans le noyau, il
sera chargé 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érationnel:</para>
<programlisting>default:
set log Phase tun command # vous pouvez détailler plus les traces si vous le désirez
set ifaddr 10.0.0.1/0 10.0.0.2/0
nom_du_fournisseur_d'accès:
set device PPPoE:<replaceable>xl1</replaceable> # remplacez xl1 par votre périphérique Ethernet
set authname VOTRENOMDUTILISATEUR
set authkey VOTREMOTDEPASSE
set dial
set login
add default HISADDR</programlisting>
</sect2>
<sect2>
<title>Exé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ès</userinput></screen>
</sect2>
<sect2>
<title>Lancer <application>ppp</application> au
dé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éseau local, sinon NO
ppp_profile="nom_du_fournisseur_d'accès"</programlisting>
</sect2>
<sect2>
<title>Utilisation d'une étiquette de service PPPoE</title>
<para>Parfois il sera nécessaire d'utiliser une
étiquette de service pour établir votre
connexion. Les étiquettes de service sont
employées pour faire la distinction entre
différents serveurs PPPoE attachés &agrave; un
réseau donné.</para>
<para>Vous devez avoir l'information concernant
l'étiquette de service dans la documentation fournie
par votre fournisseur d'accès. Si vous ne pouvez la
trouver, contactez le support technique de votre fournisseur
d'accès Internet.</para>
<para>En dernier ressort, vous pourrez essayer la méthode
suggérée par le programme <ulink
url="http://www.roaringpenguin.com/pppoe/">Roaring Penguin
PPPoE</ulink> qui peut-être trouvé dans le <link
linkend="ports">catalogue des logiciels portés</link>.
Gardez cependant &agrave; l'esprit, que cela peut
déprogrammer votre modem et le rendre inutilisable,
aussi réfléchissez &agrave; deux fois avant de
le faire. Installez simplement le logiciel fourni avec le
modem par votre fournisseur d'accès. Ensuite
accédez au menu <guimenu>Systè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 (étiquette de service) sera
utilisé dans l'entrée de configuration PPPoE
dans le fichier <filename>ppp.conf</filename> dans la partie
fournisseur d'accès de la commande <command>set
device</command> (voir la page de manuel &man.ppp.8; pour plus
de dé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ériphérique correct correspondant
&agrave; votre carte Ethernet.</para>
<para>N'oubliez pas de changer <replaceable>FAI</replaceable>
par le profil que vous avez déterminé
ci-dessus.</para>
<para>Pour une information supplé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édigée par L. Mamakos, K.
Lidl, J. Evarts, D. Carrel, D. Simone, et R. Wheeler). Au
lieu de cela des codes différents pour les types de
paquets sont utilisés pour les frames Ethernet.
Veuillez vous plaindre auprès de <ulink
url="http://www.3com.com/">3Com</ulink> si vous pensez que le
modem devrait respecter la spécification PPPoE.</para>
<para>Afin de permettre &agrave; &os; de communiquer avec ce
périphérique, un paramètre sysctl doit
être configuré. Cela peut être
effectué de manière automatique au
démarrage en renseignant le fichier
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>net.graph.nonstandard_pppoe=1</programlisting>
<para>ou peut être paramétré pour prendre
immédiatement effet avec la commande:</para>
<screen>&prompt.root; <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput></screen>
<para>Malheureusement, parce que c'est un paramétrage
concernant l'intégralité du système, il
n'est pas possible de communiquer en mê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écrit comment configurer PPP sur ATM
(PPPoA). PPPoA est très populaire parmi les fournisseurs
d'accès DSL européens.</para>
<sect2>
<title>Utiliser PPPoA avec le modem Alcatel &speedtouch;
USB</title>
<para>Le support PPPoA pour ce périphérique est
fourni sous la forme d'un logiciel porté sous &os; car
le &ldquo;firmware&rdquo; est distribué sous l'<ulink
url="http://www.speedtouchdsl.com/disclaimer_lx.htm">accord de
licence d'Alcatel</ulink> et ne peut être
redistribué librement avec le système de base de
&os;.</para>
<para>Pour installer le logiciel, utilisez simplement le <link
linkend="ports">catalogue des logiciels portés</link>.
Installez le logiciel porté <filename
role="package">net/pppoa</filename> et suivez les instructions
fournies avec.</para>
<para>Comme de nombreux périphériques, le modem
USB Alcatel &speedtouch; a besoin de charger un
&ldquo;firmware&rdquo; &agrave; partir de l'ordinateur
hôte pour opérer correctement. Il est possible
d'automatiser ce processus sous &os; de manière
&agrave; ce que ce transfert ait lieu dès que le
périphérique est branché dans un port
USB. L'information suivante peut être ajoutée au
fichier <filename>/etc/usbd.conf</filename> pour autoriser ce
transfert automatique de &ldquo;firmware&rdquo;. Ce fichier
doit être édité 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 également possible de paramétrer
<application>ppp</application> pour se connecter au
démarrage. Pour cela ajoutez les lignes suivantes au
fichier <filename>/etc/rc.conf</filename>. Encore une fois,
vous devrez être attaché 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é <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érents services, en
particulier aux services PPTP. Vous trouverez
<application>mpd</application> dans le catalogue des logiciels
portés, <filename role="package">net/mpd</filename>.
De nombreux modems ADSL demandent &agrave; ce qu'un tunnel
PPTP soit créé 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é, ensuite vous pouvez configurer
<application>mpd</application> selon vos besoins et les
paramètres propres au fournisseur d'accès. Le
logiciel porté place un ensemble de fichiers de
configuration très bien commentés dans le
répertoire <filename
class="directory"><replaceable>PREFIX</replaceable>/etc/mpd/</filename>.
Notez qu'ici <replaceable>PREFIX</replaceable>
représente le répertoire dans lequel les
logiciels portés sont installés, par
défaut le répertoire <filename
class="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
été installé. Il se trouve dans le
répertoire <filename
class="directory"><replaceable>PREFIX</replaceable>/share/doc/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éparé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é pour vous identifier
auprès de votre FAI.</para>
</callout>
<callout arearefs="co-mpd-ex-pass">
<para>Le mot de passe utilisé pour vous identifier
auprè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 établir. En exemple de fichier
<filename>mpd.links</filename> accompagnant l'exemple
précédent est donné ci-dessous:</para>
<programlisting>adsl:
set link type pptp
set pptp mode active
set pptp enable originate 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éfaut <hostid
role="ipaddr">10.0.0.138</hostid>.</para>
</callout>
</calloutlist>
<para>Il est possible d'initialiser aisé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'é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éthode recommandée de connexion &agrave; un
service ADSL sous &os;.</para>
</sect2>
<sect2>
<title>Utiliser pptpclient</title>
<para>Il est é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é ou
le paquetage correspondant et éditez votre fichier
<filename>/etc/ppp/ppp.conf</filename>. Vous aurez besoin des
droits de super-utilisateur pour effectuer ces deux
opérations. Un exemple de fichier
<filename>ppp.conf</filename> est donné 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è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é 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érie de commandes suivante s'assurera que ce fichier
n'est lisible que par <username>root</username>.
Réfé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éera un tunnel pour une session PPP vers
votre routeur DSL. Les modems DSL Ethernet ont une adresse IP
pour le réseau local pré-configuré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ériphérique. Pour créer le tunnel et
démarrer une session PPP exé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écédente car sinon
<application>pptp</application> ne vous rendra pas la
main.</para>
</tip>
<para>Un périphérique virtuel de tunnel
(<devicename>tun</devicename>) sera créé pour la
communication entre les processus
<application>pptp</application> et
<application>ppp</application>. Une fois
retourné &agrave; l'invite, ou que le processus
<application>pptp</application> a confirmé la
connexion, vous pouvez examiner le tunnel de cette
maniè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'êtes pas en mesure de vous connecter,
vérifiez la configuration de votre routeur qui est
généralement accessible par
<application>telnet</application> ou avec un navigateur web.
Si le problè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">
<sect1info>
<authorgroup>
<author>
<firstname>Satoshi</firstname>
<surname>Asami</surname>
<contrib>Contribution originale de </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Guy</firstname>
<surname>Helmer</surname>
<contrib>Avec la participation de </contrib>
</author>
<author>
<firstname>Piero</firstname>
<surname>Serini</surname>
</author>
</authorgroup>
</sect1info>
<title>Utiliser SLIP</title>
<indexterm><primary>SLIP</primary></indexterm>
<sect2 id="slipc">
<title>Configurer un client SLIP</title>
<indexterm><primary>SLIP</primary><secondary>client</secondary></indexterm>
<para>Ce qui suit décrit une manière de configurer
une machine &os; pour utiliser SLIP sur un réseau
où les noms de machine sont statiques. Si le nom de
machine est affecté dynamiquement (votre adresse change
&agrave; chaque connexion), vous devrez probablement utiliser
une méthode plus sophistiquée.</para>
<para>Tout d'abord, déterminez sur quel port série
votre modem est connecté. De nombreuses personnes
utilisent un lien symbolique, comme
<filename>/dev/modem</filename>, pour pointer vers le nom
réel du périphérique,
<filename>/dev/cuaaN</filename> (ou
<filename>/dev/cuadN</filename> sous &os;&nbsp;6.X). Ceci
vous permet de faire abstraction du véritable nom du
périphérique même si vous déplacez
le modem vers un autre port. Cela évite le
côté pénible de devoir modifier un certain
nombre de fichiers dans le répertoire <filename
class="directory">/etc</filename> et les fichiers
<filename>.kermrc</filename> pour l'ensemble du
système!</para>
<note>
<para><filename>/dev/cuaa0</filename> (ou
<filename>/dev/cuad0</filename> sous &os;&nbsp;6.X)
représente <devicename>COM1</devicename>,
<filename>cuaa1</filename> (ou
<filename>/dev/cuad1</filename>)
<devicename>COM2</devicename>, etc.</para>
</note>
<para>Assurez-vous d'avoir dans votre fichier de configuration
du noyau ce qui suit:</para>
<programlisting>device sl</programlisting>
<para>Sous &os;&nbsp;4.X, utilisez &agrave; la place la ligne
suivante:</para>
<programlisting>pseudo-device sl 1</programlisting>
<para>Cette configuration fait partie du noyau
<filename>GENERIC</filename>, aussi cela ne devrait pas
être un problème &agrave; moins que vous ne
l'ayez effacée.</para>
<sect3>
<title>Ce que vous n'aurez &agrave; faire qu'une seule
fois</title>
<procedure>
<step>
<para>Ajoutez votre machine, la passerelle et les serveurs
de noms de domaines &agrave; votre fichier
<filename>/etc/hosts</filename>. Le notre ressemble
&agrave; ceci:</para>
<programlisting>127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2</programlisting>
</step>
<step>
<para>Assurez-vous que <literal>hosts</literal>
apparaît avant <literal>bind</literal> dans votre
fichier <filename>/etc/host.conf</filename> sous les
versions de &os; antérieures &agrave; 5.0. Depuis
&os;&nbsp;5.0, le système utilise &agrave; la place
le fichier <filename>/etc/nsswitch.conf</filename>,
vérifiez que <literal>files</literal> est avant
<literal>dns</literal> dans la ligne
<literal>hosts</literal> de ce fichier. Sans ces
paramètres, il peut se passer des choses
bizarres.</para>
</step>
<step>
<para>Editez le fichier
<filename>/etc/rc.conf</filename>.</para>
<orderedlist>
<listitem>
<para>Définissez votre nom de machine en
éditant la ligne:</para>
<programlisting>hostname="myname.my.domain"</programlisting>
<para>Le nom Internet complet de la machine doit
être utilisé ici.</para>
</listitem>
<listitem>
<para>Ajoutez <devicename>sl0</devicename> &agrave; la
liste des interfaces réseau en modifiant la
ligne:</para>
<programlisting>network_interfaces="lo0"</programlisting>
<para>en:</para>
<programlisting>network_interfaces="lo0 sl0"</programlisting>
</listitem>
<listitem>
<para>Définissez les paramètres de
configuration de <devicename>sl0</devicename> en
ajoutant une ligne:</para>
<programlisting>ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"</programlisting>
</listitem>
<listitem>
<indexterm><primary>route par
défaut</primary></indexterm>
<para>Indiquez la passerelle par défaut en
modifiant la ligne:</para>
<programlisting>defaultrouter="NO"</programlisting>
<para>en:</para>
<programlisting>defaultrouter="slip-gateway"</programlisting>
</listitem>
</orderedlist>
</step>
<step>
<para>Créez un fichier
<filename>/etc/resolv.conf</filename> qui contient:</para>
<programlisting>domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12</programlisting>
<indexterm><primary>serveurs de noms de
domaines</primary></indexterm>
<indexterm><primary>nom de domaine</primary></indexterm>
<para>Comme vous pouvez le voir, ceci définit les
serveurs de noms de domaines. Bien entendu, les noms de
domaines et les adresses dépendront de votre
environnement.</para>
</step>
<step>
<para>Donnez des mots de passe pour les utilisateurs
<username>root</username> et <username>toor</username>
(et &agrave; tous les autres comptes qui n'auraient pas
de mot de passe).</para>
</step>
<step>
<para>Redémarrez votre machine et vérifiez
qu'elle a bien le nom voulu.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Etablir une connexion SLIP </title>
<indexterm>
<primary>SLIP</primary>
<secondary>se connecter avec</secondary>
</indexterm>
<procedure>
<step>
<para>Téléphonez, tapez
<command>slip</command> &agrave; l'invite, puis entrez
votre nom de machine et votre mot de passe. Ce que vous
devez entrer dépend de votre environnement. Si
vous utilisez <application>Kermit</application>, vous
pouvez essayer une procédure comme celle-ci:</para>
<programlisting># configuration kermit
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =&gt;, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0a</programlisting>
<para>Vous devez, bien évidemment, remplacer le nom
d'utilisateur et le mot de passe par les votre.
Après cela vous pouvez alors entrer simplement
<command>slip</command> &agrave; l'invite de
<application>Kermit</application> pour vous
connecter.</para>
<note>
<para>Conserver votre mot de passe en clair dans un
fichier quelconque est en général une
<emphasis>mauvaise</emphasis> idée. Faites-le
&agrave; vos risques et périls.</para>
</note>
</step>
<step>
<para>Laissez ensuite <application>Kermit</application>
tel quel (vous pouvez le mettre en arrière-plan
avec
<keycombo>
<keycap>Ctrl</keycap>
<keycap>z</keycap>
</keycombo>) et en tant que <username>root</username>,
tapez:</para>
<screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen>
<para>Si vous êtes en mesure d'envoyer un
<command>ping</command> vers des machines situées
de l'autre côté du routeur, c'est que vous
êtes connecté! Si cela ne fonctionne pas,
vous pouvez essayer l'option <option>-a</option> au lieu
de <option>-c</option> en argument de
<command>slattach</command>.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Comment couper la connexion</title>
<para>Effectuez ceci:</para>
<screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen>
<para>pour tuer <command>slattach</command>. Gardez &agrave;
l'esprit que vous devez avoir les droits du
super-utilisateur pour faire cela. Revenez ensuite sous
<command>kermit</command> (en tapant <command>fg</command>
si l'avez mis en tâche de fond) et quittez-le
(<keycap>q</keycap>).</para>
<para>La page de manuel de &man.slattach.8; dit que vous devez
employer la commande <command>ifconfig sl0 down</command>
pour indiquer que l'interface n'est plus active, mais cela
ne change apparemment rien (les diagnostics donnés
par la commande <command>ifconfig sl0</command> restent
identiques).</para>
<para>Il arrive que parfois que votre modem refuse de
raccrocher. Dans ce cas, relancez <command>kermit</command>
et quittez-le de nouveau. Cela fonctionne en
général &agrave; la seconde tentative.</para>
</sect3>
<sect3>
<title>Dépannage</title>
<para>Si cela ne fonctionne pas, n'hésitez pas &agrave;
contacter la liste de diffusion &a.net.name;. Voici les
problèmes que certains ont rencontré
jusqu'ici:</para>
<itemizedlist>
<listitem>
<para>Ne pas utiliser l'option <option>-c</option> ou
<option>-a</option> avec <command>slattach</command> (Cela
ne devrait pas poser de problème, mais des
utilisateurs ont signalé que l'utilisation de cet
indicateur a résolu leur problème).</para>
</listitem>
<listitem>
<para>Utiliser <option>s10</option> au lieu de
<option>sl0</option> (avec certaines polices de
caractères, il est parfois difficile de faire la
différence).</para>
</listitem>
<listitem>
<para>Essayez <command>ifconfig sl0</command> pour
connaître la configuration de votre interface.
Vous obtiendrez, par exemple:</para>
<screen>&prompt.root; <userinput>ifconfig sl0</userinput>
sl0: flags=10&lt;POINTOPOINT&gt;
inet 136.152.64.181 --&gt; 136.152.64.1 netmask ffffff00</screen>
</listitem>
<listitem>
<para>Si vous obtenez le message d'erreur <errorname>no
route to host</errorname> lors de l'utilisation de
&man.ping.8;, il se peut qu'il y ait un problème
avec votre table de routage. Vous pouvez utiliser la
commande <command>netstat -r</command> pour afficher les
routes actives:</para>
<screen>&prompt.root; <userinput>netstat -r</userinput>
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =&gt;
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)</screen>
<para>Les exemples précédents proviennent
d'un système relativement chargé. La
valeurs sur votre système varieront en fonction
de l'activité réseau.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="slips">
<title>Configurer un serveur SLIP</title>
<indexterm><primary>SLIP</primary>
<secondary>serveur</secondary></indexterm>
<para>Ce document donne des indications pour la mise en oeuvre
d'un serveur SLIP sur un système &os;, ce qui signifie
généralement configurer votre système
pour ouvrir automatiquement une connexion &agrave; l'ouverture
d'une session depuis un client SLIP distant.</para>
<!-- Disclaimer is not necessarily relevant
<para> The author has written this document based
on his experience; however, as your system and needs may be
different, this document may not answer all of your questions, and
the author cannot be responsible if you damage your system or lose
data due to attempting to follow the suggestions here.</para>
-->
<sect3 id="slips-prereqs">
<title>Prérequis</title>
<indexterm><primary>réseau TCP/IP</primary></indexterm>
<para>Cette section est très technique, il vous faut
donc quelques connaissances de base. On supposera que vous
connaissez le protocole réseau TCP/IP et, en
particulier, l'adressage des réseaux et des noeuds,
les masques de sous-réseau, les sous-réseaux,
le routage et les protocoles de routage tels que RIP. Ce
sont les concepts que vous devez maîtriser pour
configurer les services SLIP sur un serveur de connexions,
et si ce n'est pas le cas, veuillez lire <emphasis>TCP/IP
Network Administration</emphasis> de Craig Hunt chez
O'Reilly &amp; Associates, Inc. (ISBN 0-937175-82-X), ou les
ouvrages de Douglas Comer sur le protocole TCP/IP.</para>
<indexterm><primary>modem</primary></indexterm>
<para>On suppose également que vous avez
déj&agrave; installé vos modems et
configuré les fichiers systèmes
appropriés pour permettre l'ouverture de session via
vos modems. Si vous ne l'avez pas encore fait reportez-vous
&agrave; la <xref linkend="dialup"/> pour des informations sur
la configuration des connexions entrantes. Vous pouvez aussi
consulter les pages de manuel de &man.sio.4; pour plus
d'information sur le pilote du port série et
&man.ttys.5;, &man.gettytab.5;, &man.getty.8;, &amp; et
&man.init.8; en ce qui concerne la configuration du
système pour qu'il autorise les connexions en
provenance de modems, et peut-être la page de manuel
&man.stty.1; pour des informations sur le paramétrage
des ports série (comme <literal>clocal</literal> pour
les interfaces série directement
connectées).</para>
</sect3>
<sect3>
<title>Rapide vue d'ensemble</title>
<para>Une configuration typique d'utilisation de &os; comme
serveur SLIP fonctionne de la manière suivante: un
utilisateur SLIP appelle votre serveur SLIP &os; et ouvre
une session sous un identifiant utilisateur SLIP particulier
qui lance <filename>/usr/sbin/sliplogin</filename> comme
interpréteur de commandes. Le programme
<command>sliplogin</command> consulte le fichier
<filename>/etc/sliphome/slip.hosts</filename> &agrave; la
recherche d'une ligne correspondant &agrave; cet utilisateur
particulier, et s'il la trouve, connecte la ligne
série &agrave; une interface SLIP disponible et lance
ensuite la procédure
<filename>/etc/sliphome/slip.login</filename> pour
configurer cette interface SLIP.</para>
<sect4>
<title>Un exemple d'ouverture de session sur un serveur
SLIP</title>
<para>Par exemple, si <username>Shelmerg</username>
était un identifiant utilisateur SLIP,
l'entrée pour <username>Shelmerg</username>
ressemblerait &agrave; ceci:</para>
<programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting>
<para>Quand <username>Shelmerg</username> ouvre une session,
<command>sliplogin</command> consulte
<filename>/etc/sliphome/slip.hosts</filename> &agrave; la
recherche d'une ligne correspondant &agrave; l'identifiant
de l'utilisateur correspondant; par exemple, il peut y
avoir dans le fichier
<filename>/etc/sliphome/slip.hosts</filename> la
ligne:</para>
<programlisting>Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
<para><command>sliplogin</command> trouvera alors cette
ligne, affectera la ligne série &agrave;
l'interface SLIP suivante,et ensuite exécutera
<filename>/etc/sliphome/slip.login</filename> avec les
arguments suivants:</para>
<programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
<para>Si tous se passe bien,
<filename>/etc/sliphome/slip.login</filename>
exécutera un <command>ifconfig</command> sur
l'interface SLIP que s'est attribué
<command>sliplogin</command> (l'interface SLIP 0, dans
l'exemple ci-dessus, qui est le premier paramètre
passé &agrave; <filename>slip.login</filename>)
pour définir l'adresse IP locale
(<hostid>dc-slip</hostid>), l'adresse IP de la machine
distante (<hostid>sl-helmer</hostid>), le masque de
sous-réseau de l'interface SLIP (<hostid
role="netmask">0xfffffc00</hostid>), et tout autre
indicateur supplémentaire
(<literal>autocomp</literal>). Si quelque chose se passe
mal, <command>sliplogin</command> fournit en
général des messages d'information via la
fonctionnalité de trace du
<quote>démon</quote>
<application>syslogd</application>, qui les enregistre
habituellement dans le fichier
<filename>/var/log/messages</filename> (reportez-vous au
pages de manuel de &man.syslogd.8; et &man.syslog.conf.5;
et consultez peut-être aussi le fichier
<filename>/etc/syslog.conf</filename> pour voir ce que
trace <application>syslogd</application> et où il
enregistre ces messages.).</para>
</sect4>
</sect3>
<sect3>
<title>Configuration du noyau</title>
<indexterm>
<primary>noyau</primary>
<secondary>configuration</secondary>
</indexterm>
<indexterm><primary>SLIP</primary></indexterm>
<para>Le noyau par défaut de &os;
(<filename>GENERIC</filename>) fourni le support SLIP
(&man.sl.4;); dans le cas d'un noyau personnalisé,
vous devez ajouter la ligne suivante &agrave; votre fichier
de configuration du noyau:</para>
<programlisting>device sl</programlisting>
<para>Sous &os;&nbsp;4.X, utilisez la ligne suivante:</para>
<programlisting>pseudo-device sl 2</programlisting>
<note>
<para>Le chiffre en fin de ligne représente le nombre
maximum de connexions SLIP qui peuvent cohexister. Depuis
&os;&nbsp;5.0, le pilote &man.sl.4; est capable
d'<quote>auto-clonage</quote>.</para>
</note>
<para>Par défaut, votre machine &os; ne transmettra pas
les paquets. Si vous désirez que votre serveur SLIP
&os; agisse en routeur, vous devez éditer le fichier
<filename>/etc/rc.conf</filename> et positionner la variable
<literal>gateway_enable</literal> &agrave;
<option>YES</option>.</para>
<para>Vous devrez ensuite redémarrer pour que les
nouveaux paramètres prennent effet.</para>
<para>Veuillez vous référer &agrave; la <xref
linkend="kernelconfig"/> sur la configuration du noyau pour
de l'aide sur ce sujet.</para>
</sect3>
<sect3>
<title>Configuration de sliplogin</title>
<para>Comme indiqué plus haut, il y a trois fichiers
dans le répertoire <filename
class="directory">/etc/sliphome</filename> qui servent
&agrave; la configuration de
<filename>/usr/sbin/sliplogin</filename> (voyez
&man.sliplogin.8; pour avoir la page de manuel de
<command>sliplogin</command>):
<filename>slip.hosts</filename>, définit les
utilisateurs SLIP et les adresses IP qui leur sont
associées, <filename>slip.login</filename>, qui ne
fait en général que configurer l'interface
SLIP, et (facultatif) <filename>slip.logout</filename>, qui
effectue le travail inverse de
<filename>slip.login</filename> quand la connexion
série est terminée.</para>
<sect4>
<title>Configuration de <filename>slip.hosts</filename></title>
<para><filename>/etc/sliphome/slip.hosts</filename> contient
des lignes avec au moins quatre champs
séparés par des espaces:</para>
<itemizedlist>
<listitem>
<para>L'identifiant (ID) d'utilisateur SLIP;</para>
</listitem>
<listitem>
<para>L'adresse locale (locale au serveur SLIP) de la
liaison SLIP;</para>
</listitem>
<listitem>
<para>L'adresse de l'autre extrémité de la
liaison SLIP;</para>
</listitem>
<listitem>
<para>Le masque de sous-réseau.</para>
</listitem>
</itemizedlist>
<para>Les adresses locales et distantes peuvent être
des noms de machines (qui seront convertis en adresses IP
via <filename>/etc/hosts</filename> ou par le service de
noms de domaines, en fonction de ce que contient le
fichier <filename>/etc/nsswitch.conf</filename>, ou
<filename>/etc/host.conf</filename> si vous utilisez
&os;&nbsp;4.X), et le masque de sous-réseau peut
être un nom qui sera converti en consultant le
fichier <filename>/etc/networks</filename>. Par exemple,
<filename>/etc/sliphome/slip.hosts</filename>
contiendra:</para>
<programlisting>#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting>
<para>La ligne se termine par une ou plusieurs
options:</para>
<itemizedlist>
<listitem>
<para><option>normal</option> &mdash; pas de compression
des en-têtes;</para>
</listitem>
<listitem>
<para><option>compress</option> &mdash; compression des
en-têtes;</para>
</listitem>
<listitem>
<para><option>autocomp</option> &mdash; compression des
en-têtes si la machine distante l'autorise;</para>
</listitem>
<listitem>
<para><option>noicmp</option> &mdash; interdit les
paquets ICMP (de sorte que les paquets
<quote>ping</quote> seront ignorés au lieu de
consommer votre bande passante).</para>
</listitem>
</itemizedlist>
<indexterm><primary>SLIP</primary></indexterm>
<indexterm><primary>réseau TCP/IP</primary></indexterm>
<para>Le choix des adresses pour les deux
extrémités des liaisons SLIP dépend du
fait que vous leur dédiez un sous-réseau
TCP/IP ou que vous comptiez utiliser un <quote>proxy
ARP</quote> sur votre serveur SLIP (ce n'est pas un
<quote>vrai</quote> proxy ARP, mais c'est la terminologie
que nous utiliserons dans ce document pour le
désigner). Si vous n'êtes pas sûr de la
méthode &agrave; choisir ou de la façon
d'assigner les adresses IP, référez-vous aux
ouvrages sur le TCP/IP mentionnés &agrave; section
sur les prérequis (<xref linkend="slips-prereqs"/>)
et/ou consultez l'administrateur de votre réseau
IP.</para>
<para>Si vous comptez utiliser un sous-réseau IP
séparé pour vos clients SLIP, vous devrez
définir l'adresse de sous-réseau &agrave;
partir de votre réseau IP et attribuer &agrave;
chacun de vos clients SLIP une adresse IP sur ce
sous-réseau. Ensuite, vous devrez probablement
configurer sur votre routeur IP le plus proche une route
statique vers votre sous-réseau SLIP via votre
serveur SLIP.</para>
<indexterm><primary>Ethernet</primary></indexterm>
<para>Sinon, si vous avez l'intention d'utiliser la
méthode du <quote>proxy ARP</quote>, vous devrez
assigner &agrave; vos clients SLIP des adresses IP en
provenance du sous-réseau Ethernet de votre serveur
SLIP, et vous devrez également adapter vos
procédures
<filename>/etc/sliphome/slip.login</filename> et
<filename>/etc/sliphome/slip.logout</filename> pour qu'elles
utilisent &man.arp.8; pour gérer les entrées
proxy ARP dans la table ARP de votre serveur SLIP.</para>
</sect4>
<sect4>
<title>Configuration de <filename>slip.login</filename></title>
<para>Le fichier
<filename>/etc/sliphome/slip.login</filename> ressemble
généralement &agrave; ceci:</para>
<programlisting>#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# procédure générique d'ouverture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting>
<para>Ce fichier <filename>slip.login</filename> ne fait
qu'exécuter <command>ifconfig</command> sur
l'interface SLIP appropriée avec comme
paramètres les adresses locales et distantes et le
masque de sous-réseau de l'interface SLIP.</para>
<para>Si vous avez choisi d'utiliser la méthode du
<quote>proxy ARP</quote> (au lieu d'affecter un
sous-réseau distinct &agrave; vos clients SLIP),
votre fichier
<filename>/etc/sliphome/slip.login</filename> devra
ressembler &agrave; ceci:</para>
<programlisting>#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# procédure générique d'ouverture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# répondre aux requêtes ARP concernant le client SLIP avec notre
# adresse Ethernet
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting>
<para>La ligne supplémentaire dans ce fichier
<filename>slip.login</filename>, <command>arp -s &dollar;5
00:11:22:33:44:55 pub</command>, crée une
entrée ARP dans la table ARP du serveur SLIP.
Cette entrée ARP fait que le serveur SLIP
répond avec sa propre adresse MAC lorsqu'un autre
noeud IP du réseau Ethernet demande &agrave;
dialoguer avec le client SLIP qui possède cette
adresse IP.</para>
<indexterm>
<primary>Ethernet</primary>
<secondary>adresse MAC</secondary>
</indexterm>
<para>Dans l'exemple donné ci-dessus, remplacez
l'adresse MAC Ethernet (<hostid
role="mac">00:11:22:33:44:55</hostid>) avec l'adresse MAC de
la carte Ethernet de votre système, ou sinon votre
<quote>proxy ARP</quote> ne fonctionnera jamais! Vous
pouvez déterminer l'adresse MAC de votre serveur SLIP
en examinant le résultat de la commande
<command>netstat -i</command>; la seconde ligne doit
ressembler &agrave; ce qui suit:</para>
<screen>ed0 1500 &lt;Link&gt;0.2.c1.28.5f.4a 191923 0 129457 0 116</screen>
<para>Cela indique que l'adresse MAC Ethernet de ce
système est <hostid
role="mac">00:02:c1:28:5f:4a</hostid> &mdash; les points
dans les adresses MAC que donne <command>netstat
-i</command> doivent être remplacés par des
<quote>:</quote> et il faut ajouter un zéro devant
chaque valeur hexadécimale donnée sur un
seul digit pour obtenir des adresses dans le format requis
par &man.arp.8;; consultez la page de manuel d'&man.arp.8;
pour avoir des informations complètes sur ces
conventions.</para>
<note>
<para>Quand vous créez les fichiers
<filename>/etc/sliphome/slip.login</filename> et
<filename>/etc/sliphome/slip.logout</filename>, le bit
<quote>exécutable</quote> (i.e., <command>chmod
755 /etc/sliphome/slip.login
/etc/sliphome/slip.logout</command>) doit être
positionné, ou sinon <command>sliplogin</command>
sera incapable d'exécuter la
procédure.</para>
</note>
</sect4>
<sect4>
<title>Configuration de
<filename>slip.logout</filename></title>
<para><filename>/etc/sliphome/slip.logout</filename>
n'est pas strictement indispensable (&agrave; moins que
vous n'implémentiez un <quote>proxy ARP</quote>),
mais si vous décidez de la créer, voici un
exemple de procédure
<filename>slip.logout</filename>
élémentaire:</para>
<programlisting>#!/bin/sh -
#
# slip.logout
#
# procédure générique de fermeture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 down</programlisting>
<para>Si vous utilisez la méthode <quote>proxy
ARP</quote>, vous voudrez que
<filename>/etc/sliphome/slip.logout</filename> supprime
l'entrée ARP pour le client SLIP:</para>
<programlisting>#!/bin/sh -
#
# @(#)slip.logout
#
# procédure générique de fermeture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 down
# Cesser de répondre aux requêtes ARP concernant le client SLIP
/usr/sbin/arp -d $5</programlisting>
<para>La commande <command>arp -d &dollar;5</command> supprime
l'entrée ARP que la procédure
<filename>slip.login</filename> pour le <quote>proxy
ARP</quote> a ajouté quand le client SLIP a ouvert
la session.</para>
<para>Il n'est pas inutile de répéter:
assurez-vous que le bit <quote>exécutable</quote>
de la procédure
<filename>/etc/sliphome/slip.logout</filename> a
été positionné après que vous
l'ayez créée (i.e., <command>chmod 755
/etc/sliphome/slip.logout</command>).</para>
</sect4>
</sect3>
<sect3>
<title>A propos du routage</title>
<indexterm>
<primary>SLIP</primary>
<secondary>routage</secondary>
</indexterm>
<para>Si vous n'utilisez pas <quote>proxy ARP</quote> pour
router les paquets entre vos clients SLIP et le reste de
votre réseau (et peut-être l'Internet), vous
devrez probablement ajouter des routes statiques vers le(s)
routeur(s) par défaut le(s) plus proche(s) pour
router le sous-réseau de vos clients SLIP via votre
serveur SLIP.</para>
<sect4>
<title>Routes statiques</title>
<indexterm><primary>routes statiques</primary></indexterm>
<para>Ajouter des routes statiques vers vos routeurs
les plus proches peut être problématique
(voire impossible si vous n'avez pas les autorisations
pour...). Si vous avez un réseau avec plusieurs
routeurs, certains d'entre eux, tels que les Cisco et les
Proteon, devront non seulement être
configurés pour la route statique vers le
sous-réseau SLIP, mais devront aussi savoir quelles
routes statiques ils doivent annoncer aux autres routeurs,
donc quelques compétences, un peu de
dépannage ou de <quote>bidouille</quote> pourront
être nécessaire pour que vos routes statiques
fonctionnent.</para>
</sect4>
<sect4>
<title>Utiliser <application>&gated;</application></title>
<indexterm>
<primary><application>&gated;</application></primary>
</indexterm>
<note>
<para><application>&gated;</application> est
désormais un logiciel propriétaire et les
sources ne seront donc plus disponibles (plus d'information
sur le site Web de <ulink
url="http://www.gated.org/">&gated;</ulink>). Cette section
existe uniquement pour des raisons de compatibilité
pour ceux qui utilisent encore une ancienne version.</para>
</note>
<para>Une alternative aux maux de tête que provoquent
les routes statiques est d'installer
<application>&gated;</application> sur votre serveur SLIP
&os; et de le configurer pour qu'il utilise les protocoles
de routage appropriés (RIP/OSPF/BGP/EGP) pour
annoncer aux autres routeurs votre sous-réseau
SLIP. Vous aurez besoin de créer un fichier
<filename>/etc/gated.conf</filename> pour configurer
<application>&gated;</application>; voici un exemple,
semblable &agrave; celui que l'auteur a utilisé sur
un serveur SLIP &os;:</para>
<programlisting>#
# fichier de configuration de gated dc.dsu.edu; pour la version
# 3.5alpha5
# diffusion des informations RIP pour xxx.xxx.yy via l'interface
# Ethernet "ed"
#
#
# options de trace
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Activer un certain nombre d'informations de trace sur l'interface
# au noyau:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# Propager la route vers xxx.xxx.yy via l'Ethernet interface et RIP
#
export proto rip interface ed {
proto direct {
<replaceable>xxx.xxx.yy</replaceable> mask 255.255.252.0 metric 1; # SLIP connections
} ;
} ;
#
# Accepter les routes de RIP via les interfaces Ethernet "ed"
import proto rip interface ed {
all ;
} ;</programlisting>
<indexterm><primary>RIP</primary></indexterm>
<para>L'exemple de fichier <filename>gated.conf</filename>
ci-dessus diffuse l'information de routage concernant le
sous-réseau SLIP
<replaceable>xxx.xxx.yy</replaceable> via RIP sur
l'interface Ethernet; si vous utilisez un pilote de
périphérique Ethernet différent du
pilote <devicename>ed</devicename>, vous devrez modifier en
conséquence les références &agrave;
l'interface <devicename>ed</devicename>. Ce fichier
d'exemple active également les journaux sur
<filename>/var/tmp/gated.output</filename> pour pouvoir
déboguer le fonctionnement de
<application>&gated;</application>; vous pouvez
désactiver ces options de trace si
<application>&gated;</application> fonctionne correctement
pour vous. Vous devrez remplacer
<replaceable>xxx.xxx.yy</replaceable> par l'adresse
réseau de votre propre sous-réseau SLIP
(assurez-vous de remplacer également le masque de
sous-réseau dans la clause <literal>proto
direct</literal>).</para>
<para>Une fois que vous avez installé et
configuré <application>&gated;</application> sur
votre système, vous devrez indiquer aux
procédures de démarrage de &os; de lancer
<application>&gated;</application> &agrave; la place de
<application>routed</application>. La manière la
plus simple de faire cela est de positionner les variables
<varname>router</varname> et
<varname>router_flags</varname> dans le fichier
<filename>/etc/rc.conf</filename>. Veuillez consulter la
page de manuel de <application>&gated;</application> pour
des informations sur les paramètres en ligne de
commande.</para>
</sect4>
</sect3>
</sect2>
</sect1>
</chapter>