                         Pedants Principes PPP

   Copyright (c) 1999 Groupe de Documentation de FreeBSD. Tous droits
   reserves.

   La redistribution du code source (SGML), modifie ou non, et
   compile (HTML, PostScript, etc.) est soumise aux conditions
   suivantes :

    1. Le copyright ci-dessus, la presente liste de conditions et
       l'avertissement qui la suit doivent figurer dans le code
       source.

    2. Le code source distribue sous forme compilee doit faire
       apparaitre le copyright ci-dessus, la presente liste de
       conditions et l'avertissement qui la suit.

   CE DOCUMENT EST FOURNI ``TEL QU'EN L'ETAT'' PAR LE PROJET DE
   DOCUMENTATION FRANC,AISE DE FreeBSD ET IL N'EST DONNE AUCUNE
   GARANTIE, IMPLICITE OU EXPLICITE, QUANT A SON UTILISATION
   COMMERCIALE, PROFESSIONNELLE OU AUTRE. LES COLLABORATEURS DU
   PROJET DE DOCUMENTATION FRANC,AISE DE FreeBSD NE PEUVENT EN AUCUN
   CAS ETRE TENUS POUR RESPONSABLES DE QUELQUE DOMMAGE OU PREJUDICE
   DIRECT, INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES
   FINANCIeRES DUES AU MANQUE A GAGNER, A L'INTERRUPTION D'ACTIVITES,
   OU LA PERTE D'INFORMATIONS ET AUTRES) DECOULANT DE L'UTILISATION
   DE LA DOCUMENTATION OU DE L'IMPOSSIBILITE D'UTILISER CELLE-CI, ET
   DONT L'UTILISATEUR ACCEPTE L'ENTIERE RESPONSABILITE.

   Version franc,aise de Frederic Haby
   <frederic.haby@mail.dotcom.fr>.

     --------------------------------------------------------------

1. Introduction

   Le protocole de connexion PPP en mode utilisateur de la version
   2.2 de FreeBSD (appele aussi ``IIJ-PPP'') supporte maintenant la
   reecriture de paquets pour les connexions `a l'Internet. Cette
   possibilite, connue aussi sous le nom de ``Mascarade
   (Masquerading)'', ``Alias IP (IP Aliasing)'', ou ``Traduction
   d'Adresse Reseau (Network Adresse Translation)'', permet `a un
   systeme FreeBSD d'interagir comme routeur de connexion `a la
   demande entre un reseau local et un fournisseur d'acces `a
   Internet. Les machines du reseau local peuvent utiliser l'unique
   connexion de la machine FreeBSD `a l'Internet pour echanger des
   informations avec ce dernier.

     --------------------------------------------------------------

  1.1. But de ce document

   Ce document[1] vous explique comment:

     * Configurer le systeme FreeBSD pour permettre les connexions
       vers l'exterieur,

     * Partager une seule connexion vers l'exterieur avec les autres
       machines du reseau,

     * Configurer les machines Windows pour utiliser la machine
       FreeBSD comme passerelle vers l'Internet.

   Bien que l'objectif de ce document soit avant tout d'expliquer
   comment configurer la traduction d'adresses IP, il fournit aussi
   des exemples d'installation et de configuration des autres
   composants. Chaque section est independante et peut etre utilisee
   pour configurer divers aspects d'une passerelle FreeBSD entre
   plusieurs reseaux.

     --------------------------------------------------------------

2. Mise en oeuvre du reseau local

   Bien que le programme ppp puisse, et soit generalement utilise
   pour fournir des services `a la seule machine FreeBSD, il peut
   aussi servir `a en faire une ``passerelle'' ou ``routeur'' entre
   les autres dispositifs relies au reseau local et l'Internet ou
   tout autre service connecte.

     --------------------------------------------------------------

  2.1. Topologie classique du reseau

   Ce document s'applique `a un reseau local dont la topologie
   est - classiquement - la suivante:

 
+=========+      =======> Connexion `a Internet ( Wanadoo, AOL, etc. )
 |         |      \
 | FreeBSD |=======
 | "Curly" |
 |         |
 +====+====+
      |
 |=================+============+====|  <== Reseau Local Ethernet
      |            |            |
 +====+====+  +====+====+  +====+====+
 |         |  |         |  |         |
 |  Win95  |  |   WFW   |  |  WinNT  |
 | "Larry" |  |  "Moe"  |  | "Shemp" |
 |         |  |         |  |         |
 +=========+  +=========+  +=========+

     --------------------------------------------------------------

  2.2. Hypotheses sur le reseau local

   Pour les besoins de notre exemple, nous supposerons que :

   Il y a trois stations et un serveur relies par le reseau Ethernet
   local:

     * un serveur FreeBSD (``Curly'') avec un controleur Ethernet
       NE-2000 configure sur ``ed0'',

     * une station de travail Windows 95 (``Larry'') avec les pilotes
       TCP/IP 32-bits natifs de Microsoft,

     * une station de travail Windows for Workgroups (``Larry'') avec
       les extension TCP/IP 16-bits de Microsoft,

     * une station de travail Windows NT (``Larry'') avec les pilotes
       TCP/IP 32-bits natifs de Microsoft.

   Les adresses IP du reseau Ethernet sur lequel se base notre
   exemple ont ete attribuees dans l'espace d'adresses privees defini
   par la RFC-1597, comme suit:

 Nom       Adresse IP
 "Curly"   192.168.1.1   # La machine FreeBSD
 "Larry"   192.168.1.2   # La machine Windows 95
 "Moe"     192.168.1.3   # La machine Windows for Workgroups
 "Shemp"   192.168.1.4   # La machine Windows NT

   Nous supposerons aussi que le modem est connecte sur le premier
   port serie (/dev/cuaa0 ou COM1: selon la terminologie DOS) de la
   machine FreeBSD.

   Enfin, nous supposerons que notre fournisseur d'acces Internet
   nous fournit automatiquement les adresses IP des deux extremites
   de la liaison PPP (point `a point) : celle de notre machine
   FreeBSD et celle de la machine du cote du fournisseur (adressage
   dynamique). Les details de configuration de la connexion de la
   machine FreeBSD `a l'exterieur sont donnes au chapitre
   Configuration du systeme FreeBSD.

     --------------------------------------------------------------

3. Configuration du systeme FreeBSD

   Il y a trois informations `a fournir au systeme FreeBSD avant de
   le relier au reseau local de notre exemple:

     * Son nom de machine (hostname), ``Curly'' dans notre exemple,

     * La configuration de son interface reseau,

     * Le fichier /etc/hosts (qui liste les noms et les adresses IP
       des autres machines du reseau).

   Si vous avez installe FreeBSD via une connexion reseau, il est
   possible que certaines de ces informations soient dej`a definies.

   Meme si vous pensez que votre systeme FreeBSD a dej`a ete
   correctement configure au moment de l'installation, il vous mieux
   vous assurer de la validite de chacune de ces informations pour
   vous eviter des ennuis par la suite.

     --------------------------------------------------------------

  3.1. Controler le nom de la machine FreeBSD

   Il est possible que le nom de la machine FreeBSD ait ete defini et
   enregistre lors de l'installation du systeme. Pour le verifier,
   entrez, `a l'invite du systeme, la commande suivante:

   # hostname

   Le nom de la machine FreeBSD sera affiche sur une seule ligne. Si
   ce nom parait correct (c'est tres subjectif :-), vous pouvez
   passer au paragraphe Controler la configuration de l'interface
   Ethernet.

   Dans notre exemple, le resultat de la commande hostname devrait
   etre ``curly.my.domain'' si le nom de la machine a ete
   correctement defini `a l'installation, ou ensuite. (A ce stade, ne
   vous preoccupez pas du suffixe ``.my.domain'', nous verrons cela
   par la suite. Ce qui compte maintenant est le nom qui precede le
   premier ``.'')

   Si le nom de machine n'a pas ete defini `a l'installation, la
   reponse de hostname sera probablement ``myname.my.domain''. Vous
   devez alors editer le fichier /etc/rc.conf pour definir le nom du
   systeme.

     --------------------------------------------------------------

    3.1.1. Definir le nom de la machine FreeBSD

     Note : Vous devez etre en session sous ``root'' pour editer les
     fichiers de configuration du systeme.

     Note : Si vous introduisez des erreurs dans les fichiers de
     configuration, il y a de fortes chances que votre systeme ne
     redemarre pas correctement! Soyez prudents !

   Le nom de machine du systeme FreeBSD est defini au demarrage par
   le fichier /etc/rc.conf. Utilisez l'editeur par defaut (``ee'')
   pour editer ce fichier.

   Sous une session ``root'', visualisez le fichier dans l'editeur
   avec la commande:

   # ee /etc/rc.conf

   Avec les touches fleches, allez jusqu'`a la ligne qui definit le
   nom de machine du systeme FreeBSD. Par defaut, vous y trouvez:

   ---
   ### Basic network options: ###
   hostname="myname.my.domain"     # Set this !
   ---

   Remplacez ces lignes, par exemple, par:

   ---
   ### Basic network options: ###
   hostname="curly.my.domain"     # Set this !
   ---

   Une fois la modification faite, appuyez sur la touche Echap pour
   aller dans le menu de commandes de l'editeur. Choisissez ``leave
   editor'' (quitter l'editeur) et selectionnez bien l'option ``save
   changes'' (enregistrer les modifications) quand la question vous
   est posee.

     --------------------------------------------------------------

  3.2. Controler la configuration de l'interface Ethernet

   Rappelons nos hypotheses : l'interface Ethernet de la machine
   s'appelle ``ed0''. C'est la valeur par defaut pour les controleurs
   NE-1000, NE-2000, WD/SMC modeles 8003, 8013 et Elite Ultra (8216).

   Les fichiers d'interface d'autres modeles de controleurs peuvent
   avoir d'autres noms sous FreeBSD. Si vous n'etes pas certain du
   nom correspondant `a votre controleur, consultez les Questions
   Frequemment Posees `a propos de FreeBSD (``FAQ'') et substituez la
   bonne valeur dans les exemples qui suivent.

   De la meme fac,on que pour le nom de la machine, l'interface
   Ethernet du systeme FreeBSD a peut-etre ete configuree `a
   l'installation.

   Pour consulter la configuration des interfaces (Ethernet et
   autres) de votre systeme FreeBSD), utilisez la commande suivante:

 # ifconfig -a

   Soit en clair: "Donnes-moi la CONFIGuration des InterFaces de mes
   peripheriques reseau."

   Par exemple:

 # ifconfig -a
 ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
 ether 01:02:03:04:05:06
 lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
 tun0: flags=8050<POINTOPOINT,RUNNING, MULTICAST> mtu 1500
 l0: flags=c010<OINTOPOINT,LINK2,MULTICAST> mtu 552
 ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
 inet 127.0.0.1 netmask 0xff000000
 #

   Sur cet exemple, les peripheriques suivants sont reconnus :

     * ed0: l'interface Ethernet,

     * lp0: l'interface parallele (que nous n'utiliserons pas ici),

     * tun0: l'interface SLIP (IP sur ligne serie, que nous
       n'utiliserons pas ici),

     * ppp0: un autre interface PPP (pour le module ppp integre au
       noyau, que n'utiliserons pas ici),

     * lp0: l'interface "en boucle" - "loopback" - que nous
       n'utiliserons pas non plus).

   Dans l'exemple, l'interface ``ed0'' est active (``UP'') et
   fonctionne (``RUNNING''). Les indications importantes sont:

    1. L'interface est active (``UP''),

    2. Elle a une adresse Ethernet (``inet''), dans notre cas:
       192.168.1.1,

    3. Elle a un masque de sous-reseau (``netmask''; 0xffffff00 qui
       equivaut `a 255.255.255.0) correct,

    4. Elle a une adresse de diffusion (``broadcast''; ici,
       192.168.1.255) valide.

   Si la ligne decrivant l'interface Ethernet mentionne quelque chose
   comme:

 ed0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 ether 01:02:03:04:05:06

   c'est que cette interface n'est pas encore configuree.

   Si l'interface Ethernet est dej`a configuree, vous pouvez passer
   directement au paragraphe Renseigner la liste des autres machines
   du reseau. Sinon, continuez en sequence.

     --------------------------------------------------------------

    3.2.1. Configurer votre interface Ethernet

     Note : Vous devez etre en session sous ``root'' pour editer les
     fichiers de configuration du systeme.

     Note : Si vous introduisez des erreurs dans les fichiers de
     configuration, il y a de fortes chances que votre systeme ne
     redemarre pas correctement! Soyez prudents !

   Les parametres de configuration des interfaces reseau sont definis
   au demarrage par le fichier /etc/rc.conf. Utilisez l'editeur par
   defaut (``ee'') pour editer ce fichier.

   Sous une session ``root'', visualisez le fichier dans l'editeur
   avec la commande:

   # ee /etc/rc.conf

   Vers la vingtieme ligne environ du fichier, se trouve la section
   qui definit quelles interfaces reseau doivent etre mises en
   service au demarrage. Le fichier de configuration par defaut
   contient la ligne :

 network_interfaces="lo0"        # List of network interfaces (lo0 is loopback)

   que vous devrez modifier pour dire `a FreeBSD que vous voulez
   ajouter un autre peripherique, en l'occurence l'interface ``ed0'',
   en:

 network_interfaces="lo0 ed0"    # List of network interfaces (lo0 is loopback)

   (Faites attention `a l'espace entre la definition de l'interface
   en boucle ``lo0'' et l'interface Ethernet ``ed0''.)

     Note : Si le nom correspondant `a votre interface n'est pas
     ``ed0'',n'oubliez pas de mettre la valeur adequate `a la place.

   Si vous avez installe FreeBSD via une connexion reseau, la ligne
   ``network_interfaces'' comporte peut-etre dej`a un reference `a
   votre carte Ethernet. Dans ce cas, assurez vous que son nom soit
   correct.

   Les lignes qui suivent celles ou sont listees les interfaces `a
   mettre en service decrivent les parametres de chacune de ces
   interfaces. Dans le fichier /etc/rc.conf par defaut, il n'y a
   qu'un seule ligne qui dit:

 ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration

   Vous devrez ajouter une ligne qui definisse les caracteristiques
   de votre interface ``ed0''.

   Si vous avez installe FreeBSD via une connexion reseau, la ligne
   ``ifconfig_ed0='' existe peut-etre dej`a. Verifiez alors qu'elle
   contienne bien les bonnes valeurs.

   En nous referant `a notre exemple, nous insererons la ligne
   suivante, immediatement apres la definition de l'interface ``en
   boucle'':

 ifconfig_ed0="inet 192.168.1.1 netmask 255.255.255.0"

   Apres modification, cette section du fichier /etc/rc.conf doit
   ressembler `a:

 ---
 network_interfaces="lo0 ed0"    # List of network interfaces (lo0 is loopback)
 ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration
 ifconfig_ed0="inet 192.168.1.1 netmask 255.255.255.0"
 ---

   Un fois que vous avez fait toutes les modifications necessaires,
   appuyez sur la touche Echap pour aller dans le menu de commandes
   de l'editeur. Choisissez ``leave editor'' (quitter l'editeur) et
   selectionnez bien l'option ``save changes'' (enregistrer les
   modifications) quand la question vous est posee.

     --------------------------------------------------------------

  3.3. Autoriser la transmission de paquets

   Par defaut, FreeBSD n'active pas le transmission de paquets entre
   les differentes interfaces reseau d'une machine. En d'autres
   termes, les fonctions de routage (aussi appelees de passerelle) ne
   sont pas disponibles.

   Si vous voulez utiliser le programme ppp comme poste Internet
   autonome et non comme passerelle entre le reseau local et votre
   fournisseur d'acces `a Internet, vous pouvez passer directement au
   paragraphe Renseigner la liste des autres machines du reseau.

   Si vous voulez utiliser le programme ppp pour connecter `a la fois
   votre machine FreeBSD (pour servir de routeur) et les autres
   postes du reseau local, vous devez autoriser la transmission de
   paquets IP.

   Pour cela, vous devez editer le fichier /etc/rc.conf. Visualisez
   le fichier dans l'editeur avec la commande:

   # ee /etc/rc.conf

   Vers la quatre-vingt-cinquieme ligne environ, vous trouverez la
   section qui controle la transmission de paquets. Elle ressemblera
   a ceci:

   ---
   gateway_enable="NO" # Set to YES if the host will be a gateway
   ---

   Modifiez-la en:

   ---
   gateway_enable="YES" # Set to YES if the host will be a gateway
   ---

   et quittez l'editeur (en enregistrant vos modifications!).

     Note : Cette ligne contient peut-etre dej`a gateway_enable="YES"
     si la transmission de paquets IP a ete autorisee au moment de
     l'installation du systeme FreeBSD.

     --------------------------------------------------------------

  3.4. Renseigner la liste des autres machines du reseau (/etc/hosts)

   La derniere etape de la configuration du reseau local vu de la
   machine FreeBSD consiste `a creer la liste des noms et des
   adresses TCP/IP des differentes machines raccordees au reseau
   local. Cette liste est definie dans le fichier /etc/hosts.

   Par defaut, ce fichier ne contient qu'une ligne: le nom et
   l'adresse de l'interface ``en boucle''. Par convention, ce nom est
   toujours ``localhost'' et son adresse 127.0.0.1. (Reportez-vous `a
   l'exemple de configuration des interfaces au paragraphe Controler
   la configuration de l'interface Ethernet.)

   Pour editer le fichier /etc/hosts, tapez la commande:

   # ee /etc/hosts

   Allez jusqu'`a la fin du fichier (en lisant au passage les
   commentaires, ce sont des informations utiles!) et ajoutez
   (toujours dans le cas du reseau de notre exemple) les noms et les
   adresses IP suivantes:

 192.168.1.1   curly   curly.my.domain # machine FreeBSD
 192.168.1.2   larry   larry.my.domain # machine Windows 95
 192.168.1.3   moe     moe.my.domain   # machine Windows for Workgroups
 192.168.1.4   shemp   shemp.my.domain # machine Windows NT

   (Vous ne devez pas modifier la ligne ``127.0.0.1 localhost''.)

   Une fois que vous avez ajoute ces lignes, appuyez sur la touche
   Echap pour aller dans le menu de commandes de l'editeur.
   Choisissez ``leave editor'' (quitter l'editeur) et selectionnez
   bien l'option ``save changes'' (enregistrer les modifications)
   quand la question vous est posee.

     --------------------------------------------------------------

  3.5. Tester le systeme FreeBSD

   Felicitations! Une fois que vous en etes arrive l`a, votre machine
   FreeBSD est maintenant une machine UNIX connectee au reseau! Si
   vous avez du modifier votre fichier /etc/rc.conf, il faut
   redemarrer votre machine FreeBSD. Cela va faire deux choses
   importantes:

     * Appliquer les modifications de configuration des interfaces,
       et:

     * Verifier que le systeme redemarre sans erreur de configuration
       flagrante.

     --------------------------------------------------------------

    3.5.1. Verifier le bon fonctionnement de l'interface ``en boucle''

   Pour verifier que l'interface ``en boucle'' est correctement
   configuree, ouvrez une session sous ``root'' et tapez:

   # ping localhost

   Vous devriez voir defiler des messages du type:

   # ping localhost

 PING localhost.my.domain. (127.0.0.1): 56 bytes
 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.219 ms
 64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.200 ms
 64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.187 ms
 [...]

   jusqu'`a ce que vous tapiez Ctrl-C pour arreter ce delire.

     --------------------------------------------------------------

    3.5.2. Verifier le bon fonctionnement de l'interface Ethernet

   Pour verifier que l'interface Ethernet est correctement
   configuree, tapez:

   # ping curly

   Vous devriez voir:

   # ping curly

 PING curly.my.domain. (192.168.1.1): 56 bytes
 64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.219 ms
 64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=0.200 ms
 64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=0.187 ms
 [...]

   L'information importante dans ces deux exemples est que les noms
   (``localhost'' et ``curly'') correspondent bien `a leurs adresses
   IP (127.0.0.1 et 192.168.1.1). Cela confirme que le fichier
   /etc/hosts est correct.

   Si les noms et les adresses apparaissent correctement dans les
   resultats de la commande ping mais que des messages d'erreur sont
   affiches, quelque chose ne va pas dans la configuration des
   interfaces. Retournez au paragraphe Controler le nom de la machine
   FreeBSD et verifiez de nouveau votre configuration.

   Si maintenant, tout va bien, passez `a la section suivante.

     --------------------------------------------------------------

4. Configurer la liaison PPP vers l'exterieur

   Il y a deux fac,ons d'utiliser le programme ppp: en mode
   ``Interactif'' et en mode ``Automatique''.

   En mode Interactif, vous:

     * Etablissez manuellement la connexion avec votre fournisseur
       d'acces Internet,

     * Surfez, transferez des fichiers et envoyez du courrier
       electronique, etc.

     * Coupez manuellement la connexion avec votre fournisseur
       d'acces Internet.

   En mode Automatique, le programme ppp surveille silencieusement
   les operations du systeme FreeBSD et se connecte et se deconnecte
   automagiquement `a votre fournisseur d'acces selon le besoin,
   integrant de fac,on transparente l'Internet `a votre reseau.

     --------------------------------------------------------------

  4.1. Sauvegarder vos fichiers de configuration ppp d'origine

   Avant de modifier les fichiers qu'utilise ppp, il est bon de
   sauvegarder les fichiers par defaut crees `a l'installation de
   FreeBSD.

   Ouvrez une session sous le compte ``root'', et suivez la procedure
   ci-dessous:

   Allez dans le repertoire /etc:

   # cd etc

   Faites un copie des fichiers d'origine du repertoire ppp:

   # cp -R ppp ppp.ORIGINAL

   Vous devriez maintenant avoir un repertoire ppp et un repertoire
   ppp.ORIGINAL dans le repertoire etc.

     --------------------------------------------------------------

  4.2. Creer vos propres fichiers de configuration de ppp

   Par defaut, la procedure d'installation de FreeBSD cree un certain
   nombre de fichiers d'exemple dans le repertoire /etc/ppp. Prenez
   un peu de temps pour parcourir ces fichiers. Ce sont des exemples
   empruntes `a des systemes qui fonctionnent et ils illustrent les
   differentes possibilites du programme ppp.

   Je vous encourage fortement `a etudier ces exemples et `a les
   adapter `a votre configuration.

   Pour plus d'informations sur le programme ppp, lisez les pages de
   manuel:

   # man ppp

   Pour plus d'informations sur le langage chat, utilise par ppp pour
   etablir la connexion, lisez les pages de manuel:

   # man chat

   La suite de ce chapitre decrit le contenu recommande des fichiers
   de configurations de ppp.

     --------------------------------------------------------------

    4.2.1. Le fichier /etc/ppp/ppp.conf

   Le fichier /etc/ppp/ppp.conf contient les informations et les
   parametres necessaires pour etablir une connexion vers
   l'exterieur. Le Manuel FreeBSD decrit en detail le contenu et la
   syntaxe de ce fichier.

   N'est decrite ici que la configuration minimale necessaire pour
   arriver `a etablir une connexion.

   Voici le fichier /etc/ppp/ppp.conf que nous utiliserons sur notre
   passerelle entre le reseau local et l'Internet:

 ####################################################################
 # Fichier de Configuration de PPP ('/etc/ppp/ppp.conf')
 #
 # Parametres par defaut: Ces commandes sont toujours executees
 # quand PPP est appele et s'appliquent `a toutes les configurations
 ####################################################################
 default:
 set device /dev/cuaa0
 set speed 57600
 disable pred1
 deny pred1
 disable lqr
 deny lqr
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0M0
 OK-AT-OK\\dATDT\\T TIMEOUT 40 CONNECT"
 set redial 3 10
 #
 #
 ####################################################################
 #
 # Configuration utilisee en mode interactif :
 #
 # appelee par: `ppp -alias interactive`
 #
 ####################################################################
 interactive:
 set authname Your_User_ID_On_Remote_System
 set authkey Your_Password_On_Remote_System
 set phone 1-800-123-4567
 set timeout 300
 set openmode active
 accept chap
 #
 ####################################################################
 #
 # Configuration utilisee en mode `a la demande ( automatique)
 #
 # appelee par: 'ppp -auto -alias demand'
 #
 ####################################################################
 demand:
 set authname Your_User_ID_On_Remote_System
 set authkey Your_Password_On_Remote_System
 set phone 1-800-123-4567
 set timeout 300
 set openmode active
 accept chap
 set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0
 add 0 0 127.2.2.2
 ################################################################
 # Fin de /etc/ppp/ppp.conf

   Ce fichier, recopie tel quel d'un systeme operationnel, comporte
   trois parties:

     --------------------------------------------------------------

      4.2.1.1. La section ``default''

   La section ``default:'' contient les informations et parametres
   utilises par toutes les autres sections du fichier. Cette section
   est donc implicitement ajoutee `a toutes les autres.

   C'est l'endroit ideal pour definir les valeurs par defaut qui
   s'appliquent `a toutes les connexions vers l'exterieur; en
   particulier, la configuration du modem et le dialogue
   d'initialisation de la connexion, qui ne changent pas, quel que
   soit le systeme distant auquel vous vous connectez.

   Voici le detail de chacune des lignes de la section ``default:''
   du fichier /etc/ppp/ppp.conf:

 set device /dev/cuaa0

   Cette instruction dit au programme ppp d'utiliser le premier port
   serie. Sous FreeBSD, le peripherique ``/dev/cuaa0'' correspond au
   port appele ``COM1:'' de DOS, Windows, Windows 95, etc.

   Si votre modem est sur le port ``COM2'': vous devrez mettre
   ``/dev/cuaa1''. ``/dev/cuaa2'' serait le port ``COM3:''.

 set speed 57600

   Cette ligne indique au programme ppp la vitesse en emission et en
   reception entre le port serie et le modem. Bien que le modem de
   notre configuration fonctionne `a 28.8 Kbps, donner la valeur
   56000 permet `a la liaison serie de fonctionner suffisamment vite
   pour gerer la compression de donnees integree aux modems les plus
   recents.

   Si vous avez des problemes pour dialoguer avec votre modem `a
   cette vitesse, descendez `a une valeur inferieure: 38400, voir
   aussi faible que 19200.

 disable pred1
 deny pred1

   Ces deux lignes desactivent la compression ``CCP/Predictor 1''
   dont est capable le programme ppp. La version actuelle de ppp
   supporte la compression de donnees selon la definition provisoire
   des standards Internet. Malheureusement, de nombreux fournisseurs
   d'acces ont des equipements qui n'offrent pas cette possibilite.
   Comme la plupart des modems recents sont capables de compression
   `a la volee, vous ne perdrez probablement pas grand-chose en
   termes de performances en desactivant cette possibilite sur votre
   machine FreeBSD et en interdisant au site distant de vous la
   reclamer.

 disable lqr
 deny lqr

   Ces deux lignes controlent l'``audit de la qualite de la liaison
   (Link Quality Reporting)'' qui est partie integrante des
   specifications du protocole PPP. (Voyez la RFC-1989 pour plus de
   details.)

   La premiere ligne, ``disable lqr'' instruit le programme ppp de ne
   pas emettre de demandes de controle de la qualite de la liaison `a
   la machine distante.

   La seconde ligne, ``deny lqr'' instruit le progamme ppp de ne pas
   accepter de demandes de controle de la qualite de la liaison de la
   machine distante.

   Comme la plupart des modems ont des procedures integrees de
   detection et de correction d'erreur et que l'audit LQR est
   rarement integralement implementee par les constructeurs, il vaut
   en general mieux ne pas utiliser cette possibilite.

 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0M0 OK-AT-OK\\dATADT\\T TIMEOUT 40 CONNECT"

     Note : (Cette instruction doit etre ecrite sur une seule ligne;
     ne tenez pas compte du formatage sur deux lignes, si elle se
     presente ainsi dans ce document.)

   Cette ligne decrit le dialogue entre le programme ppp et le modem
   qui doit permettre d'etablir la connexion et fournit des
   instructions rudimentaires sur la marche `a suivre:

     * Une tentative d'appel echoue si le modem renvoie le code
       d'erreur ``BUSY (occupe)'',

       Une tentative d'appel echoue aussi si le modem renvoie le code
       d'erreur ``NO CARRIER (pas de porteuse),'',

       Le programme ppp doit constater, avec un delai maximum de cinq
       secondes entre chaque evenement, la sequence d'evenements
       suivants:

     * * Initialement, le programme ppp n'attend pas de reponse du
            modem (c'est le sens de la chaine \"\" dans
            l'instruction),

          * Le programme enverra au modem la chaine ``ATE1Q0M0'' et
            attendra la reponse ``OK''. Si cette reponse n'arrive
            pas, il enverra la commande d'interrogation ``AT'' et
            attendra `a nouveau une reponse ``OK'',

          * Le programme devra attendre une seconde (c'est le sens de
            la chaine ``\\d'' dans l'instruction), et envoyer la
            sequence d'appel au modem. Le prefixe ``ATDT'' est la
            commande d'appel standard pour les lignes telephoniques
            `a frequences vocales. Si vous n'avez pas de ligne `a
            frequence vocale, remplacez ``ATDT'' par ``ATDP''. La
            chaine ``\\T'' sera remplacee par le numero de telephone
            reel (qui sera defini plus loin par la ligne ``set
            dial'').

     * Pour finir, avec un delai d'attente de quarante secondes au
       maximum, le programme ppp doit recevoir un code d'acquittement
       ``CONNECT'' du modem.

   Un echec `a une phase quelconque de ce dialogue sera interprete
   comme un echec d'appel et la connexion ne sera pas etablie.

   (Pour avoir une description detaillee du mini-langage de commande
   utilise par ppp, reportez-vous aux pages de manuel de chat.)

 set redial 3 10

   Cette ligne indique au programme ppp qu'en cas d'echec, il peut
   faire jusqu'`a trois nouvelles tentatives avec un temps d'attente
   de dix secondes entre chaque nouvel appel.

     --------------------------------------------------------------

      4.2.1.2. La section ``interactive''

   La section ``interactive:'' contient les valeurs et les parametres
   utilises par les connexions PPP interactives avec un systeme
   distant particulier. Les lignes de la section ``default:'' sont
   automatiquement incluses dans cette section.

   L'exemple donne ci-dessous suppose que vous vous connectiez `a un
   systeme qui sait identifier un utilisateur sans avoir `a utiliser
   une serie de commandes baroques. Nous supposerons que le protocole
   CHAP est utilise pour initialiser la session.

   A priori, si un systeme Windows 95 peut etablir la connexion d'un
   simple clic sur le bouton ``Connecter'', la configuration donnee
   en exemple devrait fonctionner.

   Si, `a l'inverse, quand vous vous connectez chez votre fournisseur
   d'acces avec les utilitaires de Microsoft Windows 95, vous devez
   utiliser l'option ``Utiliser des procedures de connexion''[2]. il
   vous faudra alors lire les pages de manuel de ppp pour trouver des
   exemples de fichiers de configuration de PPP comportant des
   procedures ``expect / reponse'' pour etablir votre connexion et
   vous devrez utiliser la commande ``set login'' `a cet effet.

   Ou mieux, trouvez-vous un fournisseur d'acces qui offre
   l'authentification par PAP ou CHAP!

   La configuration donnee en exemple a ete utilisee avec succes pour
   se connecter:

     * `a Divers Shiva LanRovers,

     * au reseau IBM (http://www.ibm.net),

     * `a AT&T WorlNet (http://www.att.com/worldnet),

     * `a Erol's (http://www.erols.com).

   Voici la description de chacune des lignes de la section
   ``interactive:'' du fichier /etc/ppp/ppp.conf de l'exemple:

 set authname Votre_Nom_d_Utilisateur_du_Systeme_Distant

   Cette ligne definit avec quel nom d'utilisateur vous vous
   connectez au systeme distant.

 set authkey Votre_Mot_de_Passe_Utilisateur_du_Systeme_Distant

   Cette ligne definit le mot de passe que vous utilisez pour vous
   connecter au systeme distant.

 set phone 012345678789

   C'est le numero de telephone avec lequel vous joignez le systeme
   distant.

 set timeout 300

   Cette ligne indique au programme ppp de couper la ligne s'il n'y a
   aucun echange pendant cinq minutes (300 secondes). Vous pouvez
   adapter cette ligne `a votre besoin particulier.

 set openmode active

   Cette ligne dit au programme ppp de negocier la connexion des que
   la liaison entre les modems est etablie. Certains sites distants
   le font automatiquement, d'autres non. Cette instruction permet `a
   votre site d'initialiser la negociation.

 accept chap

   Cette ligne dit au programme ppp d'utiliser le protocole CHAP
   ``Challenge Handsake Autentification Protocole (protocole
   d'authentification par poignee de main avec defi de decryptage)''
   pour vous authentifier. Les valeurs echangees entre le systeme
   local et le systeme distant pour transmettre le nom d'utilisateur
   et le mot de passe sont definies par les lignes ``authname'' et
   ``authkey''.

     --------------------------------------------------------------

      4.2.1.3. La section ``demand''

   La section ``demand:'' contient les valeurs et les parametres
   utilises par les connexions PPP automatiques avec un systeme
   distant particulier. Les lignes de la section ``default:'' sont
   automatiquement incluses dans cette section.

   A l'exception des deux dernieres lignes, cette section est
   identique `a la section qui definit la configuration
   ``interactive''.

   Comme indique au paragraphe La section ``interactive'', l'exemple
   donne ci-dessous suppose que vous vous connectiez `a un systeme
   qui comprenne le protocole CHAP pour initialiser la session.

   Voici la description de chacune des lignes de la section
   ``demand:'' du fichier /etc/ppp/ppp.conf de l'exemple:

 set authname Votre_Nom_d_Utilisateur_du_Systeme_Distant

   Cette ligne definit avec quel nom d'utilisateur vous vous
   connectez au systeme distant.

 set authkey Votre_Mot_de_Passe_Utilisateur_du_Systeme_Distant

   Cette ligne definit le mot de passe que vous utilisez pour vous
   connecter au systeme distant.

 set phone 012345678789

   C'est le numero de telephone avec lequel vous joignez le systeme
   distant.

 set timeout 300

   Cette ligne indique au programme ppp de couper la ligne s'il n'y a
   aucun echange pendant cinq minutes (300 secondes). Vous pouvez
   adapter cette ligne `a votre besoin particulier.

 set openmode active

   Cette ligne dit au programme ppp de negocier la connexion des que
   la liaison entre les modems est etablie. Certains sites distants
   le font automatiquement, d'autres non. Cette instruction permet `a
   votre site d'initialiser la negociation.

 accept chap

   Cette ligne dit au programme ppp d'utiliser le protocole CHAP
   ``Challenge Handsake Autentification Protocole (protocole
   d'authentification par poignee de main avec defi de decryptage)''
   pour vous authentifier. Les valeurs echangees entre le systeme
   local et le systeme distant pour transmettre le nom d'utilisateur
   et le mot de passe sont definies par les lignes ``authname'' et
   ``authkey''

 set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0

   Cette commande definit une paire d'adresses IP fictives pour les
   deux extremites de la liaison point-`a-point. Elle dit au
   programme ppp d'utiliser l'adresse 127.1.1.1 pour l'extremite
   locale de la liaison geree par le pilote de peripherique ``tun0
   (tunnel)''(Reportez-vous au manuel FreeBSD pour une description de
   ce pilote) et l'adresse 127.2.2.2 pour l'extremite distante. Le
   ``/0'' qui les suit precise le nombre de digits significatifs de
   ces adresses, qui peuvent, (et doivent en fait) etre negociees
   entre les deux systemes une fois la liaison etablie. 255.255.255.0
   est le masque de sous-reseau qui s'applique `a ces deux
   pseudo-interfaces.

   Rappelez-vous, nous avons suppose que votre fournisseur d'acces
   vous assigne les adresses des deux extremites de la ligne! Si
   votre fournisseur vous a donne une adresse particuliere, vous
   pouvez la mentionner sur cette ligne `a la place de l'adresse
   127.1.1.1.

   Inversement, si votre fournisseur vous a donne une adresse
   particuliere pour son cote de la liaison, vous pouvez la
   mentionner sur cette ligne `a la place de l'adresse 127.2.2.2.

   Dans les deux cas, il vaut mieux conserver le ``/0'' apres les
   deux adresses. Cela laisse la possibilite au programme ppp de
   changer d'adresse(s) s'il en a besoin.

 add 0 0 127.2.2.2

   Cette derniere ligne dit au programme ppp d'ajouter une route par
   defaut pour le trafic vers l'adresse (fictive) 127.2.2.2 du
   fournisseur d'acces.

     Note : Si vous avez donnee l'adresse que vous a indique votre
     fournisseur d'acces `a la place de l'adresse 127.2.2.2 `a la
     ligne ``set ifaddr'', vous devez utiliser la meme adresse ici,
     `a la place de 127.2.2.2.

   En ajoutant cette route ``fictive'' pour le trafic IP, le
   programme ppp peut, successivement, avant et au moment d'etablir
   la liaison:

     * Accepter des paquets que FreeBSD ne sait pas encore comment
       rediriger,

     * Etablir la connexion avec votre fournisseur d'acces,

     * Reconfigurer les adresses IP des deux cotes de la ligne,

     * Transmettre les paquets entre votre syteme local et votre
       fournisseur d'acces,

   automatiquement!

   Une fois le nombre de secondes defini par l'instruction
   ``timeout'' de la section ``default'' ecoule sans trafic TCP/IP,
   le programme ppp coupe automatiquement la connexion, et le
   processus peut recommencer.

     --------------------------------------------------------------

    4.2.2. Le fichier /etc/ppp/ppp.linkup

   L'autre fichier necessaire `a la configuration de ppp est
   /etc/ppp/ppp.linkup. Ce fichier contient les instructions qui
   definissent ce que ppp doit faire une fois que la connexion est
   etablie.

   Dans le cas d'une connexion `a la demande, le programme ppp doit
   supprimer la route par defaut vers l'adresse IP fictive du systeme
   distant (127.2.2.2 dans notre exemple plus haut) et definir une
   nouvelle route vers l'adresse IP reelle de ce systeme (obtenue `a
   l'etablissement de la connexion).

   Voici un bon exemple de fichier /etc/ppp/ppp.linkup:

 #########################################################################=
 #
 # Fichier PPP Link Up ('/etc/ppp/ppp.linkup')
 #
 #  Ce fichier est consulte une fois que PPP a etabli une connexion
 #
 #  Ce fichier est lu dans l'ordre suivant :
 #
 #  1) En premier, l'adresse IP qui nous a ete assignee est recherchee
 #     et la/les commande(s) associee(s) executee(s)
 #
 #  2) Si l'adresse IP n'est pas trouvee, alors l'etiquette donnee au
 #     demarrage de PPP est recherchee, et la/les commande(s) associee(s)
 #     executee(s)
 #
 #  3) Si ni l'une ni l'autre n'ont ete trouvees, les commandes associees
 #     `a l'etiquette 'MYADDR:' sont executees.
 #
 #########################################################################=

 #
 # Cette section correspond `a la configuration "demand" de
 #    /etc/ppp/ppp.conf:
 demand:
 delete ALL
 add 0 0 HISADDR
 #
 # Toutes les autres configurations de /etc/ppp/ppp.conf utilisent
 #    ce qui suit:
 #
 MYADDR:
 add 0 0 HISADDR
 ########################################################################
 # Fin de /etc/ppp/ppp.linkup

   Remarquez qu'une section de ce fichier s'appelle ``demand:'', tout
   comme dans le fichier /etc/ppp/ppp.conf. Cette section dit au
   programme ppp ce qu'il doit faire, une fois la connexion `a la
   demande etablie:

    1. Supprimer toutes les informations de routage qu'il a dej`a
       creees,

    2. Ajouter une route par defaut vers l'adresse reelle de la
       machine distante.

   Il est capital que les configurations definies dans le fichier
   /etc/ppp/ppp.conf et qui comportent les lignes ``set ifaddr'' et
   ``add 0 0'' (i.e.: les configurations de connexion `a la demande)
   executent les instructions ``delete ALL'' et ``add 0 0 HISADDR''
   du fichier /etc/ppp/ppp.linkup.

   C'est le mecanisme qui controle la configuration de la liaison
   dans le cas d'une connexion `a la demande.

   Toutes les configurations qui ne sont pas explicitement definies
   dans le fichier /etc/ppp/ppp.linkup utiliseront les commandes
   listees dans la section ``MYADDR:'' de ce fichier. C'est ce que
   feront les connexions manuelles (comme dans notre exemple
   ``interactive:''). Cette section ajoute simplement une route par
   defaut vers l'adresse IP du fournisseur d'acces (`a l'autre
   extremite de la ligne).

     --------------------------------------------------------------

  4.3. Alias IP

   Toutes les etapes precedentes s'appliquent `a un systeme FreeBSD
   utilise pour se connecter `a la demande `a un fournisseur d'acces
   Internet.

   Si vous cherchez simplement, en lisant ce guide, `a connecter
   votre systeme FreeBSD `a l'Internet, vous pouvez passer
   directement au chapitre Tester le reseau.

   Une possibilite tres interessante du programme ppp en mode
   ``connexion `a la demande'' est sa capacite `a aiguiller
   automatiquement le trafic vers les autres systemes du reseau
   local. On donne `a cela des noms divers ``alias IP (IP
   Aliasing)'', ``traduction d'adresse reseau (Network Adress
   Translation)'', ``mascarade d'adresse (Adress Masquerading)'' ou
   ``mandatement transparent (Transparent Proxying)''.

   Quelle que soit la terminologie employee, ce fonctionnement n'est
   cependant pas automatique. Si le programme ppp est demarre de
   fac,on habituelle, il ne fera pas transiter de paquets entre
   l'interface avec le reseau local et la liaison vers l'exterieur.
   En effet, seul le systeme FreeBSD est connecte `a l'Internet; les
   autres systemes ne peuvent pas partager la meme connexion.

   Par exemple, si le programme ppp est lance par:

   # ppp interactive

   ou:

   # ppp -auto demand

   correspondant respectivement aux modes manuel et automatique,
   alors il etablira une connexion `a l'Internet pour la seule
   machine FreeBSD.

   Pour demarrer le programme ppp pour l'utiliser comme passerelle
   entre le reseau local et l'Internet, il faut utiliser l'une des
   commandes suivantes:

   # ppp -alias interactive

   ou:

   # ppp -auto -alias demand

   Alternativement, vous pouvez utiliser l'instruction ``alias enable
   yes'' dans votre fichier de configuration de ppp (Reportez-vous
   aux pages de manuel pour plus de details).

   Gardez cela present `a l'esprit si vous passez maintenant au
   chapitre Configurer les systemes Windows.

     --------------------------------------------------------------

5. Configurer les Systemes Windows

   Comme indique au Chapitre Mise en oeuvre du reseau local, le
   reseau de notre exemple comporte un systeme FreeBSD (``Curly'')
   qui sert de passerelle (ou routeur) pour un reseau local compose
   de trois moutures differentes de systemes Windows. Pour que ces
   stations puissent utiliser Curly comme routeur, elles doivent etre
   correctement configurees. Notez bien que l'on ne vous explique pas
   ici comment configurer les postes Windows pour qu'ils puissent se
   connecter eux-memes. Si vous cherchez de bonnes explications sur
   le sujet, voyez http://www.aladdin.co.uk/techweb.

     --------------------------------------------------------------

  5.1. Configurer Windows 95

   Il est relativement simple de configurer Windows 95 pour relier un
   poste `a votre reseau local. Le configuration reseau Windows 95
   doit etre legerement modifiee pour pouvoir utiliser le systeme
   FreeBSD comme passerelle par defaut vers votre fournisseur
   d'acces. Effectuez les etapes suivantes:

     --------------------------------------------------------------

    5.1.1. Creer le fichier Windows 95 hosts

   Pour vous connecter aux autres postes TCP/IP du reseau local, vous
   devrez installer une copie du fichier hosts que vous avez cree sur
   votre systeme FreeBSD au paragraphe Renseigner la liste des autres
   machines du reseau.

     * Cliquez sur le bouton ``Demarrer'', choisissez ``Executer
       ...'', lancez notepad \WINDOWS\HOSTS et cliquez sur ``OK'',

     * Sous l'editeur, entrez les noms et les adresses des machines
       recopies du fichier hosts du paragraphe Renseigner la liste
       des autres machines du reseau,

     * Une fois que c'est fait, quittez notepad (assurez-vous d'avoir
       enregistre le fichier!).

     --------------------------------------------------------------

    5.1.2. Definir le configuration reseau TCP/IP Windows 95

     * Cliquez sur le bouton ``Demarrer'' de la barre de taches,
       Choisissez ``Parametres'' et ``Panneau de Configuration'',

     * Double-cliquez sur l'icone reseau pour l'ouvrir.

       Les parametres des elements du reseau sont tous affiches.

     * Selectionnez l'option ``Configuration'' et faites defiler la
       liste des composants installes pour choisir la ligne ``TCP/IP
       ->votre interface'' (ou votre interface est le nom ou le
       modele de votre controleur Ethernet),

       Si ``TCP/IP'' ne figure pas dans la liste des composants
       reseau installes, cliquez sur le bouton ``Ajouter'' pour
       l'installer avant de continuer

         Astuce : Ajouter | Protocoles | Microsoft | TCP/IP | OK.

     * Cliquez sur le bouton ``Proprietes'' pour afficher la liste
       des parametres associes au composant TCP.

     --------------------------------------------------------------

    5.1.3. Configurer les informations relatives `a l'adresse IP

     * Choisissez l'onglet ``Adresse IP''

     * Enfoncez le bouton ``Specifier une adresse IP''.

       (Dans notre exemple, le systeme Windows 95 est celui que nous
       avons appele ``Larry''.)

     * Dans la zone ``Adresse IP'', entrez ``192.168.1.2'',

     * Entrez ``255.255.255.0'' dans le zone ``Masque de
       Sous-reseau''.

     --------------------------------------------------------------

    5.1.4. Configurer les informations relatives `a la passerelle

     * Cliquez sur l'onglet ``Passerelle''.

       Dans le reseau de notre exemple, c'est le systeme FreeBSD qui
       sera notre passerelle vers l'Internet (routant les paquets
       entre le reseau local Ethernet et la connexion PPP). Entrez
       l'adresse IP de l'interface Ethernet de la machine FreeBSD,
       ``192.168.1.1'', dans la zone ``Nouvelle Passerelle'' et
       cliquez sur le bouton ``Ajouter''. S'il y a d'autres
       passerelles definies dans les ``Passerelles Installees'',
       peut-etre devrez-vous les supprimer.

     --------------------------------------------------------------

    5.1.5. Configurer les informations relatives au DNS

   Nous supposons que votre fournisseur d'acces Internet vous a donne
   une liste de serveurs de noms de domaines (Domain Name
   Servers) - ou ``Serveurs DNS'' - que vous devez utiliser. Si vous
   voulez mettre en service un serveur DNS sur votre machine FreeBSD,
   reportez-vous au chapitre Exercices pour l'etudiant interesse pour
   avoir des indications sur l'installation d'un serveur DNS sur une
   machine FreeBSD.

     * Cliquez sur l'onglet ``Configuration DNS'',

     * Assurez-vous que l'option ``Activer DNS'' est bien
       selectionnee,

       (Si cette option n'est pas selectionnee, seules les machines
       definies dans votre fichier hosts seront accessibles et vous
       ne pourrez pas ``surfer'' comme vous le souhaitez!)

     * Dans la zone ``Hote'', entrez le nom du poste Windows 95, dans
       notre cas : ``Larry'',

     * Dans la zone ``Domaine'', entrez le nom du reseau local, dans
       notre cas : ``my.domain'',

     * Dans la zone ``Ordre de recherche DNS'', entrez les adresses
       IP des serveurs DNS que votre fournisseur vous a donnees,
       cliquez sur ``Ajouter'' `a chaque adresse que vous definissez.
       Repetez l'operation autant de fois que necessaire pour entrer
       toutes les adresses que votre fournisseur vous a indiquees.

     --------------------------------------------------------------

    5.1.6. Autres options TCP/IP Windows 95

   Pour nos besoins, les parametres des sections ``Avancees'',
   ``Configuration WINS'' et ``Liens'' sont inutiles.

   Si vous souhaitez utiliser le service de noms Internet de Windows
   (Windows Internet Naming Service - ``WINS''), vous trouverez plus
   d'informations sur http://www.localnet.org, en particulier en ce
   qui concerne le partage de fichiers de fac,on transparente `a
   travers l'Internet.

     --------------------------------------------------------------

    5.1.7. Pour finir

     * Cliquez sur ``OK'' pour fermer la fenetre ``Proprietes
       TCP/IP'',

     * Cliquez sur ``OK'' pour fermer la fenetre ``Panneau de
       Controle Reseau'',

     * Redemarrez votre ordinateur si on vous le demande.

   C'est tout!

     --------------------------------------------------------------

  5.2. Configurer Windows NT

   Il est relativement simple de configurer Windows NT pour relier un
   poste `a votre reseau local. Les procedures sont semblables `a
   celles suivies pour Windows 95 `a quelques differences pres quant
   `a l'interface utilisateur.

   Les etapes decrites ci-dessous s'appliquent `a Windows NT 4.0
   Workstation, mais les principes sont les memes pour Windows NT
   3.5x. Si vous installez un poste Windows NT 3.5x, vous pouvez vous
   referer au paragraphe Configurer Windows for Workgroups, en effet,
   l'interface utilisateur est la meme pour NT 3.5x et WfW.

   Effectuez les operations suivantes:

     --------------------------------------------------------------

    5.2.1. Creer le fichier Windows NT hosts

   Pour vous connecter aux autres postes TCP/IP du reseau local, vous
   devrez installer une copie du fichier hosts que vous avez cree sur
   votre systeme FreeBSD au paragraphe Configurer Windows for
   Workgroups.

     * Cliquez sur le bouton ``Demarrer'', choisissez ``Executer
       ...'', lancez notepad \WINDOWS\SYSTEM\DRIVERS\ETC\HOSTS et
       cliquez sur ``OK'',

     * Sous l'editeur, entrez les noms et les adresses des machines
       recopies du fichier hosts du paragraphe Renseigner la liste
       des autres machines du reseau,

     * Une fois que c'est fait, quittez notepad (assurez-vous d'avoir
       enregistre le fichier!).

     --------------------------------------------------------------

    5.2.2. Definir le configuration reseau TCP/IP Windows NT

     * Cliquez sur le bouton ``Demarrer'' de la barre de taches,
       Choisissez ``Parametres'' et ``Panneau de Configuration'',

     * Double-cliquez sur l'icone reseau pour l'ouvrir,

     * Dans l'onglet ``Identification'', verifiez les informations
       des zones ``Nom d'Ordinateur'' et ``Workgroup''. Dans notre
       exemple, ``Shemp'' sera le nom de la machine, et ``Stooges''
       celui du groupe de travail. Choisissez ``Modifier'' pour
       corriger ces valeurs au besoin,

     * Choisissez l'onglet ``Protocoles''.

       Les Protocoles Reseau installes seront affiches. Il peut y en
       avoir un certain nombre, mais le seul qui nous interesse ici
       est le ``Protocole TCP/IP''. Si le ``Protocole TCP/IP''
       n'apparait pas dans la liste, cliquez sur le bouton
       ``Ajouter'' pour l'installer.

         Astuce : Ajouter | Protocole TCP/IP | OK.

     * Selectionnez ``Protocole TCP/IP'' et cliquez sur le bouton
       ``Proprietes''.

       Les differentes proprietes associees `a TCP/IP apparaitront.

     --------------------------------------------------------------

    5.2.3. Configurer les informations relatives `a l'adresse IP

   Verifiez que l'interface Ethernet est bien definie dans la zone
   ``Carte Reseau''; si ce n'est pas le cas, parcourez la liste des
   controleurs jusqu'`a ce que l'interface adequate soit affichee.

     * Choisissez l'option ``Specifier une Adresse IP'' pour activer
       les trois zones de texte,

       Dans notre exemple, le poste Windows NT est celui qui s'appele
       ``Shemp''.

     * Dans la zone ``Adresse IP'', entrez ``192.168.1.4'',

     * Entrez ``255.255.255.0'' dans le zone ``Masque de
       Sous-reseau.''.

     --------------------------------------------------------------

    5.2.4. Configurer les informations relatives `a la passerelle

   Dans le reseau de notre exemple, c'est le systeme FreeBSD qui sera
   notre passerelle vers l'Internet (routant les paquets entre le
   reseau local Ethernet et la connexion PPP).

     * S'il n'y a rien encore dans la zone ``Nouvelle Passerelle'',
       entrez l'adresse IP de l'interface Ethernet de la machine
       FreeBSD, ``192.168.1.1'', dans cette zone et cliquez sur le
       bouton ``Ajouter''. Sinon, utilisez le bouton "Avancees" et la
       fonction ``Ajouter'' pour ajouter cette nouvelle passerelle.

       S'il y a d'autres passerelles definies dans les ``Passerelles
       Installees'', peut-etre devrez-vous les supprimer.

     --------------------------------------------------------------

    5.2.5. Configurer les informations relatives au DNS

   Nous supposons que votre fournisseur d'acces Internet vous a donne
   une liste de serveurs de noms de domaines (Domain Name
   Servers) - ou ``Serveurs DNS'' - que vous devez utiliser.

   Si vous voulez mettre en service un serveur DNS sur votre machine
   FreeBSD, reportez-vous au chapitre Exercices pour l'etudiant
   interesse pour avoir des indications sur l'installation d'un
   serveur DNS sur une machine FreeBSD.

     * Cliquez sur le bouton ``DNS'',

     * Dans la zone ``Nom d'Hote'', entrez le nom du poste Windows
       NT, dans notre cas : ``Shemp'',

     * Dans la zone ``Domaine'', entrez le nom du reseau local, dans
       notre cas : ``my.domain'',

     * Dans la zone ``Ordre de recherche du service DNS'', entrez les
       adresses IP des serveurs DNS que votre fournisseur vous a
       donnees, cliquez sur ``Ajouter'' `a chaque adresse que vous
       definissez. Repetez l'operation autant de fois que necessaire
       pour entrer toutes les adresses que votre fournisseur vous a
       indiquees.

     --------------------------------------------------------------

    5.2.6. Autres options TCP/IP Windows NT

   Pour nos besoins, les parametres des sections ``Adresses WINS'' et
   ``Routage'' sont inutiles.

   Si vous souhaitez utiliser le service de noms Internet de Windows
   (Windows Internet Naming Service - ``WINS''), vous trouverez plus
   d'informations sur http://www.localnet.org, en particulier en ce
   qui concerne le partage de fichiers de fac,on transparente `a
   travers l'Internet.

     --------------------------------------------------------------

    5.2.7. Pour finir

     * Cliquez sur ``OK'' pour fermer la fenetre ``Proprietes
       TCP/IP'',

     * Cliquez sur ``OK'' pour fermer la fenetre ``Panneau de
       Controle Reseau'',

     * Redemarrez votre ordinateur si on vous le demande.

   C'est tout!

     --------------------------------------------------------------

  5.3. Configurer Windows for Workgroups

   Pour qu'un poste Windows for Workgroups puisse etre utilise en
   reseau, il faut avoir installe les pilotes qui sont sur la
   disquette Microsoft TCP/IP. Ces pilotes ne sont pas inclus avec
   WfW et les disquettes qui vont avec. S'il vous en faut une copie,
   ils sont disponibles sur
   ftp://ftp.microsoft.com/peropsys/windows/public/tcpip.

   Une fois que les pilotes TCP/IP ont ete installes, effectuez les
   operations suivantes:

     --------------------------------------------------------------

    5.3.1. Creer le fichier Windows for Workgroups hosts

   Pour vous connecter aux autres postes TCP/IP du reseau local, vous
   devrez installer une copie du fichier hosts que vous avez cree sur
   votre systeme FreeBSD au paragraphe Renseigner la liste des autres
   machines du reseau.

     * Dans le Gestionnaire de Programmes, cliquez sur le bouton
       ``Fichier'', choisissez ``Executer ...'', lancez notepad
       \WINDOWS\HOSTS et cliquez sur ``OK'',

     * Sous l'editeur, entrez les noms et les adresses des machines
       recopies du fichier hosts de Renseigner la liste des autres
       machines du reseau,

     * Une fois que c'est fait, quittez notepad (assurez-vous d'avoir
       enregistre le fichier!).

     --------------------------------------------------------------

    5.3.2. Definir le configuration reseau TCP/IP Windows for Workgroups

     * Dans le Gestionnaire de Programmes, ouvrez le groupe
       ``Reseau'' en double-cliquant sur l'icone,

     * Double-cliquez sur l'icone ``Parametres Reseau'',

     * Dans la boite de dialogue ``Pilotes Reseau'', double-cliquez
       sur l'option ``Microsoft TCP/IP-32''.

     --------------------------------------------------------------

    5.3.3. Configurer les informations relatives `a l'adresse IP

   Verifiez que l'interface Ethernet est bien definie dans la liste
   ``Carte Reseau''; si ce n'est pas le cas, parcourez la liste des
   controleurs jusqu'`a ce que l'interface adequate soit affichee et
   selectionnez-la en cliquant dessus.

     * Verifiez que l'option ``Activer la Configuration DHCP
       Automatique'' n'est pas selectionnee. Si c'est le cas, cliquez
       dessus pour effacer le ``X''.

     * Dans notre exemple, le poste Windows for Workgroups est celui
       qui s'appelle ``Moe''; dans la zone ``Adresse IP'', entrez
       ``192.168.1.3'',

     * Entrez ``255.255.255.0'' dans le zone ``Masque de
       Sous-reseau''.

     --------------------------------------------------------------

    5.3.4. Configurer les informations relatives `a la passerelle

   Dans le reseau de notre exemple, c'est le systeme FreeBSD qui sera
   notre passerelle vers l'Internet (routant les paquets entre le
   reseau local Ethernet et la connexion PPP).

     * Entrez l'adresse IP de l'interface Ethernet de la machine
       FreeBSD, ``192.168.1.1'', dans la zone ``Passerelle par
       Defaut''.

     --------------------------------------------------------------

    5.3.5. Configurer les informations relatives au DNS

   Nous supposons toujours que votre fournisseur d'acces Internet
   vous a donne une liste de serveurs de noms de domaines (Domain
   Name Servers) - ou ``Serveurs DNS'' - que vous devez utiliser.

   Si vous voulez mettre en service un serveur DNS sur votre machine
   FreeBSD, reportez-vous au chapitre Exercices pour l'etudiant
   interesse pour avoir des indications sur l'installation d'un
   serveur DNS sur une machine FreeBSD.

     * Cliquez sur l'onglet ``Configuration DNS'',

     * Dans la zone ``Hote'', entrez le nom du poste Windows for
       Workgroups, dans notre cas : ``Moe'',

     * Dans la zone ``Domaine'', entrez le nom du reseau local, dans
       notre cas : ``my.domain'',

     * Dans la zone ``Ordre de recherche DNS'', entrez les adresses
       IP des serveurs DNS que votre fournisseur vous a donnees,
       cliquez sur ``Ajouter'' `a chaque adresse que vous definissez.
       Repetez l'operation autant de fois que necessaire pour entrer
       toutes les adresses que votre fournisseur vous a indiquees,

     * Cliquez sur ``OK'' pour fermer la fenetre ``Configuration
       DNS''.

     --------------------------------------------------------------

    5.3.6. Pour finir

     * Cliquez sur ``OK'' pour fermer la fenetre ``Proprietes
       TCP/IP'',

     * Cliquez sur ``OK'' pour fermer la fenetre ``Panneau de
       Controle Reseau'',

     * Redemarrez votre ordinateur si on vous le demande.

   C'est tout!

     --------------------------------------------------------------

6. Tester le reseau

   Une fois que vous aurez termine les operations necessaires
   decrites plus haut, votre passerelle PPP vers l'Internet devrait
   etre operationnelle.

     --------------------------------------------------------------

  6.1. Tester la connexion vers l'exterieur

   La premiere chose `a verifier est que la connexion s'etablisse
   entre votre modem et votre fournisseur d'acces.

     --------------------------------------------------------------

  6.2. Tester le reseau local

   *** `a faire ***

     --------------------------------------------------------------

7. Exercices pour l'etudiant interesse

  7.1. Gerer un mini-DNS

   Bien que gerer une hierarchie du service de noms de domaines
   (``Domain Name Service'' - DNS) puisse etre une tache diabolique,
   il est tout `a fait faisable d'installer un mini-serveur DNS sur
   le systeme FreeBSD qui vous sert aussi de passerelle vers votre
   fournisseur d'acces.

   A partir des fichiers existants dans /etc/namedb apres
   installation de FreeBSD, il est possible de definir un serveur DNS
   qui ait autorite sur le reseau de notre exemple et serve
   d'interface avec l'architecture DNS de l'Internet.

   Pour cette configuration minimale, il suffit de trois fichiers:

     * /etc/namedb/named.boot

     * /etc/namedb/named.root

     * /etc/namedb/mydomain.db

   Le fichier /etc/namedb/named.root est automatiquement initialise
   `a l'installation de FreeBSD, les deux autres fichiers doivent
   etre renseignes manuellement.

     --------------------------------------------------------------

    7.1.1. Le fichier /etc/namedb/named.boot

   Le fichier /etc/namedb/named.boot decrit la configuration initiale
   du serveur DNS. Essentiellement, il indique au serveur de noms:

    1. Ou sont les fichiers de configuration,

    2. De quels ``noms de domaines'' il a la responsabilite,

    3. Ou trouver les autres serveurs DNS.

   Avec l'editeur ee, creez un fichier /etc/namedb/named.boot comme
   suit:

 
; fichier de demarrage pour un mini-serveur de noms de domaines

 directory       /etc/namedb

 ; type    domain             source machine/fichier   fichier de sauvegarde

 cache     .                  named.root
 primary   my.domain.         mydomain.db

   Les lignes qui commencent par un point-virgule sont des
   commentaires. Voici la signification des autres lignes:

     * directory /etc/namedb

       Dit au serveur de noms ou trouver les fichiers de
       configuration references dans la suite du fichier
       /etc/namedb/named.boot.

     * cache . named.root

       Dit au serveur de noms que la liste des serveurs de la racine
       (``Root Servers'') se trouve dans le fichier named.root. (Ce
       fichier est inclus dans l'installation standard et n'est pas
       decrit ici.)

     * primary my.domain mydomain.db

       Dit au serveur de noms qu'il a ``autorite'' sur un domaine DNS
       appele ``my.domain'' et que la liste des adresses IP des
       machines du domaine ``my.domain'' (le reseau local) se trouve
       dans le fichier /etc/namedb/mydomain.db.

   Une fois cree et sauvegarde le fichier /etc/namedb/named.boot,
   passez `a l'etape suivante pour creer le fichier
   /etc/namedb/named.db.

     --------------------------------------------------------------

    7.1.2. Le fichier /etc/namedb/named.db

   Le fichier /etc/namedb/named.boot liste les noms et les adresses
   IP de toutes les machines du reseau local.

   Pour une description detaillee des instructions de ce fichier,
   reportez-vous aux pages de manuel de named.

   Le fichier /etc/namedb/named.boot de notre serveur DNS minimum
   contient les lignes suivantes:

 @       IN SOA  my.domain. root.my.domain.  (
                                961230  ; Serial
                                3600    ; Refresh
                                300     ; Retry
                                3600000 ; Expire
                                3600 )  ; Minimum
        IN NS   curly.my.domain.

 curly.my.domain.        IN A    192.168.1.1     # The FreeBSD box
 larry.my.domain.        IN A    192.168.1.2     # The Win'95 box
 moe.my.domain.          IN A    192.168.1.3     # The WfW box
 shemp.my.domain.        IN A    192.168.1.4     # The Windows NT box

 $ORIGIN 1.168.192.IN-ADDR.ARPA
                 IN NS   curly.my.domain.
 1               IN PTR  curly.my.domain.
 2               IN PTR  larry.my.domain.
 3               IN PTR  moe.my.domain.
 4               IN PTR  shemp.my.domain.

 $ORIGIN 0.0.127.IN-ADDR.ARPA
                 IN NS   curly.my.domain.
 1               IN PTR  localhost.my.domain.

   Brievement, ce fichier declare que le serveur DNS local est:

     * Le ``Debut d'Autorite'' (Start Of Authority) pour le domaine
       appele ``my.domain'',

     * Le serveur de noms (Name Server - ``NS'') pour ``my.domain'',

     * Responsable de la resolution inverse des adresses IP qui
       commencent par ``192.168.1'' et ``127.0.0'' (``$ORIGIN ...'').

   Pour ajouter de nouvelles machines, vous devez ajouter deux lignes
   pour chaque systeme; une dans la section du haut ou les noms des
   systemes sont associes aux adresses Internet (``IN A''), et une
   autre ligne qui associe inversement l'adresse au nom de la machine
   (``IN PTR''), dans la section ``$ORIGIN 1.168.192.IN-ADDR.ARPA''.

     --------------------------------------------------------------

    7.1.3. Demarrer le serveur DNS

   Par defaut, le serveur DNS (/etc/sbin/named) n'est pas lance au
   demarrage du systeme. Vous pouvez modifier ce comportement en
   rectifiant une seule ligne dans le fichier /etc/rc.conf, comme
   suit:

   Avec l'editeur ee, visualisez le fichier /etc/rc.conf. Descendez
   d'une quarantaine de lignes jusqu'`a ce que vous trouviez la
   section qui dit:

 ---
 named_enable="NO"                       # Run named, the DNS server (or NO).
 named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled).
 ---

   et modifiez-la en:

 ---
 named_enable="YES"                      # Run named, the DNS server (or NO).
 named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled).
 ---

   Sauvegardez le fichier et redemarrez le systeme.

   Vous pouvez aussi demarrer le serveur DNS avec la commande
   suivante:

   # named -b /etc/namedb/named.boot

   Chaque fois que vous modifiez les fichiers du repertoire
   /etc/namedb/named.boot, vous devez faire relire ces modifications
   par le serveur DNS avec la commande suivante:

   # kill -HUP `cat /var/run/named.pid`

     --------------------------------------------------------------

  7.2. Essayer les filtres PPP

   Le programme ppp a la capacite d'appliquer des regles de filtrage
   au trafic qu'il route. Bien que cela ne soit pas aussi securise
   qu'un veritable coupe-feu, cela autorise quelques controles
   d'acces `a la liaison.

   (``man ipfw'' pour plus d'informations sur la configuration d'un
   systeme FreeBSD plus securise.)

   La documentation complete des differents filtres et regles
   utilisables avec le programme ppp se trouve dans les pages de
   manuel de ppp.

   Il y a quatre classes de filtres qui s'appliquent au programme
   ppp:

     * afilter - filtre compteur d'acces (ou ``Keep Alive'' - garder
       en vie)

       Ils definissent quels evenements sont ignores par
       l'instruction set timeout=.

     * dfilter - filtre d'appel

       Ils definissent quels evenements sont ignores par ppp en mode
       connexion `a la demande.

     * ifilter - filtre d'entree

       Ils definissent quels paquets entrants sont acceptes ou
       refuses par le programme ppp.

     * ofilter - filtre de sortie

       Ils definissent quels paquets sortants sont acceptes ou
       refuses par le programme ppp.

   L'exemple qui suit est un extrait de la configuration d'un systeme
   operationnel qui donne une bonne base pour un fonctionnement
   Internet ``normal'', tout en empechant que ppp accepte n'importe
   quoi sur la liaison. Les commentaires decrivent la logique de
   chaque jeu de regles.:

        #
        # filtres KeepAlive
        # ne pa prendre en compte les paquets ICMP,DNS et RIP
        #
         set afilter 0 deny icmp
         set afilter 1 deny udp src eq 53
         set afilter 2 deny udp dst eq 53
         set afilter 3 deny udp src eq 520
         set afilter 4 deny udp dst eq 520
         set afilter 5 permit 0/0 0/0
        #
        # filtre d'appel:
        #  Note:  ICMP etablira la connexion dans cette configuration!
        #
         set dfilter 0 permit 0/0 0/0
        #
        # autoriser les paquets ident
        #
         set ifilter 0 permit tcp dst eq 113
         set ofilter 0 permit tcp src eq 113
        #
        # autoriser les connexions telnet `a l'Internet
        #
         set ifilter 1 permit tcp src eq 23 estab
         set ofilter 1 permit tcp dst eq 23
        #
        # autoriser l'acces ftp `a l'Internet
        #
         set ifilter 2 permit tcp src eq 21 estab
         set ofilter 2 permit tcp dst eq 21
         set ifilter 3 permit tcp src eq 20 dst gt 1023
         set ofilter 3 permit tcp dst eq 20
        #
        # autoriser les requetes DNS
        #
         set ifilter 4 permit udp src eq 53
         set ofilter 4 permit udp dst eq 53
        #
        # autoriser les transferts de zone DNS
        #
         set ifilter 5 permit tcp src eq 53
         set ofilter 5 permit tcp dst eq 53
        #
        # autoriser l'acces depuis/vers le reseau local
        #
         set ifilter 6 permit 0/0 192.168.1.0/24
         set ofilter 6 permit 192.168.1.0/24 0/0
        #
        # autoriser les reponses au ping et traceroute
        #
         set ifilter 7 permit icmp
         set ofilter 7 permit icmp
         set ifilter 8 permit udp dst gt 33433
         set ofilter 9 permit udp dst gt 33433
        #
        # autoriser cvsup
        #
         set ifilter 9 permit tcp src eq 5998
         set ofilter 9 permit tcp dst eq 5998
         set ifilter 10 permit tcp src eq 5999
         set ofilter 10 permit tcp dst eq 5999
        #
        # autoriser NTP pour la synchronization des horloges
        #
         set ifilter 11 permit tcp src eq 123 dst eq 123
         set ofilter 11 permit tcp src eq 123 dst eq 123
         set ifilter 12 permit udp src eq 123 dst eq 123
         set ofilter 12 permit udp src eq 123 dst eq 123
        #
        # SMTP serait une bonne idee!
        #
         set ifilter 13 permit tcp src eq 25
         set ofilter 13 permit tcp dst eq 25
        #
        #
        # nous utilisons beaucoup whois, donc nous le laissons passer
        #
         set ifilter 14 permit tcp src eq 43
         set ofilter 14 permit tcp dst eq 43
         set ifilter 15 permit udp src eq 43
         set ofilter 15 permit udp dst eq 43
        #
        # si aucune des conditions ci-dessus n'est remplie, le paquet est refuse
        #-------

   Il peut y avoir jusqu'`a vingt regles dans chaque classe de
   filtres. Dans chaque classe, les regles sont numerotees
   sequentiellement de 0 `a 20, mais aucune regle dans une classe
   particuliere n'est appliquee tant que la regle ``0'' n'est pas
   definie!

   Si vous decidez de ne pas utiliser de regles de filtrage dans
   votre configuration du programme ppp, alors TOUT le trafic de/vers
   votre systeme sera accepte lorsqu'il est connecte `a votre
   fournisseur d'acces.

   Si vous decidez d'appliquer des regles de filtrages, ajoutez les
   lignes precedentes `a votre fichier /etc/ppp/ppp.conf dans l'une
   des sections ``default'', ``demand'' ou ``interactive'' (ou `a
   toutes - c'est `a vous de voir).

  Notes

   [1] N.d.T: Si vous souhaitez consulter le document original en     
       langue anglaise, il se trouve sur                              
       http://www.FreeBSD.org/ppp/ppp.html.                           
   [2] N.d.T: ne disposant du materiel necessaire au controle de      
       certains de ces libelles dans les versions franc,isees de      
       Windows, ils ont ete traduits du document en langue anglaise.  
       En cas d'inexactitude, le lecteur voudra bien rectifier de     
       lui-meme.                                                      

     --------------------------------------------------------------

        Ce document, ainsi que d'autres peut etre telecharge sur
                   ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions `a propos de FreeBSD, lisez la documentation avant
                 de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.
