Le protocole PPPoE
Transcription
Le protocole PPPoE
Les tunnels point à point. [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Présentation rapide. PPP, PPtP, PPPoE, PPPoA ... Autant d'acronymes barbares qui fleurissent sur le Net. Les Internautes câblés n'avaient jusqu'ici pas à se préoccuper de ces sujets de torture intellectuelle, nous devons malheureusement nous y plonger, FTCI ouvrant le bal. Voici, rapidement présentés, les points que nous allons essayer de développer dans ce chapitre. Il s'adresse à tous les internautes connectés à "haut débit" (câble, mais aussi ADSL). D'ailleurs, la plupart des manips est faite sur une connexion ADSL. La connexion Point à Point. Depuis longtemps l'informatique a besoin d'établir des connexions entre hôtes sur des supports qui ne sont pas des supports "réseau". Une liaison série RS 232 par exemple, comme celle qui reliait votre PC à votre Modem RTC, du temps où l'USB n'existait pas. Connexion Internet via un modem RTC. Depuis le PC jusqu'à l'équipement du fournisseur d'accès, la connexion n'est pas de type "réseau" (du moins, jusqu'au concentrateur téléphonique). Internet nécessite l'usage du protocole TCP/IP. Il est donc nécessaire d'y mettre en dessous un autre protocole, capable de supporter TCP/IP, qui ne sera pas Ethernet (puisque la connexion n'est pas de type "réseau"). PPP (Point to Point Protocol) a été créé pour résoudre ce problème. PPP est capable de transporter sur une liaison série, sur une ligne téléphonique RTC par l'intermédiaire d'un modem, non seulement TCP/IP, mais tout protocole réseau comme IPX/SPX ou même NetBEUI. Connexion Internet via le câble. Pour le câble, c'est différent. Nous avons une architecture réseau et il est parfaitement possible de transporter des trames Ethernet dessus (via ATM, qui arrive jusqu'au modem câble). Il n'est donc à priori pas nécessaire d'utiliser un protocole point à point, ce qui était d'ailleurs le cas jusqu'à présent. Connexion Internet via ADSL. Bien que l'on utilise ici une ligne téléphonique, c'est ATM qui arrive jusqu'au modem de l'abonné. Nous sommes donc dans la même situation qu'avec le câble, il est possible de transporter des trames Ethernet jusque chez l'abonné, sans utilisation d'un protocole point à point. Les premières expérimentations de l'ADSL ont d'ailleurs eu lieu sur ce schéma. Les tunnels point à point ont été ajoutés pour permettre de partager le même support (boucle locale) entre plusieurs fournisseurs d'accès. Câble ou ADSL sans support point à point. Dans cette configuration, tous les abonnés sont, dès lors qu'ils sont connectés, placés sur un même réseau physique. Il ne peut simplement y avoir qu'un seul fournisseur d'accès commun à tous les abonnés. Cette situation a été acceptée pour les câblo opérateurs, elle ne l'a pas été pour l'exploitation de l'ADSL. Câble ou ADSL avec support point à point. Les deux technologies amènent un réseau ATM jusqu'au modem de l'abonné. ATM est un protocole réseau qui fonctionne en mode connecté. Autrement dit, il établit un chemin virtuel entre client et serveur pour réaliser la connexion. Mais TCP/IP fonctionne sur Ethernet. Finalement, les trames Ethernet sont transportées par ATM, qui devient complètement transparent pour l'utilisateur. Dans la pratique, avec un modem câble ou un modem ADSL relié au PC par un lien Ethernet, le PC se croit directement connecté à un réseau Ethernet. Si l'on ajoute au dessus d'Ethernet un protocole capable de faire du point à point entre le client et son fournisseur d'accès, on réalise une sorte de tunnel qui va permettre principalement d'utiliser le même "réseau" pour y faire cohabiter des clients de fournisseurs différents, la connexion se réalisant avec le bon fournisseur grâce à l'identifiant de connexion. Cette stratégie a été mise en place sur ADSL au moment de sa mise en production, elle est en train de se mettre en place sur les réseaux câblés de FTC. Plan du chapitre. Si vous avez le courage d'aller jusqu'au bout de ce chapitre, PPPoE n'aura (presque) plus de secrets pour vous. [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] IP sur quoi ? [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Petit rappel. Peut-être est-il bon de rappeler ici le modèle DOD, celui sur lequel TCP/IP s'appuie. Dans le cas qui nous occupe, c'est principalement la couche d'accès réseau qui nous intéresse. IP s'appuie avec aisance sur Ethernet. Mais il est tout aussi bien possible de remplacer Ethernet par quelque chose d'autre, pourvu que ce quelque chose procure une adresse MAC. Il faut que l'ARP fonctionne. PPP, Point to Point Protocol. Nous savons tous qu'une connexion Internet fonctionne correctement si l'on ne dispose que d'un simple modem RTC (Réseau Téléphonique Commuté). Dans ce cas, il faut disposer d'un client PPP, capable d'établir une connexion PPP avec les équipements du FAI. Sous Windows, ce client apparaît comme un "client d'accès distant" Voici typiquement ce que l'on voit sous WIndows 2000 par exemple, lorsque l'on dispose à la fois d'une connexion de type "réseau local" et une connexion par modem RTC (ici "rtc Free") Si l'on développe les propriétés de cette connexion RTC, voici ce que l'on voit: Un client PPP, capable de se connecter à des serveurs d'accès distants de type Windows 95/98/NT4/2000 (et XP bien sûr), mais aussi Internet. Quelques tribulations dans cette fenêtre montreront que l'on dispose ici de toutes les possibilités de TCP/IP L'aspect de ces fenêtre diffèrera suivant la version de Windows, mais vous retrouverez les mêmes fonctionnalités sur toutes les versions, à partir de Windows 95. Tout ceci pour bien montrer que TCP/IP peut sans problèmes s'appuyer sur PPP plutôt que sur Ethernet. Et l'adresse MAC ? L'adresse MAC, normalement, est inscrite en "dur" dans l'interface Ethernet. Dans le cas de PPP, il n'y a bien entendu pas d'adresse MAC écrite en "dur" sur votre machine, le serveur d'accès distant va combler cette lacune (service proxy ARP). A gauche, IP s'appuie sur Ethernet qui utilise un support de type 802.3 A droite, IP s'appuie sur PPP qui utilise (par exemple) un support de type liaison série RS 232 Remarques diverses. Ethernet et PPP n'ont pas grand chose en commun, si ce n'est qu'ils peuvent supporter tous les deux IP. Ethernet. Nous l'avons largement vu par ailleurs sur ce site, Ethernet est un support "communautaire". les datagrammes circulent sur tout le réseau physique, tout le monde peut les voir passer, c'est juste la couche d'accès au réseau qui va, suivant l'adresse MAC du destinataire, décider de remonter ou non le datagramme aux couches supérieures. Cette technologie est très majoritairement utilisée sur les réseaux locaux. PPP. Nous sommes en mode connecté point à point. Lorsque l'on utilise un modem RTC, depuis son PC jusqu'à l'équipement du fournisseur de services on utilise une ligne qui relie physiquement les deux machines et elles seules (au moins virtuellement, comme nous le verrons plus loin). ATM, l'accès réseau qui travaille dans l'ombre. Le réseau France Télécoms est un réseau ATM. C'est le même réseau qui sert aussi bien pour la téléphonie que le transport de données informatiques. ATM sait transporter des données de toutes natures. Autrement dit, lorsque vous communiquez entre un point A et un point B en utilisant le réseau FT, vous utilisez de l'ATM sans le savoir (et c'est tant mieux pour vous, ATM n'est pas une petite affaire). ● ATM sait transporter de la téléphonie numérisée. Si votre téléphone travaille avec un signal analogique dans une bande passante de 4 KHz sur la fameuse "boucle locale", ce signal est rapidement numérisé avant d'être véhiculé par le réseau ATM. Il sera à nouveau transformé en signal analogique avant d'être injecté dans la boucle locale de votre interlocuteur. (Même chemin tortueux pour les signaux des modems RTC). ● ATM sait aussi transporter des signaux vidéo numérisés, mais ce n'est pas notre propos. ● ATM sait transporter des données informatiques: ❍ ❍ "Directement", il existe des interfaces ATM qui permettent de construire un réseau informatique purement ATM. "Indirectement", en transportant des datagrammes issus d'autres accès réseaux comme PPP ou Ethernet. Ces trames sont alors transportées sur ATM par le biais d'une couche d'adaptation (AAL comme ATM Adaptation Layer). Dans ce cas, ATM est parfaitement transparent et l'utilisateur peut avoir l'impression qu'il est sur un réseau Ethernet, même si ce n'est pas vrai. C'est le cas actuellement pour les Internautes câblés. ATM est un réseau dit "commuté". Bien que ce soit un vrai réseau, au sens où les équipements sont connectés en réseau, il s'établit un chemin virtuel entre source et cible et pour les données qui transitent, tout se passe comme s'il y avait un "fil" qui relie directement et uniquement source et cible. S'il est bon de savoir qu'ATM est partout dans notre vie d'Internaute, il est encore meilleur de savoir que l'on n'a pas trop besoin de s'en soucier. [ Accueil ] [ Suivante ] Et les tunnels ? [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Les tunnels du dessus. Jusqu'ici, tout est simple. Nous sommes en TCP/IP et, soit nous disposons d'un réseau 802.3 et utilisons Ethernet comme Accès réseau, soit nous disposons d'une ligne téléphonique et nous utilisons PPP comme accès réseau. Seulement, voilà... Ethernet, pose beaucoup de problèmes du fait principalement que les données qui y circulent ne sont pas protégées des regards indiscrets. Les "renifleurs" (sniffers) en sont une brillante démonstration. Il est donc devenu utile de créer au dessus d'Ethernet des connexions de type PPP. Ces connexions, bien que transportées par Ethernet apparaissent comme des liaisons point à point en exploitant les propriétés de PPP. PPTP. (Point to Point Tunelling Protocol). C'est un protocole qui a été développé par Microsoft. Son principe est de créer au dessus d'IP une liaison PPP dans laquelle on va refaire passer de l'IP. Deux couches IP l'une sur l'autre, si vous voulez. Ceci permet de créer des VPN (Virtual Private Network) au dessus d'un réseau public. Il est possible par ce biais de créer une sorte de LAN virtuel privé qui emprunte les voies de l'Internet. PPPoE (Point to Point over Ethernet). Ce protocole, également propriétaire au départ, a été conçu par la société RedBack. Son but, à peine différent, est de créer une liaison point à point au dessus d'Ethernet. Ici, il n'y a pas deux couches IP Dans un cas comme dans l'autre, il s'agit de profiter des avantages d'une connexion point à point sur un accès réseau qui ne le propose pas. (On pourrait faire la chose nativement sur ATM, pas sur Ethernet). Mais pourquoi des tunnels ? A priori, ça permet de rendre les données plus confidentielles. Les tunnels peuvent être cryptés et les connexions s'établissent par PPP et non par les moyens classiques d'IP directement sur Ethernet. Pour un fournisseur de services Internet, l'intérêt principal est qu'il a une meilleure maîtrise des connexions de ses clients. De plus, le même réseau peut être partagé entre plusieurs fournisseurs, les clients établissant une liaison point à point avec leur FAI, comme par le RTC. C'est la solution qui a été retenue pour l'ADSL. Et pourquoi sur le câble ? Demandez à votre FAI, lui le sait sûrement, moi je ne suis pas sûr de le savoir :) [ Précédente ] [ Accueil ] [ Suivante ] PPPoE et le câble. [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] La description qui suit s'appuie sur le cas de CâbleWanadoo. Comme il a été dit plus haut, ATM apparaît ici pour mémoire, mais reste totalement transparent pour l'utilisateur. Sans PPPoE. Nous sommes dans cette configuration: ● IP accède au réseau par Ethernet ● Ethernet est transporté par ATM au moyen de la couche d'adaptation AAL5. Pour le client connecté au Net par ce biais, tout se passe donc comme s'il était sur un réseau IP transporté par Ethernet, configuration identique à celle d'un LAN (Local Area Network). Lors de la mise sous tension du poste client, si l'interface Ethernet est active, DHCP va faire son oeuvre et le client récupèrera automatiquement une IP, une passerelle par défaut, un DNS, bref, tout ce qu'il faut pour qu'il soit connecté au réseau. Lorsque tout se passe bien, cette opération est complètement transparente pour l'utilisateur et il se trouve "de facto" connecté au Net. Il n'y a aucune procédure de "login" avec nom d'utilisateur et mot de passe, comme ça se fait avec une connexion PPP sur RTC. L'utilisateur est en quelque sorte connecté de force. S'il veut s'isoler du réseau, il devra désactiver son interface réseau. En effet, une simple résiliation de bail ne suffira pas, la pile IP essayant à la première occasion d'obtenir un nouveau bail. Avec PPPoE. Ici, nous sommes dans cette configuration: ● IP accède au réseau par PPP ● PPP est transporté par Ethernet. ● Ethernet est transporté par ATM au moyen de la couche d'adaptation AAL5. Nous avons donc une couche de plus et IP se "voit" sur un transport PPP, exactement comme dans le cas d'une connexion par modem RTC, et non plus directement sur un transport Ethernet. Les analyses de trames qui suivent le montrent bien. De ce fait, beaucoup de choses vont changer. (Imaginez que vous revenez en arrière, avec votre ancienne connexion RTC et, tout de même, quelques améliorations). ● Lors de la mise sous tension du client, rien ne devrait se produire concernant la connexion. (sauf si vous avez installé un script de connexion automatique) ● Un client DHCP ne fonctionnera pas. Ce protocole n'est utilisable que sur Ethernet. Votre adaptateur réseau n'a pas besoin d'être configuré en client DHCP. Il ne doit pas l'être, sinon votre pile IP va perdre du temps à chercher un serveur DHCP qu'elle ne trouvera forcément pas. ● Pour établir la connexion, il vous faudra initier une connexion PPP, comme avec votre bon vieux modem RTC (login, mot de passe) et c'est PPP qui récupèrera alors votre IP, la passerelle par défaut et le DNS. Il n'y a plus de bail, les paramètres sont inchangés pour toute la durée de la session (24h maximum. vous serez automatiquement déconnecté si votre session dépasse 24h). Nous verrons cela dans le détail un peu plus loin. ● ● Vous pouvez vous isoler du réseau en fermant votre connexion PPP, exactement comme avec le modem RTC. En fait, si vous le souhaitez, vous pourrez travailler comme "avant" en n'établissant la connexion qu'à la demande et en la refermant automatiquement après une période d'inactivité définie. La différence, c'est que l'ouverture de la session PPP se fera en quelques secondes (3 dans l'exemple que nous verrons plus loin) et que le débit de votre modem restera ce qu'il était avant passage à PPPoE. Un HUB entre plusieurs PC et le Com21 ou le Thomson TCM290 ne vous permettra plus de partager la connexion. Tout ce que vous pourrez faire avec, c'est ouvrir une connexion PPP sur un et un seul PC à la fois. Normalement, votre FAI doit être capable de détecter l'emploi simultané de plusieurs logins identiques et comme vous n'en aurez qu'un... Il existe cependant toujours la possibilité de partager la connexion via un routeur NAT, hardware ou construit sur un PC dédié, par exemple sous Linux. Si vous êtes dans ce cas, c'est le routeur qui va ouvrir la connexion PPP, les autres PC du réseau privé restant configurés comme ils l'étaient avant le basculement. Mais attention au MTU... [ Précédente ] [ Accueil ] [ Suivante ] PPPoE Installation. [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Ce qu'il faut d'abord comprendre. Le cas du modem RTC. Lorsque nous installons une connexion PPP, telle que celle que nous utilisons sur une liaison série avec notre modem RTC, Il n'existe pas à proprement parler d'interface physique. Sous Windows, par exemple, nous installons le "client d'accès distant" que nous lions à notre modem, puis nous le configurons pour qu'il utilise TCP/IP pour la connexion Internet. Le cas du réseau local Ethernet. Lorsque nous installons une interface Ethernet destinée à nous connecter sur un réseau local (ou sur le câble, avant passage à PPPoE), nous installons le "driver" de la carte réseau, puis nous y associons TCP/IP (et éventuellement, d'autres protocoles, comme IPX/SPX ou NetBEUI). Nous configurons alors TCP/IP, soit "en dur" dans le cas d'un petit réseau local, soit de façon automatique via DHCP dans le cas d'un réseau plus complexe, le câble par exemple. Le cas de PPPoE. Dans le cas de PPPoE, vous l'avez compris, il y a une couche de plus. ● Nous installons le "driver" de la carte réseau. ● Nous lions dessus le client PPPoE. Suivant la forme de ce client, il pourra apparaître comme un client d'accès distant (cas de ras pppoe) ou comme quelque chose de spécifique (cas d'Enternet), sans oublier le cas particulier de Windows XP qui intègre nativement PPPoE. ● TCP/IP va venir se lier à ce client de façon plus ou moins transparente, suivant le client Notez bien qu'à aucun moment, TCP/IP n'a été directement lié à Ethernet, comme c'est le cas pour le réseau local. Pour les câblés, le passage en PPPoE devrait donc s'assortir de deux manipulations distinctes: ● La suppression de la liaison entre Ethernet et TCP/IP Nous nous retrouvons alors avec une carte Ethernet "orpheline", sans aucun protocole greffé dessus. ● L'installation du client PPPoE Il sera lié à cette carte Ethernet d'une part et à TCP/IP d'autre part. Ca, c'est la théorie. Parce que, suivant le client, ce sera plus ou moins vrai, comme nous allons le voir dans la suite. Les clients PPPoE les plus courants. EnterNet 300 et WinPoET et les autres... Ce sont les clients "officiels", distribués par FTC, aussi bien dans les kits Netissimo que Câble. Ce sont des logiciels commerciaux, édités respectivement par Efficient Networks , Fine Point Technologies , BeWan... Ce sont les seuls officiellement supportés par le service technique de FTC. EnterNet 300 existe pour les plate-formes suivantes: ● Windows: 95, 98, Millenium, NT 4 sp3, 2000 et même XP à partir de la version 1.5c. Le cas de Windows XP est cependant particulier, XP propose nativement la gestion de PPPoE, un logiciel client tiers n'est donc pas nécessaire. ● Linux, à partir des noyaux 2.2, avec pppd version 2.3.11 ● Macintosh: OS 7.6 à 9.x (je présente toutes mes excuses aux utilisateurs de Macintosh, j'ignore tout de ce monde et n'en parlerai donc pas d'avantage). WinPoET n'existe que pour les plate-formes Windows. MacPoET existe pour Macintosh, mais n'est pas fourni dans le nouveau kit CâbleWanadoo. Depuis la "positive génération", le kit semble avoir encore changé. J'ai eu la surprise de constater que le kit daté d'août 2002 propose encore un nouveau client, signé cette fois-ci par BeWan... J'ai effectué de rapides tests de ce neme client sur Windows 98 SE, il fonctionne aussi... Pour ce qui est du kit lui-même, à part les couleurs, pas grand chose de changé, toujours IE 5.5 alors que vous pouvez disposer de IE6SP1, toujours cette fâcheuse habitude de reconfigurer Outlook Express... Vous m'excuserez de ne pas décrire une procédure détaillée de ce nouveau client, j'avoue éprouver une certaine lassitude, à force... Avantages. ● ● Fournis gratuitement par FTC et les problèmes techniques sont gérés par la "hot line". Simples à installer et à configurer. Inconvénients. ● ● Logiciels commerciaux, les mises à jour ne sont pas gratuites et FTC ne distribuera pas forcément les mises à jour de façon régulière. Compte tenu de la succession des divers clients, il est même probable que vous aurez quelques difficultés à effectuer la moindre mise à jour. Ces logiciels nécessitent impérativement (à l'exception du petit dernier de BeWan) d'installer une pile IP sur l'interface réseau connectée au modem. Si ce détail ne pose pas de problèmes avec un modem ADSL de type Alcatel SpeedTouch par exemple ou le nouveau modem câble eurodocsis TCM290 de Thomson, il risque fort d'en poser sur un réseau câblé, avec les Com21. Ras PPPOE. C'est un client développé par un informaticien indépendant. Il est gratuit pour un usage non commercial, et existe pour Windows 98, Millenium et 2000. NT4 de 95 n'étaient pas supportés au moment de mes tests, ce qui n'est plus le cas depuis. raspppoe peut donc désormais être utilisé sur toutes les plate formes Windows. Avantages. ● ● ● ● Il est vraiment gratuit pour un usage non commercial, ses mises à jour également. Il "colle" un peu plus à l'architecture Windows que ne le fait EnterNet ou WinPoET. En effet, il utilise les services d'accès distants, comme avec un modem RTC, ce que ne font pas EnterNet ni WinPoET. Il ne nécessite pas de pile IP connectée à l'interface réseau. Il "pèse" beaucoup moins lourd, l'archive ZIP ne fait que quelques dizaines de Ko! Inconvénients. ● ● Risque de disparition d'un projet de développement supporté par un seul programmeur (mais rien n'interdit dans ce cas de choisir un autre client). Pas de support officiel de la part de FTI. ● ● Nécessite un logiciel supplémentaire pour assurer une re connexion automatique en cas de coupure. Pas de version pour MAC OS. rp-pppoe. C'est un client libre uniquement pour Linux, Solaris et NetBSD, développé par Roaring Penguin. A mon sens, il ne présente que des avantages. Ce client existe sous forme de packages RPM pour RedHat et Mandrake (lisez tout de même les informations contenues dans le site de Roaring Penguin). Disponible également en fichier source "tarball", à compiler soi-même. Ce paquetage propose tout ce qui est nécessaire pour configurer un client et même quelques outils supplémentaires pour tester des clients. Il nécessite la présence de pppd. Comment faire alors ? Très simplement. Le plus délicat sera peut-être de choisir son client. Je ne vais pas le faire à votre place, à vous de voir. Voici tout de même mon avis personnel: Vous utilisez une plate-forme Win32. ● ● Vous n'êtes pas trop porté sur les subtilités du système. Vous souhaitez pouvoir bénéficier de la "hot line" et vous n'aimez pas "bricoler" sur votre machine: Préférez peut-être EnterNet, WinPoet ou BeWan, suivant le kit dont vous disposez. Vous aimez bien maîtriser le fonctionnement de votre système, vous en connaissez les rudiments et bricoler dans votre configuration de vous fait pas trop peur: Préférez peut-être le couple ras pppoe et ADSL autoconnect. Si je devais connecter une machine Win32 sur une liaison haut débit, je choisirai sans doute cette solution. Avant de choisir définitivement, pensez tout de même à ces points particuliers: ● Vous utilisez Internet Explorer 6. Le kit FTI vous donnera des sueurs froides. Vous aurez peut-être intérêt à installer le client PPPoE manuellement si vous avez une âme sensible. ● Vous utilisez Windows XP. Il y a un client PPPoE "natif", utilisez plutôt celui-ci. Vous utilisez une plate-forme Linux. Dans ce cas, vous êtes probablement accoutumé à configurer votre système vous-même. Quant à la "hot line" sur cette plate-forme.... Vous pouvez, bien entendu, utiliser EnterNet, mais la licence est tellement incompatible avec celle de Linux que vous choisirez très probablement rp-pppoe, au moins pour des raisons idéologiques. Pour vous aider... Installer le Kit de façon automatique sur plate-forme Win32 ne pose pas de problèmes, il est même étonnant de constater à quel point cette procédure fonctionne bien (y compris d'ailleurs la procédure de désinstallation), mais à une condition, et elle est de taille: Vous ne devez pas avoir au préalable installé Internet Explorer 6 !!! Faute de quoi, nous allons le voir de près, il va falloir essuyer de sa part quelques comportements absurdes. Mais lorsque vous aurez besoin d'installer ce kit, vous aurez put-être entre les mains une version corrigée. Si, comme il est vivement recommandable de le faire, vous avez régulièrement effectué les mises à jour de votre système (Windows Update) et d'Internet Explorer, vous êtes justement dans le cas où le kit ne fonctionne pas correctement (du moins, semble ne pas fonctionner correctement). Suivez maintenant le guide qui vous convient le mieux: (Attention, ces pages de procédures d'installation ne sont accessibles que par les liens ci dessous, n'utilisez pas "précédente" ou "suivante"). Compte tenu des multiples versions successives du kit, vous m'excuserez encore une fois de ne pas avoir développé à chaque fois le détail de l'installation du kit, qui, dans tous les cas, ne vous laisse aucune initiative lors de son installation. Pour vous aider à ne pas perdre le fil, ces pages s'ouvriront dans une nouvelle fenêtre. ● Installation automatique du kit (toutes plate-formes Win32) version "Enternet" ● EnterNet 300 sur Windows 98 SE ● EnterNet 300 sur Windows 2000 ● Installation automatique du kit (Windows 2000) version "WinPoet" ● RAS PPPOE sur Windows 98 SE ● RAS PPPOE sur Windows 2000 ● Le client PPPoE de Windows XP ● rp-pppoe pour Linux (Mandrake et Debian). [ Précédente ] [ Accueil ] [ Suivante ] Reniflons un peu... [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Un échange ICMP vu de près. La manip qui suit est destinée à éclaircir un peu les idées sur l'empilement des protocoles. Elle est effectuée sur une machine Linux connectée en PPPoE sur un modem SpeedTouch Home (Accès ADSL). ● L'interface Ethernet connectée au Modem est Eth1. le client rp-pppoe assure la connexion ppp au dessus. Ceci fait apparaître une interface supplémentaire: ppp0 Autrement dit, ppp0 est une interface PPP qui fonctionne au dessus de Eth1 Voici un extrait de ce que donne "ifconfig" : [root@gw root]# ifconfig .... eth1 Lien encap:Ethernet HWaddr 00:60:8C:50:F0:DF inet adr:10.0.0.10 Bcast:10.0.0.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 .... ppp0 Lien encap:Protocole Point-à-Point inet adr:217.128.147.4 P-t-P:217.128.147.1 Masque:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 .... ● Deux "sniffers", l'un sur Eth1 (couche Ethernet), l'autre sur ppp0 (couche PPPoE), vont observer simultanément un "ping" sur l'habituel ftp.oleane.net. Voici ce que l'on obtient: Sur Ethernet (Eth1) Frame 4 (106 on wire, 106 captured) Arrival Time: Nov 30, 2001 16:32:12.060281 Time delta from previous packet: 3.750210 seconds Time relative to first packet: 8.636959 seconds Frame Number: 4 Packet Length: 106 bytes Capture Length: 106 bytes Ethernet II Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 218c Payload Length: 86 Sur PPPoE (ppp0) Frame 1 (84 on wire, 84 captured) Arrival Time: Nov 30, 2001 16:32:12.059992 Time delta from previous packet: 0.000000 seconds Time relative to first packet: 0.000000 seconds Frame Number: 1 Packet Length: 84 bytes Capture Length: 84 bytes Raw packet data No link information available ** ** ** Au niveau ppp, ce qu'il se passe en dessous ** interprété, le renifleur ne sait pas le faire, ** il se croit sur un "vrai" lien PPP ** parce qu'il écoute sur une interface PPP. ** Mais en regardant au niveau Ethernet ** Nous trouvons les informations relatives Point-to-Point Protocol ** au protocole PPPoE Protocol: IP (0x0021) ** Internet Protocol, Src Addr: 217.128.147.4 Internet Protocol, Src Addr: 217.128.147.4 Dst Addr: 195.25.12.28 Dst Addr: 195.25.12.28 Version: 4 Version: 4 Header length: 20 bytes Header length: 20 bytes Differentiated Services Field: 0x00 Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0) (DSCP 0x00: Default; ECN:0) 0000 00..=Differentiated Services 0000 00..=Differentiated Services Codepoint:Default (0) Codepoint: Default (0) .... ..0.=ECN-Capable Transport (ECT): 0 .... ..0.=ECN-Capable Transport (ECT): 0 .... ...0=ECN-CE: 0 .... ...0=ECN-CE: 0 Total Length: 84 Total Length: 84 Identification: 0x0000 Identification: 0x0000 Flags: 0x04 Flags: 0x04 .1.. = Don't fragment: Set .1.. = Don't fragment: Set ..0. = More fragments: Not set ..0. = More fragments: Not set Fragment offset: 0 Fragment offset: 0 Time to live: 64 Time to live: 64 Protocol: ICMP (0x01) Protocol: ICMP (0x01) Header checksum: 0xfeee (correct) Header checksum: 0xfeee (correct) Source: 217.128.147.4 Source: 217.128.147.4 (217.128.147.4) Destination: 195.25.12.28 Destination: 195.25.12.28 (195.25.12.28) Internet Control Message Protocol Internet Control Message Protocol Type: 8 (Echo (ping) request) Type: 8 (Echo (ping) request) Code: 0 Code: 0 Checksum: 0xf320 (correct) Checksum: 0xf320 (correct) Identifier: 0x0e10 Identifier: 0x0e10 Sequence number: 00:00 Sequence number: 00:00 Data (56 bytes) Data (56 bytes) 0000 7c a6 07 3c 87 e9 00 00 08 09 0a 0b 0c 0d 0e 0f 0000 7c a6 07 3c 87 e9 00 00 08 09 0a 0b 0c 0d 0e 0f 0010 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 0010 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 0020 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 0020 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 0030 30 31 32 33 34 35 36 37 0030 30 31 32 33 34 35 36 37 Frame 5 (106 on wire, 106 captured) Frame 2 (84 on wire, 84 captured) Arrival Time: Nov 30, 2001 16:32:12.122676 Arrival Time: Nov 30, 2001 16:32:12.122954 Time delta from previous packet: 0.062395 seconds Time delta from previous packet: 0.062962 seconds Time relative to first packet: 8.699354 seconds Time relative to first packet: 0.062962 seconds Frame Number: 5 Frame Number: 2 Packet Length: 106 bytes Packet Length: 84 bytes Capture Length: 106 bytes Capture Length: 84 bytes Ethernet II Raw packet data Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) No link information available Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) ** Type: PPPoE Session (0x8864) ** PPP-over-Ethernet Session ** Version: 1 ** Type: 1 ** Et pour la réponse Code: Session Data ** c'est la même chose Session ID: 218c ** Payload Length: 86 ** Point-to-Point Protocol ** Protocol: IP (0x0021) ** Internet Protocol, Src Addr: 195.25.12.28 Internet Protocol, Src Addr: 195.25.12.28 Dst Addr: 217.128.147.4 Dst Addr: 217.128.147.4 Version: 4 Version: 4 Header length: 20 bytes Header length: 20 bytes Differentiated Services Field: 0x00 Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0) (DSCP 0x00: Default; ECN: 0) 0000 00..=Differentiated Services 0000 00..=Differentiated Services Codepoint:Default (0) Codepoint:Default (0) .... ..0.=ECN-Capable Transport (ECT): 0 .... ..0.=ECN-Capable Transport (ECT): 0 .... ...0=ECN-CE: 0 .... ...0=ECN-CE: 0 Total Length: 84 Total Length: 84 Identification: 0xf960 Identification: 0xf960 Flags: 0x00 Flags: 0x00 .0.. = Don't fragment: Not set .0.. = Don't fragment: Not set ..0. = More fragments: Not set ..0. = More fragments: Not set Fragment offset: 0 Fragment offset: 0 Time to live: 248 Time to live: 248 Protocol: ICMP (0x01) Protocol: ICMP (0x01) Header checksum: 0x8d8d (correct) Header checksum: 0x8d8d (correct) Source: 195.25.12.28 (195.25.12.28) Source: 195.25.12.28 Destination: 217.128.147.4 (217.128.147.4) Destination: 217.128.147.4 Internet Control Message Protocol Internet Control Message Protocol Type: 0 (Echo (ping) reply) Type: 0 (Echo (ping) reply) Code: 0 Code: 0 Checksum: 0xfb20 (correct) Checksum: 0xfb20 (correct) Identifier: 0x0e10 Identifier: 0x0e10 Sequence number: 00:00 Sequence number: 00:00 Data (56 bytes) Data (56 bytes) 0000 7c a6 07 3c 87 e9 00 00 08 09 0a 0b 0c 0d 0e 0f 0000 7c a6 07 3c 87 e9 00 00 08 09 0a 0b 0c 0d 0e 0f 0010 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 0010 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 0020 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 0020 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 0030 30 31 32 33 34 35 36 37 0030 30 31 32 33 34 35 36 37 Comme il est facile de le constater, on a bien de l'IP qui est transporté au dessus de PPP, lui même au dessus d'Ethernet. Si ce n'est la couche supplémentaire introduite par ce protocole, tout reste identique à ce que l'on observerait sur un réseau Ethernet "classique". [ Précédente ] [ Accueil ] [ Suivante ] Les détails. [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Mise en confiance. Ce qui va suivre peut paraître quelque peu "indigeste". Il n'est donc peut-être pas inutile de donner quelques points de repères avant d'entamer cette descente aux enfers. Nous savons maintenant que le but ultime est d'exploiter les possibilités de PPP sur un réseau de nature Ethernet, parce que PPP offre quelques facilités aux fournisseurs de services, comme l'identification nominative des clients, principalement. C'est nécessaire lorsqu'il y a plusieurs fournisseurs d'accès qui cohabitent sur la même structure. Dans la page précédente, nous avons vu qu'une fois la connexion PPP établie, IP est transporté par PPP (oE), lui-même transporté par Ethernet. Nous devons donc nous attendre, lors de l'établissement de cette connexion, à observer comment PPPoE va s'y prendre pour mettre en place le lien PPP entre notre machine et celle de notre fournisseur de services. Nous nous arrêterons lorsque PPP sera établi, ça suffira. Le reste concernerait le protocole PPP lui-même, ce qui n'est pas l'objectif de cet exposé. ● Nous sommes sur un réseau Ethernet, donc en architecture de réseau, plusieurs hôtes sont présents sur ce réseau et parmi eux, il y a celui avec lequel il faut mettre en place le lien PPP. Il va donc falloir identifier cet interlocuteur sur ce réseau. Le seul moyen connu au niveau Ethernet, c'est un "broadcast ARP" (Diffusion sur toutes les adresses MAC présentes). Une au moins des machines du fournisseur d'accès devrait répondre. Une fois les deux interlocuteurs mutuellement reconnus, il n'y aura plus de broadcast ARP. Comme nous allons le voir, la reconnaissance mutuelle va aboutir à l'octroi d'un identifiant de session qui restera valide tout le temps de la session. ● PPP, au moyen du sous-protocole LCP (Link Control Protocol, protocole spécialisé dans la négociation et la maintenance de la connexion PPP), va identifier le client (Nom d'utilisateur et mot de passe). ● Si cette identification réussit, LCP va fournir au client les paramètres nécessaires pour le bon fonctionnement d'IP: ❍ Adresse IP du client ❍ Serveur DNS pour la résolution des noms ❍ Passerelle par défaut. (Ici, cette passerelle est symbolique, puisque sur la connexion PPP, il n'y a que deux protagonistes : Vous et l'équipement de votre FAI à l'autre bout. C'est forcément lui la passerelle). ● Si l'identification échoue, la ligne sera "raccrochée" (par analogie avec un modem RTC). Il faudra donc reprendre la connexion à son début. Voici donc en quelques mots, ce que nous devrions vérifier dans la suite immédiate. Accrochez-vous, on y va. RFC... Les "Request For Comment" sont une très grande chose: 1. Comme leur nom ne l'indique pas du tout, elles sont publiées une fois que le texte est finalisé et qu'il n'y a plus de commentaires à faire à son sujet. 2. Elles décrivent généralement dans le détail les divers protocoles utilisés sur l'Internet (dont PPPoE, bien entendu) et toute personne mettant en oeuvre un protocole de l'Internet se doit de le faire en respectant les RFCs qui le décrivent, c'est l'assurance que ce protocole sera utilisable par tous. 3. Elles sont initialement rédigées en Anglais, par des spécialistes au langage particulièrement obscur. 4. A cause de toutes les propriétés citées plus haut, elles servent d'argument "massue" à ceux qui veulent à tout prix montrer qu'ils sont les plus compétents et qu'ils planent bien au dessus des foules ignares (Une réponse communément trouvée sur les newsgroups : "Va d'abord lire les RFC..."). 5. A cause du point 2 (le seul positif), elles sont tout de même d'une utilité inestimable. Par chance pour nous, plusieurs personnes se sont attelées à l'ingrate tâche de la traduction de ces RFCs. Toutes ne le sont pas encore, mais la RFC 2516, celle qui décrit le protocole PPPoE, est traduite. Lisez cette RFC, vous constaterez combien le point 3, même affranchi de la langue Anglaise, reste vérifié. Lisez la quand même si vous voulez vraiment connaître le détail de ce protocole. Pour vous aider un peu dans cette lecture... Voici la manipulation proposée: ● Une machine Linux Mandrake 8.1 est connectée à une liaison Netissimo (France Télécom) via un modem Ethernet SpeedTouch Home (Alcatel). ● Le client PPPoE utilisé est rp-pppoe. ● Nous ouvrons une session PPPoE, un renifleur est à l'écoute, qui récupère tout ce qu'il se passe au niveau Ethernet. ● Nous comparons ce que nous voyons avec ce qui est dit dans les RFC. Ce que disent les Textes. L'étape de découverte l'étape de découverte s'effectue en quatre étapes. Quand elle s'achève, chaque vis à vis connaît le PPPOE SESSION_ID ainsi que les adresses Ethernet ; cela suffit pour définir une session PPPOE. Les étapes sont : ● Emission d'un paquet broadcast d'initiation par l'hôte ; ● Emission de paquets d'offres par un concentrateur d'accès ou plus ; ● Emission d'un paquet de demande de session unicast par l'hôte ; ● Et émission d'un paquet de confirmation par le concentrateur d'accès. Après avoir envoyé le paquet de confirmation et dès que l'hôte le reçoit, la connexion passe alors à l'étape suivante : la session PPP. Toutes les trames de découvertes Ethernet ont le champ ETHER_TYPE à 0x8863. Ce que nous pouvons observer. Etablissement de PPPoE. Dans un premier temps, juste le résumé des trames qui passent: No. Source Destination Protocol 4 3Com_50:f0:df ff:ff:ff:ff:ff:ff PPPoED (PADI) 5 Redback_00:4f:7d 3Com_50:f0:df PPPoED 6 3Com_50:f0:df Redback_00:4f:7d PPPoED 7 Redback_00:4f:7d 3Com_50:f0:df PPPoED Session-confirmation (PADS) 8 Redback_00:4f:7d 3Com_50:f0:df PPP LCP Info Active Discovery Initiation Active Discovery Offer (PADO) Active Discovery Request (PADR) Active Discovery PPP LCP Configuration Request Et voici, exprimée dans toute sa beauté, la magie des systèmes bien normalisés : Ca va se passer exactement comme c'est dit dans les textes. Exactement ? Voyons ça de plus près... Le paquet PADI ( PPPoE Active Discovery Initiation) : Les hôtes envoient en broadcast un paquet PADI. Le champ CODE est mis à 0x09 et le champ SESSION_ID à 0x0000. Le paquet PADI doit contenir un TAG de type Service-Name, indiquant le service que l'hôte demande ainsi que d'autres numéros correspondant à d'autres types de TAG. Un paquet PADI entier (incluant l'en-tête PPPoE) ne doit pas dépasser 1484 octets afin de laisser la place suffisante pour qu'un agent relais puissent ajouter un TAG Relay-Session-Id. Note: A l'usage, j'ai pu constater que les rapports d'analyse de trames affichés "en français" peuvent induire en erreur. Ces rapports sont générés par le renifleur (sniffer), parce qu'il connaît par coeur le format des trames qu'il capture et qu'il les interprète de façon plus "lisible". Dans la pratique, les données capturées ne sont rien de plus que la suite d'octets, ici surlignés.Dans la trame qui suit, il n'y en a que 32, qui génèrent 24 lignes "d'explications". 0000 ff ff ff ff ff ff 00 60 8c 50 f0 df 88 63 11 09 effectivement capturées 0010 00 00 00 0c 01 01 00 00 01 03 00 04 3d 53 00 00 ............................................... Ce sont les information Frame 4 (32 on wire, 32 captured) réalisé par le sniffer Arrival Time: Dec 3, 2001 15:12:09.426679 correspondent à aucune donnée Time delta from previous packet: 10.824602 seconds Time relative to first packet: 11.398184 seconds Frame Number: 4 Packet Length: 32 bytes Capture Length: 32 bytes ................................................ Ethernet II commencent ici Destination: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff) *** La destination est bien un "broadcast" sur les adresses MAC Source: 00:60:8c:50:f0:df (3Com_50:f0:df) *** La source est l'adresse MAC de l'interface Ethernet *** connectée au modem ADSL Type: PPPoE Discovery (0x8863) *** ETHER_TYPE est bien à 8863H PPP-over-Ethernet Discovery Version: 1 Type: 1 Code: Active Discovery Initiation (PADI) *** C'est bien une trame PADI Le champ "code" est à Session ID: 0000 *** Le champ "Session_ID" est bien à 0 Payload Length: 12 PPPoE Tags Tag: Service-Name *** Le Tag "Service-Name, comme indiqué Tag: Host-Uniq *** Et un autre Tag: Host-Uniq Binary Data: (4 bytes) Ceci n'est que du calcul ces informations ne écrite dans la trame Les informations capturées ff ff ff ff ff ff 00 60 8c 50 f0 df 88 63 11 09 9 00 00 00 0c 01 01 00 00 01 03 00 04 3d 53 00 00 Remarquez la similitude avec DHCP discovery. Le client qui se "réveille" envoie un broadcast ARP pour trouver un interlocuteur qui devra lui indiquer ses paramètres de configuration. Le Tag "Host-Uniq" est décrit dans l'annexe A: 0x0103 Host-Uniq Ce Tag est utilisé par un hôte pour associer de façon unique la réponse d'un concentrateur d'accès (PADO ou PADS) à la requête d'un hôte particulier (PADI ou PADR). Sa valeur est une donnée binaire de n'importe quelle valeur et de n'importe quelle longueur, choisies par l'hôte. Cette valeur n'est pas interprétée par le concentrateur d'accès. Un hôte PEUT inclure un Tag "Host-Uniq" dans un paquet PADI ou PADR. Si le concentrateur d'accès reçoit ce Tag, il DOIT inclure ce Tag sans le modifier dans la réponse PADO ou PADS associée. Ce Tag (0x0103) est suivi du nombre d'octets qu'il contient (0x0004) et des octets de données (0x3d530000). Nous devrions donc théoriquement retrouver ce Tag dans son intégralité dans la réponse PADO qui suit Il n'y a pas ici d'agent de relais. Pour l'instant, tout est donc bien conforme. Note: Le "Payload" est assez difficile à bien traduire, peut-être par "Données utiles" (mais elles sont toutes utiles). Comme en mot-à-mot, ça donne : "la charge qui paye", nous dirons "charge utile". En s'appuyant sur cette analyse de trames, on constate que le "payload length" n'est autre que le nombre d'octets qui suivent, ce qui sera confirmé dans la suite. Ce payload contient des "tags", un peu plus facile à traduire... Le paquet PADO (PPPoE Active Discovery Offer) Quand le concentrateur d'accès reçoit un PADI qu'il peut servir, il répond en envoyant un paquet PADO. l'adresse de destination est l'adresse unicast de l'hôte envoyé dans le PADI. Le champ CODE est fixé à 0x07 et le champ SESSION_ID à 0x0000. Le paquet PADO doit contenir un TAG AC-Name : c'est le nom du concentrateur d'accès, un TAG Service-Name identique à celui contenu dans le PADI. Les autres numéros correspondent aux autres services qui peuvent être offerts par le concentrateur d'accès. Si le concentrateur d'accès ne peut pas servir le PADI alors celui-ci ne répond pas avec un PADO Le client qui a démarré sa connexion PPPoE vient d'essayer de découvrir un interlocuteur, le ou les interlocuteurs présents vont maintenant lui répondre. 0000 00 60 8c 50 f0 df 00 02 3b 00 4f 7d 88 63 11 07 0010 00 00 00 2b 01 01 00 00 01 03 00 04 3d 53 00 00 0020 01 02 00 17 36 32 30 33 32 30 33 30 31 30 38 33 0030 37 36 2d 42 53 4d 41 52 31 30 32 01 01 00 00 Frame 5 (63 on wire, 63 captured) Arrival Time: Dec 3, 2001 15:12:09.479615 Time delta from previous packet: 0.052936 seconds Time relative to first packet: 11.451120 seconds Frame Number: 5 Packet Length: 63 bytes Capture Length: 63 bytes Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) *** La destination est ici le client Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) *** Et la source, l'équipement du gestionnaire du réseau Type: PPPoE Discovery (0x8863) *** C'est toujours un type "Discovery" PPP-over-Ethernet Discovery Version:1 Type: 1 Code: Active Discovery Offer (PADO) *** Mais ici, c'est un "Offer" Session ID: 0000 Payload Length: 43 00 2b 00 60 8c 50 f0 df 00 02 3b 00 4f 7d 88 63 11 07 00 00 PPPoE Tags Tag: Service-Name *** Nous retrouvons, comme prévu, le Tag "Host-Uniq" Tag: Host-Uniq Binary Data: (4 bytes) *** Le Tag "AC_NAME"... Tag: AC-Name *** Et sa valeur (nom du concentrateur d'accès) String Data: 62032030108376-BSMAR102 38 33 01 01 00 00 01 03 00 04 3d 53 00 00 01 02 00 17 36 32 30 33 32 30 33 30 31 30 37 36 2d 42 53 4d 41 52 31 30 32 Tag: Service-Name 01 01 00 00 Ca devient monotone, il n'y a aucune surprise... Tant pis pour le "suspense", il n'y aura pas d'autres réponses PADO. Nous allons donc maintenant retrouver l'hôte qui envoie un paquet PADR (Session-Request). Le paquet PADR (PPPoE Active Discovery Request) Puisque le PADI a été envoyé en broadcast l'hôte peut recevoir plusieurs PADO. L'hôte examine les paquets PADO reçus et en choisit un. Le choix peut être basé sur le nom du concentrateur d'accès ou sur les services offerts. L'hôte envoie alors un paquet PADR au concentrateur d'accès sélectionné. Le champ DESTINATION_ADDR est l'adresse Ethernet unicast du concentrateur d'accès qui a envoyé par le PADO. Le champ CODE est 0x19 et le champ SESSION_ID est à la valeur 0x0000. Le paquet PADR doit contenir exactement un TAG_TYPE contenant le nom du service que l'hôte demande ainsi que d'autres numéros d'autres types de TAG. 0000 0010 00 02 3b 00 4f 7d 00 60 8c 50 f0 df 88 63 11 19 00 00 00 0c 01 01 00 00 01 03 00 04 3d 53 00 00 Frame 6 (32 on wire, 32 captured) Arrival Time: Dec 3, 2001 15:12:09.480206 Time delta from previous packet: 0.000591 seconds Time relative to first packet: 11.451711 seconds Frame Number: 6 Packet Length: 32 bytes Capture Length: 32 bytes Ethernet II *** Vous avez compris maintenant le niveau Ethernet... Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Discovery (0x8863) *** Et je vous laisse faire la suite tout seuls... PPP-over-Ethernet Discovery Version: 1 Type: 1 Code: Active Discovery Request (PADR) Session ID: 0000 Payload Length: 12 PPPoE Tags Tag: Service-Name Tag: Host-Uniq Binary Data: (4 bytes) 00 02 3b 00 4f 7d 00 60 8c 50 f0 df 88 63 11 19 00 00 00 0c 01 01 00 00 01 03 00 04 3d 53 00 00 Il n'y a pas de grosses différences avec le paquet PADI, si ce n'est que l'adresse du destinataire n'est plus une adresse de broadcast, mais celle du concentrateur d'accès, puisque maintenant, on la connaît. Finalement, le Concentrateur d'accès va confirmer cette connexion : Le paquet PADS(PPPoE Active Discovery Session-confirmation) Quand le Concentrateur d'Accès reçoit un paquet PADR, il se prépare à commencer une session PPP. Il produit un SESSION_ID unique pour la session PPPOE et répond à l'hôte avec un paquet PADS. Le champ DESTINATION_ADDR est l'adresse Ethernet unicast de l'hôte qui a envoyé le PADR. Le champ CODE est mis à 0x65 et le SESSION_ID DOIT être mis à la valeur unique produite pour cette session PPPOE. Le paquet PADS contient exactement un TAG_TYPE contenant le nom du service sous lequel le concentrateur d'accès a accepté la session PPPoE et d'autres numéros pour d'autres types de TAG. Si le concentrateur d'accès n'accepte pas le service proposé dans le PADR, il doit répondre avec des PADS contenant TAG _TYPE Service-Name-Error (et d'autres numéros d'autres TAG). Dans ce cas le SESSION_ID DOIT être à la valeur 0x0000. 0000 0010 0020 0030 00 02 01 37 60 f4 02 36 8c 00 00 2d 50 27 17 42 f0 01 36 53 df 01 32 4d 00 00 30 41 02 00 33 52 3b 01 32 31 00 03 30 30 4f 00 33 32 7d 88 63 11 65 04 3d 53 00 00 30 31 30 38 33 3d Frame 7 (60 on wire, 60 captured) Arrival Time: Dec 3, 2001 15:12:09.547915 Time delta from previous packet: 0.067709 seconds Time relative to first packet: 11.519420 seconds Frame Number: 7 Packet Length: 60 bytes Capture Length: 60 bytes Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Type: PPPoE Discovery (0x8863) PPP-over-Ethernet Discovery Version: 1 Type: 1 Code: Active Discovery Session-confirmation (PADS) *** Nous récupérons ici la Session-ID Session ID: 02f4 Payload Length: 43 PPPoE Tags Tag: Service-Name Tag: Host-Uniq Binary Data: (4 bytes) Tag: AC-Name String Data: 62032030108376-BSMAR102 38 33 00 60 8c 50 f0 df 00 02 3b 00 4f 7d 88 63 11 65 02 f4 00 2b 01 01 3d 01 36 01 03 53 02 32 00 00 00 00 30 00 04 00 17 33 32 30 33 30 31 30 37 36 2d 42 53 4d 41 52 31 30 32 Il n'y a pas eu de problèmes, la session est acceptée par les deux partenaires et elle aura l'identifiant 0x02f4. Nous retrouverons systématiquement cet identifiant dans tous les paquets qui suivront. C'est fini pour l'établissement de la session PPPoE. Comme vous avez pu le remarquer, c'est assez simple et il n'y a pas grand chose de fait. Tout de même, faisons un petit bilan: ● L'hôte client a cherché et trouvé un Concentrateur d'accès. ● Le Concentrateur d'accès a délivré à l'hôte client: ❍ ❍ Son adresse MAC (ici : 00:02:3b:00:4f:7d) Un numéro de session PPPoE (ici : 0x02f4) Etablissement de PPP. Tout ceci est très bien, mais nous n'avons pas d'adresse IP, ni de passerelle, ni de DNS... Autant de choses nécessaires pour faire fonctionner correctement TCP/IP, sans oublier que, pour l'instant, nous ne sommes toujours pas authentifiés. Le reste va maintenant être négocié par le protocole PPP, de la même manière qu'avec une connexion "classique" par modem RTC. PPP est encore une autre affaire, qui dépasse le cadre de ce chapitre. Nous n'allons donc pas étudier par le détail les trames qui suivent. Nous allons tout de même regarder comment les informations qui nous manquent pour l'instant vont être récupérées. Si vous désirez absolument approfondir PPP, vous avez les RFC 1661 traduites en français ici. Voici le sommaire des trames qui nous intéressent : 8 Redback_00:4f:7d 3Com_50:f0:df 9 3Com_50:f0:df Redback_00:4f:7d 10 3Com_50:f0:df Redback_00:4f:7d 11 Redback_00:4f:7d 3Com_50:f0:df 12 3Com_50:f0:df Redback_00:4f:7d 13 Redback_00:4f:7d 3Com_50:f0:df Auth. Protocol (0xc223) 14 3Com_50:f0:df Redback_00:4f:7d Auth. Protocol (0xc223) 15 Redback_00:4f:7d 3Com_50:f0:df 16 Redback_00:4f:7d 3Com_50:f0:df Auth. Protocol (0xc223) 17 Redback_00:4f:7d 3Com_50:f0:df 18 Redback_00:4f:7d 3Com_50:f0:df 19 3Com_50:f0:df Redback_00:4f:7d 20 3Com_50:f0:df Redback_00:4f:7d 21 3Com_50:f0:df Redback_00:4f:7d 22 Redback_00:4f:7d 3Com_50:f0:df 23 3Com_50:f0:df Redback_00:4f:7d 24 Redback_00:4f:7d 3Com_50:f0:df 25 Redback_00:4f:7d 3Com_50:f0:df be at least 20) 26 Redback_00:4f:7d 3Com_50:f0:df 27 3Com_50:f0:df Redback_00:4f:7d PPP LCP PPP LCP PPP LCP PPP LCP PPP LCP 0xc223 PPP PPP PPP PPP PPP PPP 0xc223 PPP Cryptographic Handshake PPP LCP 0xc223 PPP LCP Echo Reply PPP Cryptographic Handshake PPP PPP PPP PPP PPP PPP PPP PPP IP PPP LCP Echo Request PPP IPCP Configuration PPP IPCP Configuration PPP LCP Echo Reply PPP IPCP Configuration PPP IPCP Configuration PPP IPCP Configuration PPP IPCP Configuration Bogus IP header length LCP IPCP IPCP LCP IPCP IPCP IPCP IPCP PPP LCP PPP LCP LCP Configuration Request LCP Configuration Request LCP Configuration Ack LCP Configuration Ack LCP Echo Request Cryptographic Handshake Request Request Ack Nak Request Ack (0, must PPP LCP Echo Request PPP LCP Echo Reply Nous n'allons pas les détailler, mais juste en extraire les points les plus importants. Déjà, nous allons sauter les LCP Echo request et reply, qui ne présentent pas un intérêt fondamental pour ce qui nous intéresse, si ce n'est qu'ils sont recommandés par les RFC. Le protocole LCP (Link Control Protocol) est transporté par PPP. Sa fonction, comme son nom l'indique, est de maintenir le bon état du lien PPP. En particulier, c'est lui qui va permettre de négocier au départ la configuration IP du client, ce que nous allons voir tout de suite. Demande de configuration de la part du concentrateur d'accès. Frame 8 (60 on wire, 60 captured) ... Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Ethernet La cible est le client La source est le Concentrateur d'accès Type: PPPoE Session (0x8864) PPP-over-Ethernet Session ... Code: Session Data Session ID: 02f4 précédemment Payload Length: 21 Point-to-Point Protocol Protocol: Link Control Protocol (0xc021) PPP Link Control Protocol Code: Configuration Request (0x01) Identifier: 0x6d Length: 19 Options: (15 bytes) MRU: 1492 reviendrons. L'identification va être cryptée Authentication protocol: 5 bytes Protocol) Authentication protocol: CHAP (0xc223) intérêt pour nous Data (1 byte)(voir RFC 1661) Magic number: 0x2889d071 PPPoE Le Session-ID qui a été négocié PPP LCP Très important!!!, nous y (Cryptographic Handshake Auth. Le "Nombre Magique" est sans MRU: Maximum Receive Unit, taille maximale en octets d'un paquet acceptable en réception. C'est la valeur qui devra être adoptée pour le MTU (Maximum Transfert Unit) de l'interlocuteur. Demande de configuration de la part du client. Frame 9 (36 on wire, 36 captured) chose à réclamer ... Ethernet II Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 16 Point-to-Point Protocol Protocol: Link Control Protocol (0xc021) PPP Link Control Protocol Code: Configuration Request (0x01) Identifier: 0x01 Length: 14 Options: (10 bytes) MRU: 1492 Magic number: 0x694c9902 Le client n'a pas grand pour la configuration... Le MRU, également à 1492. Mais pourquoi 1492 ? Une trame Ethernet ne doit pas dépasser 1500 Octets. Comme l'en-tête de PPPoE fait 6 octets et que le PPP_ID est de 2 octets, il ne reste que 1492 octets pour le PPP_MTU. Acquittement du client Frame 10 (41 on wire, 41 captured) ... Ethernet II Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 21 Point-to-Point Protocol Protocol: Link Control Protocol (0xc021) PPP Link Control Protocol Code: Configuration Ack (0x02) Identifier: 0x6d Length: 19 Options: (15 bytes) MRU: 1492 Authentication protocol: 5 bytes Authentication protocol: CHAP (0xc223) l'authentification Data (1 byte) Magic number: 0x2889d071 Le client est d'accord pour : Le MRU à 1492 le protocole CHAP pour Et le numéro magique Acquittement du concentrateur d'accès. Frame 11 (60 on wire, 60 captured) d'accord pour: ... Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 16 Point-to-Point Protocol Protocol: Link Control Protocol (0xc021) PPP Link Control Protocol Code: Configuration Ack (0x02) Identifier: 0x01 Length: 14 Options: (10 bytes) MRU: 1492 Magic number: 0x694c9902 Le concentrateur d'accès est Le MRU à 1492 Et le numéro magique. Authentification du Concentrateur. Frame 13 (60 on wire, 60 captured) concentrateur envoie au client ... Le un paquet de données... Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 31 Point-to-Point Protocol Protocol: Cryptographic Handshake Auth. Protocol (0xc223) Data (38 bytes) 0000 00 60 8c 50 f0 df 00 02 de ce paquet pourrait être 0010 02 f4 00 1f c2 23 01 01 étudiant le protocole CHAP... 0020 38 9b 08 c2 8f 76 9f 8e le nom du concentrateur 0030 31 30 32 66 00 50 35 d1 clair 3b 00 4f 7d 88 64 11 00 .`.P....;.O}.d.. Le détail 00 1d 10 75 51 f4 58 40 .....#.....uQ.X@ décrit en 89 81 3c 42 53 4d 41 52 8....v....<BSMAR Notez que cc 8f 00 00 102f.P5..... apparaît en Authentification du client. Frame 14 (58 on wire, 58 captured) envoie au concentrateur ... données... Ethernet II Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 38 Point-to-Point Protocol Protocol: Cryptographic Handshake Auth. Protocol (0xc223) Data (36 bytes) 0000 00 02 3b 00 4f 7d 00 60 ce paquet pourrait être 0010 02 f4 00 26 c2 23 02 01 étudiant le protocole CHAP... 0020 b0 95 b2 b2 ee 6f be bb nom du client apparaît 0030 xx xx xx xx xx xx 40 66 clair Le client un paquet de 8c 50 f0 df 88 64 11 00 ..;.O}.`.P...d.. Le détail de 00 24 10 38 af 00 96 c1 ...&.#...$.8.... décrit en d4 cd 5e 66 74 69 2f xx .....o....^fti/x Notez que le 74 69 xxxxxx@fti également en (les x, c'est de ma part). Le verdict... Frame 16 (61 on wire, 61 captured) ... Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 41 Point-to-Point Protocol Protocol: Cryptographic Handshake Auth. Protocol (0xc223) Data (39 bytes) 0000 00 60 8c 50 f0 df 00 02 3b pas exactement comment, mais... 0010 02 f4 00 29 c2 23 03 01 00 L'authentification a réussi. 0020 75 74 68 65 6e 74 69 63 61 0030 63 63 65 73 73 2c 20 75 6e 00 4f 7d 88 64 11 00 .`.P....;.O}.d.. On ne sait 27 43 48 41 50 20 61 ...).#...'CHAP a 74 69 6f 6e 20 73 75 69 74 20 39 uthentication su ccess, unit 9 Requête de configuration du concentrateur. Frame 18 (60 on wire, 60 captured) ... requête A vrai dire Ce n'est pas exactement une Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Le concentrateur n'a rien à demander Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 12 Point-to-Point Protocol Protocol: IP Control Protocol (0x8021) PPP IP Control Protocol Code: Configuration Request (0x01) Identifier: 0x6e Length: 10 Options: (6 bytes) IP address: 217.128.147.1 il annonce juste son IP Requête de configuration du client. Frame 19 (44 on wire, 44 captured) ... configuration Ethernet II Ici, c'est plus amusant. Le client propose une Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 24 Point-to-Point Protocol Protocol: IP Control Protocol (0x8021) PPP IP Control Protocol Code: Configuration Request (0x01) Identifier: 0x01 Length: 22 Options: (18 bytes) IP address: 0.0.0.0 propose Primary DNS server IP address: 0.0.0.0 farfelue... Secondary DNS server IP address: 0.0.0.0 Comme il se réveille juste, il une configuration plutôt Acquittement de la configuration du concentrateur. Frame 21 (32 on wire, 32 captured) ... Ethernet II Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 12 Point-to-Point Protocol Protocol: IP Control Protocol (0x8021) PPP IP Control Protocol Code: Configuration Ack (0x02) Identifier: 0x6e Length: 10 Options: (6 bytes) concentrateur IP address: 217.128.147.1 par défaut) Le client est d'accord... Pour l'adresse IP du (qui deviendra sa passerelle Refus de la configuration du client. Frame 22 (60 on wire, 60 captured) avait ... stupide. Ethernet II Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) On s'en souvient, le client proposé une configuration En fait, elle ne l'était pas. Ne connaissant pas sa configuration, Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 concentrateur Code: Session Data adresses Session ID: 02f4 Payload Length: 24 Point-to-Point Protocol Protocol: IP Control Protocol (0x8021) PPP IP Control Protocol Code: Configuration Nak (0x03) Identifier: 0x01 Length: 22 Options: (18 bytes) IP address: 217.128.147.4 Primary DNS server IP address: 193.252.19.3 le client indique des adresses toutes à zéro. C'est dans le but que le lui propose à la place des valides Son IP Et le (ici les) DNS. Secondary DNS server IP address: 193.252.19.4 Re requête de configuration du client. Frame 23 (44 on wire, 44 captured) Un protocole, c'est parfois bête, ... mais toujours discipliné. Ethernet II Destination: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Source: 00:60:8c:50:f0:df (3Com_50:f0:df) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 24 Point-to-Point Protocol Protocol: IP Control Protocol (0x8021) PPP IP Control Protocol Code: Configuration Request (0x01) Identifier: 0x02 Length: 22 Le client refait une requête de configuration Options: (18 bytes) cette fois-ci avec les adresses qui lui ont été IP address: 217.128.147.4 "suggérées" par le concentrateur... Primary DNS server IP address: 193.252.19.3 Secondary DNS server IP address: 193.252.19.4 Acquittement de la configuration du client. Frame 24 (60 on wire, 60 captured) passer ... Le concentrateur, sous peine de pour un fou, Ethernet II (en principe) Destination: 00:60:8c:50:f0:df (3Com_50:f0:df) configuration Source: 00:02:3b:00:4f:7d (Redback_00:4f:7d) Type: PPPoE Session (0x8864) PPP-over-Ethernet Session Version: 1 Type: 1 Code: Session Data Session ID: 02f4 Payload Length: 24 Point-to-Point Protocol Protocol: IP Control Protocol (0x8021) PPP IP Control Protocol Code: Configuration Ack (0x02) Identifier: 0x02 Length: 22 Options: (18 bytes) IP address: 217.128.147.4 Primary DNS server IP address: 193.252.19.3 Secondary DNS server IP address: 193.252.19.4 ne pourra pas faire autrement que d'accepter cette qu'il a proposé lui-même. Voilà qui est fait. Toute cette séquence n'aura duré que 3 secondes . ● Etablissement d'une session PPPoE entre le client et le concentrateur, avec établissement d'un identifiant de session. ● Authentification du client de la part du concentrateur par LCP (sur PPP) ● Obtention d'une configuration valide pour le client (Adresse IP, Adresses de DNS et Passerelle, la passerelle étant bien entendu le concentrateur lui-même). Conclusions. J'espère que cet exposé vous aura éclairé sur le fonctionnement de ce protocole qui tend à devenir universel sur les connexions "haut débit". Les points principaux à retenir me semble être les suivants: ● Etablissement d'une connexion PPP au dessus d'Ethernet avec obtention d'un identifiant de session. ● Identification du client avec LCP, protocole de gestion et de maintenance d'une connexion PPP. ● Obtention des paramètres de connexion IP par ce même protocole LCP. ● Transport des datagrammes IP par PPP, lui même transporté par Ethernet. [ Précédente ] [ Accueil ] [ Suivante ] MTU, MSS etc... [ Accueil ] [ IP sur quoi ? ] [ Et les tunnels ? ] [ PPPoE et le câble ] [ PPPoE Installation ] [ Reniflons un peu... ] [ Les détails. ] [ MTU, MSS etc... ] Coupons les cheveux en quatre. PPPoE présente un inconvénient considérable, du au fait qu'il encapsule de l'IP avant de le faire transporter sur Ethernet. Cette couche supplémentaire apporte quelques octets de plus dans la trame Ethernet, ce qui est très lourd de conséquences. Sans précautions particulières, l'internaute risque de rencontrer le fameux problème du "gel de la connexion". Nous allons maintenant analyser dans le détail cet inconvénient et, peut-être, trouver les solutions qui permettraient de supprimer ce désagrément. Circulation des données. Une fois encore, nous devrons nous reporter au modèle OSI ou DOD. Rappelez-vous qu'entre l'applications qui émettent et reçoivent les données, il y a quelques couches à traverser pour arriver jusqu'au support physique du transport. Lorsqu'une donnée est émise par une application, elle descend les couches une à une, chaque couche ajoutant des informations supplémentaires aux données initiales. Le paquet grossit donc chaque fois qu'il descend d'une couche. Le problème va venir ici de la couche supplémentaire introduite par PPPoE. Celle-ci ajoute 8 octets supplémentaires, 8 octets de trop dans bien des cas. L'IP facile sur Ethernet. Nous le savons, IP est fait pour être transporté par Ethernet. L'Internet a été réalisé à partir de cet axiome. Comme nous le voyons sur l'illustration, une trame Ethernet fait un maximum de 1518 octets, ce qui laisse à IP 1500 octets maximum. Tout l'Internet est basé sur ce postulat. Je rappelle qu'il s'agit bien ici d'IP sur Ethernet ! Pas de PPPoE dans l'histoire. PPPoE, l'intrus. Que se passe-t-il lorsque PPPoE s'installe ? Il ajoute, nous l'avons dit, une couche supplémentaire entre IP qu'il transporte et Ethernet qui le transporte. PPPoE ajoute au total 8 octets supplémentaires. Vous voulez le détail ? ● PPPoE ❍ 1 octet pour la version + le type ❍ 1 octet de code (voyez RFC) 2 octets pour l'identificateur de session ❍ 2 octets pour la longueur des données transportées (payload) PPP ajoute à ça 2 octets pour indiquer le protocole qu'il transporte ❍ ● Si l'on part du principe que la trame Ethernet ne peut dépasser 1518 octets (si vous préférez, que la taille maximum du payload Ethernet ne doit pas dépasser 1500 octets), ça veut dire que la trame IP "utile" doit être réduite à 1492 octets. Compliqué? Lorsque les données arrivent sur la couche IP, il se passe le phénomène suivant. IP ne sait pas qu'en dessous de lui il y a PPP et non Ethernet. IP va donc considérer que sa longueur de trame peut atteindre 1500 octets (Maximum Transfert Unit), puisque normalement Ethernet sait transporter un volume de données de cette taille. Le MTU est fixé, en principe, selon la nature du réseau situé en dessous de IP. ● Lorsque c'est de l'Ethernet, le MTU est 1500 ● Lorsque c'est PPPoE, le MTU doit donc tomber à 1492. ● (Si c'était du token ring, le MTU pourrait aller jusqu'à 17 940 !) Normalement, lorsque le MTU est le même partout sur les divers composants de l'inter réseau, tout se passe bien. Mais où est le problème ? Dans une configuration comme celle qui suit. Forcément, quelque part, il va y avoir des configurations comme celle-ci, un routeur avec de l'IP sur Ethernet d'un côté et de l'IP sur PPP sur Ethernet de l'autre. Le paquet jaune représente le datagramme IP. Le point délicat est cerclé de rouge. Ce paquet, cerclé de rouge, ne doit pas dépasser 1500 octets, à cause des limites d'Ethernet. De ce côté là du routeur, on le sait, mais pas de l'autre. Si, sur l'entrée (à gauche) le datagramme IP fait 1500 octets, il n'a pas de problèmes pour être véhiculé par Ethernet. Il remonte les couches de gauche et au niveau IP, redescend les couches (à droite). là, il passe par PPPoE qui lui ajoute ses 8 octets. Le paquet devient trop gros pour Ethernet. Dans ce cas, plusieurs éventualités apparaissent. ● Le paquet est fragmenté. En gros, il rentre une seule trame, il en ressort deux. Cette méthode présente quelques inconvénients: ❍ Le réseau va véhiculer deux fois plus de trames ❍ Il faudra réassembler les fragments à la réception. ● Le paquet est éliminé. Il peut alors se passer deux choses. ❍ Un signal ICMP est renvoyé à l'émetteur pour lui signaler que la trame a été rejetée à cause de sa longueur. (Fragmentation needed). L'émetteur va alors recommencer, avec des paquets plus petits, jusqu'à ce que ça passe. C'est la méthode "Path MTU Discovery" , méthode de découverte du MTU sur un chemin donné. ❍ Aucun signal ICMP n'est renvoyé à l'émetteur, parce qu'ICMP est une source de risques pour les routeurs. Beaucoup de firewals bloquent tout trafic ICMP sans discernement. Dans ce cas, les paquets n'atteindront jamais leur destination, et la source, n'étant pas informée de la raison, finira par clôturer la session. Finalement, dans un cas concret : ● Vous envoyez une requête à un serveur HTTP (ou FTP). Votre requête arrive jusqu'au serveur. ● Le serveur vous renvoie les données. Ces données sont volumineuses et les datagrammes vont probablement atteindre 1500 octets. Lorsque ces données vont être transportées par PPPoE, le volume de données va passer à plus de 1500 octets et le premier équipement qui devra le faire transiter choisira l'une des trois méthodes indiquées ci dessus. Si c'est la troisième qui est choisie (on jette sans prévenir personne), la connexion TCP va se geler irrémédiablement. Et voilà le (sale) travail... Ce problème peut également apparaître chez vous, si vous partagez votre connexion sur un réseau privé. Votre routeur, quel qu'il soit, sera confronté au même inconvénient. Vous risquez de devoir modifier le MTU de tous les hôtes de votre réseau privé. Nous verrons que si la passerelle est sous Linux et utilise rp-pppoe, le problème pourra être contourné. Comment résoudre le problème en amont. Grâce à MSS (Maximum Segment Size). Nous sommes ici au niveau TCP (UDP). TCP (UDP) prépare les paquets de données à envoyer à IP. En agissant sur la taille de ces paquets, on peut éviter les problèmes au niveau du MTU. Comme l'on sait que les couches inférieures vont ajouter jusqu'à 40 octets aux données, si l'on prend un MSS de 1460 octets, on est à peu près certain que la taille des données transportées au niveau Ethernet ne dépassera pas 1500. Le MSS est établi lors de l'initiation d'une connexion TCP. C'est cette méthode qui est adoptée avec le client rp-pppoe sous Linux. J'ai pu tester cette méthode sur un réseau de 50 postes Windows NT4 sp5 ou supérieur et Windows 2000, connectés à l'Internet par un lien Netissimo 2 et un routeur NAT sous Linux. La configuration fonctionne depuis deux mois sans aucun inconvénient constaté. Aucun des postes NT4 ni 2000 n'a été modifié. [ Précédente ] [ Accueil ] Installation du Kit (Enternet) Au début, pas de problèmes... Introduisez le CD ROM dans votre lecteur et laissez faire l'autoloader... Cette installation a une bonne odeur de professionnalisme (du moins dans le début)... Le contrat de licence, lisez-le! Il est là pour ça. Cette fenêtre apparaît parce qu'EnterNet n'a pas été certifié par Microsoft. Microsoft vous avertit donc que si vous décidez quand-même de l'installer, vous le faites à vos risques et périls. Répondez "oui", vous ne prenez guère plus de risques qu'en installant Windows lui-même. Après un certain nombre d'opérations où vous n'avez pas votre mot à dire, il vous faudra redémarrer (Windows oblige). Bien que vous n'ayez pas le choix, vous devez quand même cliquer... Avant le redémarrage, vous êtes informé de quelque chose d'important. Avec Windows 95, 98, Me, sur une machine isolée où le réseau n'est pas installé, lors du démarrage du système et en configuration par défaut, Windows démarre sans rien vous demander. Entendez par là que Windows devient opérationnel sans que vous ayez à vous identifier. Lorsque les services réseau sont installés, une fenêtre de "login" s'affiche au démarrage de Windows, demandant un nom d'utilisateur et un mot de passe. Vous pouvez alors faire plusieurs choses: ● Créer un nouveau "login" , WIndows vous demandera simplement de confirmer le mot de passe. ● Utiliser un "login" déjà existant. ● Appuyer sur "Escape" sans vous identifier. Windows démarrera mais les services réseau ne seront pas tous opérationnels. C'est cette dernière opération qu'il vous est demandé de ne pas faire. Pour les utilisateurs de WIndows NT4, 2000 et XP, cette remarque n'a pas lieu d'être. Mais après le redémarrage... Vous utilisez Internet Explorer jusqu'à la version 5.5 sp1. Ca fonctionne correctement (en apparence): L'installateur détecte ici Internet Explorer 5.00 (ce qui est exact). Il vous propose alors: ● De le garder. ● D'installer IE 5.5 ● D'installer Netscape 4.7 Vous faites ce que vous voulez, je vous déconseille tout de même vivement Netscape 4.7... La même chose que tout à l'heure, mais dans une autre présentation. Et voilà, c'est terminé. Voyons le résultat: Trois icônes sont installées sur votre bureau: Avec cette commande, vous allez pourvoir enfin vous connecter en PPPoE, après avoir mis à jour votre code d'utilisateur et votre mot de passe, fournis avec votre kit. Avec cette commande, vous ouvrez la liste des profils créés dans Enternet. Il est en effet possible de créer plusieurs comptes différents. A priori, ça n'a aucune utilité pour nous. Cet outil de diagnostique présente quelques intérêts et doit probablement être primordial en cas d'appel de la hot line. Il est donc nécessaire d'en disposer. Quant-à Internet Explorer 5.5 fraîchement installé... Tiens, un bug ! Ce n'est pas Internet Explorer 5.5 qui a été installé, mais IE5.0 SP1. Soyons tout à fait précis, puis qu'il le faut. Avant installation du kit, j'avais la version: IE 5.00.2614.3500 Maintenant, j'ai la version: IE 5.00.3103.1000IS En aucune manière il ne s'agit d'une quelconque version 5.5... Ce bug n'a heureusement aucune influence, l'installation d'Internet Explorer étant "intelligente", n'effectuera aucun changement sur votre configuration, même si vous aviez déjà une version 5.5. Vous utilisez déjà Internet Explorer 6.0 Là, ça devient grandiose... L'installateur se plante lamentablement, estimant que vous n'avez aucun navigateur valide, et va décider à votre place d'installer sa pseudo version 5.5... Vous voilà plongé dans le doute... Que faire ? Pour vous aider dans votre choix, j'ai testé les deux cas possibles: installer ou annuler. Vous mettez une confiance aveugle dans l'intelligence des produits Microsoft. Et vous installez quand même, en vous disant que ça va bien se passer, que ie5setup va, lui, constater que votre Internet Explorer n'a pas besoin de mise à jour... Et vous cliquez nerveusement sur "Suivant" en serrant les... (Vous pouvez aussi le faire de la façon la plus décontractée qui soit, de toutes façons, ça ne changera rien au résultat). L'opération continue et, un "reboot" plus tard, il semblerait qu'il n'y ait pas eu de casse. Un rapide contrôle sur Internet Explorer montre que l'on a bien toujours une version 6... Vous avez mis votre confiance dans les produits Microsoft, vous n'avez pas été déçu :) Mais tout de même, je décline par avance toute responsabilité si la même manipulation sur votre configuration aboutit à une catastrophe... Vous n'avez plus confiance en personne (au moins en informatique). Vous cliquez donc sur "Annuler". Vous pouvez encore changer d'avis, mais vous ne le faites pas, et cliquez sur "oui". L'installation s'arrête, comme prévu, sans avoir été terminée. ● EnterNet est installé, mais sa configuration n'est pas terminée. ● L'outil de diagnostique n'est pas installé... Conclusions. Dans le monde des utilisateurs d'outils informatiques, il y a deux catégories. ● Ceux qui utilisent leur machine informatique comme ils utilisent leur voiture (ou leur lave linge, ou tout autre objet technologiquement évolué): En lui faisant entièrement confiance et sans chercher à savoir comment ça se passe dedans. Le kit est fait pour eux. Il semblerait en effet que tout se passe relativement bien, dans tous les cas; même s'il y a quelques bugs, sans conséquences. MAIS... ❍ C'est pas tous les jours Dimanche. ❍ La chance ne sourit pas toujours aux audacieux. ❍ Il vaut mieux s'enfoncer dans la nuit, qu'un clou dans la fesse. En tout état de cause, je décline, une fois encore par avance, toute responsabilité. ● Ceux qui utilisent leur machine informatique comme ils utilisent leur voiture (ou leur lave linge, ou tout autre objet technologiquement évolué): En ayant aucune confiance dans ces trucs, en cherchant d'abord à savoir comment ça marche avant d'utiliser et en essayant d'évaluer d'abord tous les risques encourus. Le kit n'est pas fait pour eux. Ce n'est pas parce que, pour une fois, ça se passe bien quand même, qu'il faut déroger à la règle. A ceux là (dont j'ai tendance à faire partie), je conseillerai plutôt la démarche suivante: ❍ Faites régulièrement des mises à jour de votre système et d'Internet Explorer. Des trous de sécurité sont périodiquement trouvés et corrigés. ❍ Pour votre client PPPoE, choisissez celui que vous voulez, mais installez le tout seul, pas à travers une procédure qui fait trop de choses autour. Lisez donc la suite de cet exposé. Enternet & Win98 . Vous y tenez absolument à EnterNet? Allons-y alors... Voici comment installer EnterNet (v1.41 fournie par CâbleWanadoo. La procédure pour Netissimo est sensiblement identique), sur Windows 98 SE (probablement identique pour WIndows 95, 98 et Me). Installation d'Enternet 300 seulement. Personnellement, j'aime bien décider moi-même de ce qu'il va se passer sur ma machine lorsque j'y installe quelque chose. C'est pourquoi, dans tous les cas, je vous proposerais plutôt la démarche suivante. Votre système à jour. Je ne saurais trop, une fois de plus, vous conseiller d'effectuer d'abord toutes les mises à jour nécessaires auprès de Windows Update. Aussi bien pour le système lui-même que pour Internet Explorer, si vous l'utilisez (ou tout autre navigateur). La configuration réseau. Un petit tour d'abord dans la configuration réseau, pour bien savoir d'où l'on part. Ma machine de test dispose de deux cartes réseau. L'une (RTL 8029A) est raccordée à mon réseau privé, elle ne sert à rien pour la suite des événements. L'autre (3ComEtherlink) est connectée au modem Com21. Nous trouvons un lien entre TCP/IP et la carte 3Com, c'est celui-ci qui nous intéresse. En observant les propriétés ce ce lien, nous constatons qu'actuellement, cette pile IP est paramétrée de façon dynamique (par un serveur DHCP). C'est l'ancien mode de connexion des câblés. La théorie dit que ce lien est désormais inutile, malheureusement EnterNet 300 exige ce lien entre l'interface réseau et TCP/IP pour fonctionner. ● ● Pour un abonné ADSL, il suffira de configurer manuellement avec une adresse de type 10.0.0.x, masque 255.0.0.0. Pour un abonné CâbleWanadoo, je ne sais pas encore quelle sera la bonne solution. Le contenu du CD. Le CD qui nous est fourni contient un répertoire nommé "Nts". C'est ce répertoire d'installation d'EnterNet 300. Il suffit de lancer le "setup.exe"... Installation. L'installation va produire un soft en langage US, c'est énervant, parce qu'il y a ce qu'il faut pour qu'il soit en français, mais je n'ai pas trouvé le moyen d'y arriver. Nous avons le choix entre: ● Une installation rapide (accept default settings). ● Une installation "pas à pas" (let me choose settings). Comme je n'aime pas trop laisser les autres choisir à ma place, je dis "let me choose". Il s'en suit une certaine quantité de fenêtres (qui n'offrent que le choix d'accepter ou d'arrêter l'installation) et qui ne présentent que peu d'intérêt, du moins technique. La seule fenêtre où vous aurez le loisir de choisir vraiment, c'est pour le chemin d'installation. Comme celui qui est proposé par défaut est tout à fait pertinent, il n'y a aucune raison de le changer. Vient ensuite le renseignement des paramètres de l'utilisateur: Vous n'avez guère le choix si vous voulez que ça fonctionne, utilisez les paramètres fournis avec votre kit: ● Votre nom d'utilisateur. ● Votre mot de passe. Il y a au moins un truc de bien, c'est que, lorsque vous saisissez votre "password" (restons dans la même langue), celui-ci s'affiche en clair. C'est tout de même plus ergonomique que des "stars", surtout avec les "passwords" made by Wanadoo. (Notez tout de même qu'ils sont un excellent exemple de bons mots de passe). A ce niveau, l'installateur va vous demander si vous souhaitez un raccourci sur votre bureau. Répondez ce que vous voulez. Maintenant, l'installateur va agir sans rien vous demander. Laissez faire, puisque vous avez le choix. Comme toute bonne histoire qui finit bien avec Windows, vous avez alors droit à: Non, vous n'avez pas vraiment le choix. Il faut absolument faire "restart". Heureusement que nous avons choisi l'option "let me choose my settings"... Comme vous ne le constaterez probablement pas sur votre configuration, j'ai beau avoir deux interfaces réseau, EnterNet en a choisi une "dans mon dos", sans rien me demander. Nous avons donc au moins une chance sur deux qu'il ait choisi la mauvaise... Vérification de la configuration. Après reboot, démarrez Enternet à partir de l'icône déposée sur le bureau. (Vous ne l'avez pas voulue ? Alors allez-y par "Démarrer/Programmes/Efficient Networks Enternet 300/Enternet 300"). Vous obtenez ceci. Donc, nous faisons: "Right click to see more information on a Profile" sur le profile by Default. Arrive alors une fenêtre à cinq onglets, dont quatre, surtout, sont intéressants: Cette fois-ci, le mot de passe n'apparaît pas... C'est chouette, ce client qui permet à notre FAI d'y coller sa pub en gros plan. (Ca aurait été encore plus chouette, s'il avait prévu en plus, de le faire facilement parler en français) Sur l'onglet TCP/IP, nous retrouvons des paramétrages de pile IP "classiques". Il faut bien entendu laisser "Server Assigned Address", sauf si vous disposez d'une IP fixe, et encore, il semblerait que de toutes façons, le serveur gère lui-même cette situation. Vous avez également le choix de fixer vous-même vos DNS, mais sur une configuration "de base", autant laisser faire le protocole. Même chose pour la "default gateway". "idle TimeOut" vous permet de mettre fin à la session PPPoE en cas d'inactivité plus ou moins prolongée, comme vous le feriez avec un modem RTC. Ca peut être utile, si vous n'utilisez pas Internet de façon soutenue et que vous n'avez pas de dispositif de "fire wall" sur votre machine. A quoi bon laisser votre machine exposée inutilement ? Par un hasard absolument inexplicable, l'installateur a choisi la bonne carte réseau du premier coup, contredisant ainsi la fameuse loi dite "de l'emmerdement maximum" (vérifiez tout de même...) Là, il y a quelque chose à faire... En réalité, EnterNet a probablement testé les deux interfaces. Comme il a trouvé un concentrateur d'accès que la 3Com, il a choisi celle là. (Vous croyez vraiment à la chance ?) Lorsque vous ouvrez l'onglet "Services" (ça s'écrit comme en français, mais ça ne se prononce pas pareil), les "Services" de la liste du dessous doivent apparaître. Bien entendu; le libellé dépend de votre point de raccordement. S'il n'y a rien dans cette liste, c'est très mauvais signe. Ces deux lignes semblent toujours être identiques. (Je n'ai pas encore trouvé d'exception à cette règle). Si vous cliquez sur "Aide", vous constaterez qu'Efficient Networks a prévu des situations beaucoup plus complexes que celle qui nous est proposée. Dans la pratique, nous ne voyons que des serveurs, qui n'affichent aucun service particulier. La ligne "Server", au dessus de cette liste doit contenir le nom d'un de ces serveurs. Il suffit d'en sélectionner un dans la liste pour que la sélection soit mise à jour. Configuration Terminée ? En principe oui. Mais comme on est curieux de nature, on va retourner dans la configuration réseau (Démarrer/paramètres/réseau) Et là, surprise, Il y a du nouveau: ● Une carte réseau supplémentaire: Network TeleSystems PPPoE Adapter. ● Une nouvelle liaison: TCP/IP-Network TeleSystem PPPoE... A priori, il n'y a rien à modifier ici, si ce n'est que vous pouvez tout de même aller voir dans les propriétés de la liaison TCP/IP-Network TeleSystem. Sur l'onglet "Liens", vous devez pouvoir décocher ce lien vers le Client pour les réseaux Microsoft, qui ne sert à rien de bon sur l'Internet. Vous pouvez également désactiver ce service sur les propriétés TCP/IP de la carte réseau connectée à votre modem. La touche finale. Utilitaire de diagnostic. L'installation automatique ajoute également (sauf si elle est interrompue à cause de la non détection d'IE6) un petit utilitaire de diagnostics. L'emploi de cet utilitaire sera certainement requis par la "hot line" en cas de problème. Cet utilitaire se trouve dans le répertoire "programs" du CD et se nomme "FtDiag.exe". Vous pouvez le lancer depuis le CD ROM, vous pouvez aussi le copier sur votre machine. L'emplacement habituel des exécutables étant le répertoire "program files". Détail attendrissant, cet utilitaire sait, quant-à lui, parfaitement reconnaître Internet Explorer 6. Documentation et support. Vous avez dans le répertoire "Nts" du CD ROM un fichier au format Acrobat: "UsersGuide.pdf" (en anglais) fort intéressant. Il vous permettra, si vous maîtrisez cette langue, de paramétrer EnterNet de façon optimale. Vous avez également l'aide en ligne (toujours en anglais) accessible depuis le menu Démarrer/Programmes/Efficient Networks EnterNet 300/EnterNet 300 Help" Enfin, vous avez la FAQ sur le site de l'éditeur. Enternet & Win2k. Vous tenez absolument à EnterNet? Allons-y alors... Voici comment installer EnterNet (v1.41 fournie par CâbleWanadoo. La procédure pour Netissimo est sensiblement identique), sur Windows 2000. Installation d'EnterNet 300 seulement. Personnellement, j'aime bien décider moi-même de ce qu'il va se passer sur ma machine lorsque j'y installe quelque chose. C'est pourquoi, dans tous les cas, je vous proposerais plutôt la démarche suivante. Votre système à jour. Je ne saurais trop vous conseiller d'effectuer d'abord toutes les mises à jour nécessaires auprès de Windows Update. Aussi bien pour le système lui-même que pour Internet Explorer, si vous l'utilisez (ou tout autre navigateur). La configuration réseau. Un petit tour d'abord dans la configuration réseau, pour bien savoir d'où l'on part. Ma machine de test dispose de deux cartes réseau. L'une (RTL 8029A) est raccordée à mon réseau privé et ne sert à rien dans la suite des opérations, l'autre (3ComEtherlink) au modem Com21. Click droit sur "Favoris réseau", choisir "Propriétés"... Les deux cartes sont bien présentes, et en état de fonctionner. Un click droit sur l'icône de la connexion Com21, choisir "Propriétés"... Vous pouvez déjà désactiver: ● Client pour les réseaux Microsoft. ● Partage de fichiers et d'imprimantes pour les réseaux Microsoft. Ces connexions sont inutiles, voire dangereuses, pour la liaison Internet. Le lien entre TCP/IP et la carte 3Com, c'est celui-ci qui nous intéresse. En observant les propriétés ce ce lien, nous constatons qu'actuellement, cette pile IP est paramétrée de façon dynamique (par un serveur DHCP). C'est l'ancien mode de connexion des câblés. La théorie dit que ce lien est désormais inutile, malheureusement EnterNet 300 exige ce lien entre l'interface réseau et TCP/IP pour fonctionner. ● Pour un abonné ADSL, il suffira de configurer manuellement avec une adresse de type 10.0.0.x, masque 255.0.0.0. ● Pour un abonné CâbleWanadoo, je ne sais pas encore quelle sera la bonne solution. Le contenu du CD. Le CD qui nous est fourni contient un répertoire nommé "Nts". C'est le répertoire d'installation d'EnterNet 300. Il suffit de lancer le "setup.exe"... Installation. L'installation va produire un soft en langage US, c'est énervant, parce qu'il y a ce qu'il faut pour qu'il soit en français, mais je n'ai pas trouvé le moyen d'y arriver. Nous avons le choix entre: ● Une installation rapide (accept default settings). ● Une installation "pas à pas" (let me choose settings). Comme je n'aime pas trop laisser les autres choisir à ma place, je dis "let me choose". Il s'en suit une certaine quantité de fenêtres (qui n'offrent que le choix d'accepter ou d'arrêter l'installation) et qui ne présentent que peu d'intérêt, du moins technique. La seule fenêtre où vous aurez le loisir de choisir vraiment, c'est pour le chemin d'installation. Comme celui qui est proposé par défaut est tout à fait pertinent, il n'y a aucune raison de le changer. Vient ensuite le renseignement des paramètres de l'utilisateur: Vous n'avez guère le choix si vous voulez que ça fonctionne, utilisez les paramètres fournis avec votre kit: ● Votre nom d'utilisateur. ● Votre mot de passe. Il y a au moins un truc de bien, c'est que, lorsque vous saisissez votre "password" (restons dans la même langue), celui-ci s'affiche en clair. C'est tout de même plus ergonomique que des "stars", surtout avec les "passwords" made by Wanadoo. A ce niveau, l'installateur va vous demander si vous souhaitez un raccourci sur votre bureau. Répondez ce que vous voulez. Maintenant, l'installateur va agir sans rien vous demander. Laissez faire, puisque vous avez le choix. Comme toute bonne histoire qui finit bien avec Windows, vous avez alors droit à: Non, vous n'avez pas vraiment le choix. Il faut absolument faire "restart". Heureusement que nous avons choisi l'option "let me choose my settings"... Comme vous ne le constaterez probablement pas sur votre configuration, j'ai beau avoir deux interfaces réseau, Enternet en a choisi une "dans mon dos", sans rien me demander. Nous avons donc au moins une chance sur deux qu'il ait choisi la mauvaise... Vérification de la configuration. Après reboot, démarrez Enternet à partir de l'icône déposée sur le bureau. (Vous ne l'avez pas voulue ? Alors allez-y par "Démarrer/Programmes/Efficient Networks EnterNet 300/EnterNet 300"). Vous obtenez ceci. Donc, nous faisons: "Right click to see more information on a Profile" sur le profile by Default. Arrive alors une fenêtre à cinq onglets, dont quatre, surtout, sont intéressants: Cette fois-ci, le mot de passe n'apparaît pas... C'est chouette, ce client qui permet à notre FAI d'y coller sa pub en gros plan. (Ca aurait été encore plus chouette, s'il avait prévu en plus, de le faire facilement parler en français) Sur l'onglet TCP/IP, nous retrouvons des paramétrages de pile IP "classiques". Il faut bien entendu laisser "Server Assigned Address", sauf si vous disposez d'une IP fixe, et encore, il semblerait que de toutes façons, le serveur gère lui-même cette situation. Vous avez également le choix de fixer vous-même vos DNS, mais sur une configuration "de base", autant laisser faire le protocole. Même chose pour la "default gateway". "idle TimeOut" vous permet de mettre fin à la session PPPoE en cas d'inactivité plus ou moins prolongée, comme vous le feriez avec un modem RTC. Ca peut être utile, si vous n'utilisez pas Internet de façon soutenue et que vous n'avez pas de dispositif de "fire wall" sur votre machine. A quoi bon laisser votre machine exposée inutilement ? Par un hasard absolument inexplicable, l'installateur a choisi la bonne carte réseau du premier coup, contredisant ainsi la fameuse loi dite "de l'emmerdement maximum" (vérifiez tout de même...) Là, il y a quelque chose à faire... En réalité, EnterNet a probablement testé les deux interfaces. Comme il a trouvé un concentrateur d'accès que la 3Com, il a choisi celle là. (Vous croyez vraiment à la chance ?) Lorsque vous ouvrez l'onglet "Services" (ça s'écrit comme en français, mais ça ne se prononce pas pareil), les "Services" de la liste du dessous doivent apparaître. Bien entendu; le libellé dépend de votre point de raccordement. S'il n'y a rien dans cette liste, c'est très mauvais signe. Ces deux lignes semblent toujours être identiques. (Je n'ai pas encore trouvé d'exception à cette règle). Si vous cliquez sur "Aide", vous constaterez qu'Efficient Networks a prévu des situations beaucoup plus complexes que celle qui nous est proposée. Dans la pratique, nous ne voyons que des serveurs, qui n'affichent aucun service particulier. La ligne "Server", au dessus de cette liste doit contenir le nom d'un de ces serveurs. Il suffit d'en sélectionner un dans la liste pour que la sélection soit mise à jour. Configuration Terminée ? En principe oui. Mais comme on est curieux de nature, on va retourner dans la configuration réseau (Click droit sur "Favoris réseau"...) Et là, surprise, Il y a du nouveau: ● Une carte réseau supplémentaire: que j'ai renommée en "Connexion EnterNet" pour plus de clarté. Voyons les propriétés de cette nouvelle connexion réseau: Une "carte réseau", virtuelle certes, mais avec tous les attributs classiques d'un tel composant. Désactivez là aussi le client des réseaux Microsoft et le partage des ressources, exactement pour les mêmes raisons que vues plus haut. Ces deux cartes vont entrer en jeu dans votre connexion Internet. La touche finale. Utilitaire de diagnostic. L'installation automatique ajoute également (sauf si elle est interrompue à cause de la non détection d'IE6) un petit utilitaire de diagnostics. L'emploi de cet utilitaire sera certainement requis par la "hot line" en cas de problème. Cet utilitaire se trouve dans le répertoire "programs" du CD et se nomme "FtDiag.exe". Vous pouvez le lancer depuis le CD ROM, vous pouvez aussi le copier sur votre machine. L'emplacement habituel des exécutables étant le répertoire "program files". Détail attendrissant, cet utilitaire sait, quant-à lui, parfaitement reconnaître Internet Explorer 6. Documentation et support. Vous avez dans le répertoire "Nts" du CD ROM un fichier au format Acrobat: "UsersGuide.pdf" (en anglais) fort intéressant. Il vous permettra, si vous maîtrisez cette langue, de paramétrer Enternet de façon optimale. Vous avez également l'aide ne ligne (toujours en anglais) accessible depuis le menu Démarrer/Programmes/Efficient Networks EnterNet 300/EnterNet 300 Help" Enfin, vous avez la FAQ sur le site de l'éditeur. Installation du Kit FTI (WinPoet). Le nouveau Kit change de peau.... Les derniers kits distribués par Wanadoo ont changé . ● C'est à présent WinPoet (MacPoet pour les MACs) en lieu et place d' Enternet. ● L'installation est encore plus simple ● Une nouvelle couche Wanadoo, la même pour tous les kits Wandoo (RTC, Câble et probablement ADSL), vient ajouter une note "personnelle" à la manipulation des clients d'accès distants. Mais voyons ça de plus près. Vous m'excuserez de ne l'avoir fait que pour Windows 2000, mais pour les autres Windows, il ne doit pas y avoir de différences notables. Notes pour les câblés Wanadoo de SQY et MRS. Saint Quentin en Yvelines et Marseille passent non seulement en PPPoE, mais aussi en eurodocsis. Dans ce cas, le modem est également remplacé. le Com21 laisse la place à un tout nouveau modem Thomson. Ce modem dispose de quelques particularités. Dans la configuration que j'ai entre les mains à l'heure où j'écris ces lignes, j'ai pu remarquer ces points particuliers : ● Même avec le DHCP encore actif, il n'est plus possible d'utiliser ce protocole pour obtenir une IP, contrairement au Com21. ● IP sur Ethernet semble complètement bloqué. Seul PPPoE semble pouvoir passer. Ceci devrait résoudre tous les problèmes potentiels dus aux IP déposées anarchiquement sur les interfaces connectées aux modems. Nous sommes donc dans le même cas de figure qu'avec un modem Ethernet ADSL. La conséquence directe est qu'un "sniffeur" ne verra plus rien, hormis la connexion PPP en cours. Fini, l'espionnage du réseau câblé... Remarques préliminaires. ● Le kit souffre toujours d'un retard chronique sur la version d'Internet Explorer : Ce n'est pas la 6 qui est installée, mais la 5.5 sp2. ● La "couche Wanadoo", qui peut plaire à certains parce qu'elle centralise quelques commandes de base, laisse une impression "lourdingue" (ce n'est que mon avis personnel, bien entendu) et assez encombrante sur l'écran. En plus de son apparence contestable, elle pèse tout de même pas loin de 10 Mo sur votre disque dur. Pour faire "marche/arrêt" , lancer la messagerie et quelques autres bricoles, ça fait peut-être beaucoup d'octets. Mais vous pourrez juger par vous-même en voyant la suite. Installation du kit complet. Lancement de l'assistant. "L'autostart" du CD ROM démarre un assistant dont voici la première manifestation: Et dont voici la dernière : Les étapes intermédiaires, hormis les informations affichées, ne présentent pas d'intérêt, dans la mesure où vous n'aurez que le choix de continuer ou d'arrêter... Configuration du client PPPoE. Après redémarrage, vous allez entrer dans l'esthétique Wanadoo... Le choix du mode d'accès : Ne vous lasse en fait aucun autre choix que de cliquer sur "Suivant", si vous voulez aller plus avant. Vous aurez alors à saisir vos identifiants de connexion PPPoE : Puis vos identifiants de messagerie (compte POP) : La procédure vous affichera alors un récapitulatif : Et vous aurez enfin la joie de disposer de l'interface spéciale Wanadoo : Joli, et surtout, léger, n'est-il pas ? Petit tour dans la configuration réseau. Rien que de très classique : ● une connexion à un réseau local, le carte Ethernet nécessitant toujours une configuration IP complète. Toujours donc les mêmes problèmes avec la technologie Com21 pour le câble. En revanche, qu'il s'agisse du modem ADSL SpeedTouch ou du modem câble Thomson TCP290, ceci ne constitue pas un problème. Nous verrons plus bas ce qu'il en est exactement. Notez tout de même l'originalité suivante : Alors que la plupart des clients d'accès distant proposent un menu contextuel (click droit de la souris), celui-ci reste muet. Pas de click droit... Ajout/suppression de programmes... Un petit tour dans la fonction ajout/suppression de programmes permet de constater le poids de l'interface Wanadoo. Notez la présence des deux entités : ● Wanadoo (9,74 Mo) ● WinPoET (900 Ko) Revenir en arrière ? Oui, c'est possible. Vous pouvez désinstaller la couche Wanadoo et conserver tout de même WinPoET. Dans ce cas, vous perdez bien entendu l'interface vue plus haut. Attention, vous perdez aussi l'icône du client d'accès à distance dans la configuration réseau. Mais rassurez-vous, WinPoET reste présent. Vous pourrez y accéder par des raccourcis installés dans le menu "Démarrer". Configuration de WinPoET. Le démarrage du client WinPoET ouvre la fenêtre principale ci-contre. Les identifiants demandés sont bien entendu ceux qui sont nécessaires à l'ouverture de la session PPPoE. Le bouton "connect" permet bien évidemment de démarrer la session. Mais avant, allons tout de même faire un tour dans "Options..." Tout d'abord, vous avez la faculté de créer plusieurs profils de connexion. Ceci peut être intéressant, surtout dans le cas des uploads limités. En effet, si vous partagez votre machine avec d'autres utilisateurs ayant eux aussi un compte Wanadoo (ou autre sur l'ADSL), chaque utilisateur pourra créer un profil avec son propre compte. Dans la plupart des cas, cette possibilité ne sera sans doute pas exploitée. Un click sur le bouton "Edit..." ouvre la fenêtre suivante : La partie du haut permet donc de définir le compte de l'utilisateur. La partie du bas vous permettra de paramétrer : ● Le nombre de tentatives de connexion en cas de difficultés à se connecter (3 par défaut, mais vous pouvez en mettre d'avantage). ● Le temps d'attente entre deux tentatives. ● La durée d'inactivité au bout de laquelle la connexion sera interrompue (c'est la philosophie d'une connexion PPP à la demande et non d'une connexion permanente), mais il y a une option "never" dans la liste déroulante. ● Vous pouvez également demander à votre client de refaire une connexion en cas d'interruption inopinée (avec les éventuels problèmes de connexions fantômes). Vous pouvez lancer automatiquement WinPoET au démarrage de Windows... Et vous disposez d'un journal, pouvant éventuellement vous aider à suivre les processus. WinPoET sans "fioritures". Si, après avoir lu cette page, vous décidez de ne pas conserver la couche Wanadoo, autant alors ne pas passer par l'installation complète du kit. Vous avez dans le CD ROM du kit, un répertoire nommé "WinPoET", il vous suffit de lancer le "setup.exe" pour n'installer que le client PPPoE, et le configurer ensuite comme vu ci dessus. Notez que cette façon de procéder vous ajoutera une icône dans les propriétés du réseau (Windows 2000) qui, elle, aura droit au click droit, mais il n'y a a priori aucun élément particulier à configurer par cette voie. ras-pppoe & win98. Attention, ce client n'est pas supporté par la "hot line" FTI. Mais il fonctionne très correctement tout de même. Récupérer le logiciel. Il suffit de télécharger l'archive ZIP du logiciel, (une petite centaine de Ko) mais que ceci ne vous dispense pas de lire attentivement les informations données. Décompressez la ensuite dans le répertoire de votre choix, vous obtiendrez ceci: Readme98.htm donne des informations primordiales (mais en anglais). Lisez cette page attentivement ! Note extrêmement importante. Il est dit que pour la version Windows 98 SE et uniquement pour celle là que ras-pppoe peut provoquer des troubles du comportement du système : ● Les performances du réseau peuvent diminuer graduellement, au point que le système peut ne plus répondre. ● Blocage complet du système durant le démarrage où l'arrêt La page renvoie d'ailleurs au site Microsoft, où l'information est plus largement documentée (en anglais toujours). Il vous y est indiqué que vous devez installer un correctif dont vous trouverez ici la version pour Windows 98 SE Française. Si vous utilisez Windows 98 SE, installez ce correctif ! Installer le client. Votre système à jour. Je ne saurais trop, une fois de plus, vous conseiller d'effectuer d'abord toutes les mises à jour nécessaires auprès de Windows Update. Aussi bien pour le système lui-même que pour Internet Explorer, si vous l'utilisez (ou tout autre navigateur). Configuration initiale. D'abord, voyons la configuration réseau, avant de modifier quoi que ce soit. C'est une précaution élémentaire, pour constater les modifications apportées par la suite. Ma machine de test dispose de deux cartes réseau. L'une (RTL 8029A) est raccordée à mon réseau privé, elle ne sert à rien pour la suite des événements. L'autre (3ComEtherlink) est connectée au modem Com21. Rassurez-vous, j'ai bricolé l'image pour que tout apparaisse dans la fenêtre. Nous voyons bien les deux cartes réseau et le client ppp (pour une connexion par modem RTC) , et TCP/IP liés à chacune de ces cartes. Il y a des chances pour que votre configuration initiale soit plus simple. Nous trouvons un lien entre TCP/IP et la carte 3Com, c'est celui-ci qui nous intéresse. En observant les propriétés de ce lien, nous constatons qu'actuellement, cette pile IP est paramétrée de façon dynamique (par un serveur DHCP). C'est l'ancien mode de connexion des câblés. La théorie dit que ce lien est désormais inutile, Avec ras pppoe, la théorie se confirme, comme nous le verrons à la fin de l'installation. Installation du protocole PPPoE. L'installation peut paraître plus complexe que celle d'EnterNet, mais elle est beaucoup plus en adéquation avec le mode opératoire habituel dans WIndows. ATTENTION ! Vous devez disposer du CD ROM de Windows 98 SE avant de vous lancer dans l'installation, sinon, vous resterez en rade... Dans la fenêtre du réseau, nous cliquons sur "Ajouter" et choisissons " protocole". PPPoE n'étant pas proposé nativement dans WIndows 98, nous choisissons "Disquette fournie"... Il faut alors indiquer le chemin du répertoire dans lequel vous avez "dézipé" l'archive de ras-pppoe : c:\raspppoe dans l'exemple. Vous choisissez donc PPP over Ethernet Protocol Il se peut que vous ayez un message de ce genre, WIndows 98 ne comprend pas toujours très bien où il doit chercher ses billes... Si le message précédent est apparu, vous aurez cliqué sur OK et une fenêtre du genre de celle-ci va apparaître. Ce ne sera pas le même message que celui qui est affiché ici, mais vous aurez à indiquer en bas le chemin du répertoire contenant ras-pppoe. Ici, ça devient grandiose, parce que toutes les liaisons nécessaires au protocole PPPoE sont installées sur toutes les cartes réseau Ethernet. Ca donne sur ma configuration quelque chose qui peut paraître affolant, à cause des deux cartes réseau. Les lignes fléchées sont celles que nous aurions si une seule carte réseau était installée. Celle qui est fléchée en jaune a un statut particulier, que nous verrons plus tard. Je vous avais prévenu... Le système vous demande le CD ROM de Windows 98 SE, et il faudra probablement lui rappeler où il se trouve... Cette fenêtre doit apparaître. Elle est la preuve que vous n'avez pas oublié le correctif spécifique à Win98SE. Si elle n'apparaît pas, n'oubliez pas de l'installer, vous aurez des ennuis sinon... Pourquoi tant de lignes dans le réseau ? L'installation a créé la chaîne suivante: NDISWAN => PPPoE Miniport => PPPoE => Carte réseau, qu'il est peut-être plus facile de lire dans l'autre sens: Carte réseau => PPPoE => PPPoE Miniport => NDISWAN (de la couche la plus basse à la couche la plus haute). Pour dire les choses simplement (et donc incomplètement), NDIS (Network Device Interface Specification) sert à communiquer avec les pilotes de carte réseau. Autrement, dit, c'est un ensemble de spécifications qui permettrent aux développeurs d'application d'une part et de "drivers" de réseaux d'autre part, de se mettre d'accord pour que les deux puissent communiquer quel que soit le protocole réseau et quelle que soit l'application employés. Configuration. RAS-PPPOE, contrairement à EnterNet, utilise les services du client d'accès distant Microsoft. Il faut donc maintenant configurer ce client pour qu'il fasse appel aux services PPPoE. Création du point d'accès PPP. Vous exécutez le programme "Raspppoe.exe" qui se trouve dans le répertoire où vous avez décompressé l'archive. Cette fenêtre va apparaître. Si vous disposez de plusieurs cartes réseaux, choisissez la bonne... Cliquez ensuite sur "Query Avalable Sercices". Dans la fenêtre du bas va alors apparaître la liste des serveurs PPPoE disponibles (deux fois le même chez nous). Sélectionnez l'un d'eux et cliquez sur: "Create a Dial-up Connection..." Si vous n'avez jamais configuré de client PPP auparavant, cette fenêtre risque d'apparaître. Il faut absolument y inscrire un code de zone. Mettez n'importe lequel, il ne sert à rien par la suite. Un raccourci va arriver sur votre bureau... Démarrez votre connexion depuis ce raccourci. Il vous reste juste à indiquer les paramètres de votre identification... Ca devrait fonctionner. Dans l'état actuel des choses, je ne peux rien garantir sur CâbleWanadoo, le système n'étant toujours pas installé sur Marseille. J'ai en revanche pu le tester sur une connexion ADSL. Un peu de curiosité... Si l'on va faire un tour dans "Démarrer/Programmes/Accessoires/ Communications/Accès réseau à distance" (ouf !), voici ce que l'on peut observer. Il peut y avoir aussi une ou plusieurs connexions par modem RTC... Les propriétés de cette connexion PPPoE montrent les fenêtres suivantes... Ici, si j'ai bien compris la RFC, cette option de devrait pas être demandée. Vous devez donc pouvoir la décocher. Si vous cliquez sur "Paramètres TCP/IP"... Ici, vous pouvez éventuellement indiquer un DNS particulier, si vous disposez de ce genre de chose. Dans la plupart des cas, vous aurez intérêt à laisser la configuration par défaut, celle qui est affichée ici. Nettoyage des liaisons inutiles. Cette connexion, utile si l'on fonctionne encore avec IP sur Ethernet et DHCP, devient inutile pour l'usage de PPPoE. Nous pourrons donc la supprimer, une fois qu'il aura été vérifié que la connexion PPPoE s'effectue correctement. Si, comme sur ma configuration, vous disposez d'une autre carte réseau, pour pourrez supprimer la liaison PPPoE avec cette carte réseau Et voyez maintenant comme c'est propre... La carte d'accès à distance n'est pas indispensable, mais peut toujours servir à connecter un modem RTC (tous les Internautes à "haut débit" avisés, en gardent un sous la main...). Il ne nous reste plus que: ● La liaison TCP/IP vers la carte réseau du réseau local (si vous avez ça) ● La liaison NDISWAN qui passe par PPPoE et va sur la carte réseau connectée au modem (ADSL ou Câble). ras-pppoe & Win2k. Attention, ce client n'est pas supporté par la "hot line" Wanadoo. Mais il fonctionne très correctement tout de même. Récupérer le logiciel. Il suffit de télécharger l'archive ZIP du logiciel, (une petite centaine de Ko) mais que ceci ne vous dispense pas de lire attentivement les informations données. Décompressez la ensuite dans le répertoire de votre choix, vous obtiendrez ceci: Readme2k.htm donne des informations primordiales (mais en anglais). Lisez cette page attentivement ! Note extrêmement importante. Vous êtes sur un système d'exploitation administrable. Normalement, vous ne devriez pas travailler dessus sous une session d'administrateur (ce que personne, ou presque, ne fait). En revanche, pour installer un "driver", vous devez avoir tous les droits d'administration... Installer le client. Votre système à jour. Je ne saurais trop, une fois de plus, vous conseiller d'effectuer d'abord toutes les mises à jour nécessaires auprès de Windows Update. Aussi bien pour le système lui-même que pour Internet Explorer, si vous l'utilisez (ou tout autre navigateur). Configuration initiale. D'abord, voyons la configuration réseau, avant de modifier quoi que ce soit. C'est une précaution élémentaire, pour constater les modifications apportées par la suite. Ma machine de test dispose de deux cartes réseau. L'une (RTL 8029A) est raccordée à mon réseau privé, L'autre (3ComEtherlink) est connectée au modem Com21. Bien entendu, ça reste complètement valable avec le TCM290. Les deux connexions ont été renommées pour plus de clarté. Les propriété de la connexion Com21 montrent: ● Qu'il s'agit de la carte 3Com ● Que seul TCP/IP est connecté dessus. Les deux autres composants, Client des réseaux Microsoft et Partage de fichiers et d'imprimantes ne servant à rien pour une connexion Internet. Elles sont même plutôt dangereuses. En observant les propriétés du protocole TCP/IP, nous constatons qu'actuellement, cette pile IP est paramétrée de façon dynamique (par un serveur DHCP). C'est l'ancien mode de connexion des câblés. La théorie dit que ce lien est désormais inutile, Avec ras pppoe, la théorie se confirme, comme nous le verrons à la fin de l'installation. Installation du protocole PPPoE. L'installation peut paraître plus complexe que celle d'EnterNet, mais elle est beaucoup plus en adéquation avec le mode opératoire habituel dans WIndows. ATTENTION ! Vous devez disposer du CD ROM de Windows 2000 avant de vous lancer dans l'installation, sinon, vous resterez en rade... Dans "propriétés de connexion Com21" cliquons sur "Ajouter" et choisissons " protocole". PPPoE n'étant pas proposé nativement dans WIndows 98, nous choisissons "Disquette fournie"... Il faut alors indiquer le chemin du répertoire dans lequel vous avez "dézipé" l'archive de ras-pppoe : c:\raspppoe dans l'exemple. Vous choisissez donc PPP over Ethernet Protocol La signature numérique de Microsoft n'existant pas.... Vous pouvez y aller quand même. Ne vous étonnez pas si cette fenêtre apparaît plusieurs fois, probablement que Windows 2000 à peur des logiciels qui ne sont pas signés ;-) Lorsque vous aurez enfin réussi à vous débarrasser de la fenêtre d'avertissement, vous constaterez qu'un protocole a bien été ajouté. Vous pouvez désactiver le Protocole Internet (TCP/IP) qui ne devrait plus vous servir. Ne le désinstallez pas, contentez-vous de le désactiver. Ceux qui auront lu la page d'installation pour Windows 98 constateront que c'est bien plus propre avec Windows 2000. Si vous retournez dans les connexions réseau, vous constaterez qu'il n'y a rien de changé, du moins pour le moment. Si vous disposez de deux cartes réseau; comme dans l'exemple, vous devez aller dans le propriétés de votre connexion "au réseau local" et désactiver le protocole PPPoE sur cette carte. Windows 2000 ne vous demande pas de redémarrer, mais vous devez le faire quand même, pour la suite des opérations. Configuration. RAS-PPPOE, contrairement à EnterNet et WinPoET (mais pas BeWan), utilise les services du client d'accès distant Microsoft. Il faut donc maintenant configurer ce client pour qu'il fasse appel aux services PPPoE. Création du point d'accès PPP. Vous exécutez le programme "Raspppoe.exe" qui se trouve dans le répertoire où vous avez décompressé l'archive. Cette fenêtre va apparaître. Si vous disposez de plusieurs cartes réseaux, choisissez la bonne... Cliquez ensuite sur "Query Avalable Sercices". Dans la fenêtre du bas va alors apparaître la liste des serveurs PPPoE disponibles (deux fois le même chez nous). Sélectionnez l'un d'eux et cliquez sur: "Create a Dial-up Connection..." Vous constaterez alors qu'une nouvelle connexion a été créée, (de même qu'u raccourci sur votre bureau). Un click du bouton droit dessus, pour voir les propriétés: Si vous n'avez jamais configuré de client PPP auparavant, cette fenêtre risque d'apparaître. Il faut absolument y inscrire un code de zone. Mettez n'importe lequel, il ne sert à rien par la suite. Débarrassez-vous rapidement de l'assistant... La fenêtre des propriétés de la connexion PPPoE est, sous Windows 2000, un peu plus complexe que sous WIndows 98... Sur l'onglet "général, il n'y a, semble-t-il, rien à faire, si ce n'est constater que WIndows croit qu'il s'agit d'une liaison ISDN (Numéris). Le numéro de téléphone peut éventuellement être mis à 0 (zéro) Sur l'onglet option, si vous désirez une reconnexion automatique en cas de coupure, essayez toujours de cocher la case concernée... Sur l'onglet "Gestion de réseau", il y a en revanche quelques manipulations. D'abord, ne laissez cochée que la case "Protocole Internet", les autres sont, comme toujours, inutile et dangereuses pour une connexion Internet. Cliquez ensuite sur le bouton "Paramètres" A priori, ne laissez cochée que la ligne "Activer les extensions LCP" Mais essayez par vous-même, je ne peux actuellement pas le faire. En ce qui concerne les propriétés du protocole TCP/IP, laissez tout faire automatiquement, à moins que vous sachiez exactement ce que vous faites. En cliquant sur le bouton "Avancé" de le fenêtre précédente, vous arrivez ici. A priori, si j'ai bien compris la RFC, il faudrait décocher sur le lien PPP "Utiliser la compression d'en-tête IP". Démarrer la connexion. Voilà, c'est terminé. Il ne reste plus qu'à essayer... Vous démarrez la connexion à partir de l'icône qui a été ajoutée sur votre bureau... Vous y indiquez les informations que vous avez reçues avec votre kit... Et ça devrait fonctionner. PPPoE & Win XP. Décidément, je n'ai pas beaucoup d'affinités avec ce système et il me le rend bien... Essayons de nous y retrouver... Une magnifique carte réseau 3Com 3C509b, bus ISA non plug & play, garantie à vie et qui m'a rendu de bons et loyaux services sur tous les OS, y compris WIndows 2000, il faudra que je la jette car XP ne veut pas l'accepter... XP présente à mon sens une autre tare : Ses assistants... Rien ne peut être fait sur ce système sans déclencher un assistant qui va décider, le plus souvent à votre place, de ce qui est bien pour vous. Je n'aime pas qu'on décide à ma place. Dans la pratique, l'exposé qui suit présente la manipulation que j'ai réalisée sur ma configuration de test. Rien ne permet d'affirmer que les assistants de XP vous laisseront faire la même chose... Les tests qui suivent sont donc faits sur une autre machine de tests. Cette machine est équipée de deux cartes réseau identiques, l'une connectée au réseau local, l'autre à un modem ADSL Ethernet SpeedTouch Home, mais pour les câblés, la procédure devrait être la même. La connexion au réseau local. Sur le LAN (réseau local), tous les services sont installés, c'est un réseau Microsoft. La configuration IP est manuelle, avec une adresse dans une classe privée. Sur le réseau où la manipulation a été réalisée, j'aurais aussi bien pu utiliser les services DHCP, un tel serveur étant présent. La connexion PPPoE. Ici, c'est la carte qui est connectée au modem ADSL. Pour l'instant, j'ai fait comme s'il s'agissait d'un modem câble, sans PPPoE. Uniquement TCP/IP, ce n'est pas un réseau Microsoft Actuellement, le système fonctionne avec IP sur Ethernet, la pile IP est donc configurée automatiquement par DHCP. Tout fonctionne correctement. Installation de PPPoE. Préparation de l'installation. Sur les propriétés de la carte réseau connectée au modem, vous désactivez le protocole TCP/IP puisqu'il ne sera plus nécessaire, c'est PPPoE qui prendra le relais. Finalement, plus aucun service n'est attaché à cette carte. Un petit assistanat... Je n'ai pas trouvé d'autre moyen que de passer par un assistant... Voici donc la procédure assistée. Dans les propriétés des connexions réseaux, cliquez donc sur "Créer une nouvelle connexion". Cette procédure étant destinée aussi aux connexions RTC, l'assistant va vous demander des renseignements de numérotation. Vous devez indiquer un indicatif régional, n'importe lequel, il ne servira à rien dans notre cas. Les règles de numérotation ne nous concernent pas, faites OK sans rien modifier. Faites ce que vous dit l'assistant, cliquez sur suivant pur continuer... C'est une connexion à Internet que nous devons mettre en place. Pour une fois que l'on peut faire quelque chose soi-même, nous n'allons surtout pas nous en priver... PPPoE nécessite un nom d'utilisateur et un mot de passe... Le nom que vous indiquez ici est purement "cosmétique". Il ne sert qu'à repérer la connexion dans les propriétés des connexions réseaux. Faites ici ce que vous voulez. Ici vous utilisez les informations que vous avez reçues de votre fournisseur. Etablir cette connexion Internet en tant que connexion par défaut est bien entendu nécessaire, sauf si vous disposez d'un autre moyen d'accès et que vous n'utiliserez celui-ci qu'en secours. XP propose quelques fonctions de firewall, autant les utiliser. L'assistant a terminé, vous pouvez ajouter un raccourci sur votre bureau. Et voilà. Normalement, ça devrait fonctionner... Première connexion. Il suffit d'agir sur le raccourci que vous n'avez mas manqué de déposer sur le bureau par le biais de l'assistant. Mais avant de cliquer sur "Se connecter", voyons tout de même les propriétés. Pas de partage de fichiers ni de client des réseaux Microsoft, c'est bien. Tout obtenir automatiquement, c'est bien aussi, sauf si vous disposez d'une IP fixe ou d'un DNS autre que ceux proposés par le fournisseur. Si vous essayes de démarrer la connexion et que vous ne vous êtes pas trompé sur le nom d'utilisateur ni le mot de passe, ça va fonctionner... Pour ceux qui aiment, voici l'état des routes lorsque la connexion est active (je rappelle que la manipulation a été faite sur une connexion ADSL). F:\>route print =========================================================================== Liste d'Interfaces 0x1 ........................... MS TCP Loopback interface 0x10004 ...00 30 84 3a 64 97 ...... Carte réseau Fast Ethernet PCI Realtek RTL8139 Family - Miniport d'ordonnancement de paquets 0x30002 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface =========================================================================== =========================================================================== Itinéraires actifs : Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique 0.0.0.0 0.0.0.0 192.168.0.5 192.168.0.202 21 0.0.0.0 0.0.0.0 217.128.147.4 217.128.147.4 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.0.0 255.255.255.0 192.168.0.202 192.168.0.202 20 192.168.0.202 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.0.255 255.255.255.255 192.168.0.202 192.168.0.202 20 217.128.147.1 255.255.255.255 217.128.147.4 217.128.147.4 1 217.128.147.4 255.255.255.255 127.0.0.1 127.0.0.1 50 217.128.147.255 255.255.255.255 217.128.147.4 217.128.147.4 50 224.0.0.0 240.0.0.0 192.168.0.202 192.168.0.202 20 224.0.0.0 240.0.0.0 217.128.147.4 217.128.147.4 1 255.255.255.255 255.255.255.255 192.168.0.202 192.168.0.202 1 Passerelle par défaut : 217.128.147.4 =========================================================================== Itinéraires persistants : Aucun Et voilà. Si vous retournez dans vos connexions réseau, vous constaterez qu'il y en a une de plus, dans la rubrique "Large bande". Quelques questions... ● ● Où sont indiquées les relations entre les couches logicielles réseau, comme on peut les trouver de diverses manières dans tous les autres systèmes Microsoft ? Je n'en sais rien, je n'ai pas trouvé. Dans le cas présent, où plusieurs cartes réseau sont installées, comment peut-on savoir sur laquelle PPPoE est venu se greffer, comme c'est possible de le savoir sur tous les autres systèmes Microsoft, quelque soit le ● client PPPoE installé ? Je n'en sais rien, je n'ai pas trouvé. Comment se fait-il, finalement que ça fonctionne ? (Question intéressante, surtout si la question se transformait en "Comment se fait-il que ça ne fonctionne pas ?") Ca fonctionne, c'est tout. La réponse est particulièrement constructive. Si la question avait été négative, la réponse aurait probablement été : "Ca ne fonctionne pas, c'est tout". La sécurité. Puisque Windows XP propose quelques fonctions de sécurité, autant les paramétrer... Dans les propriétés des connexions réseau, sélectionnez votre connexion large bande et cliquez sur "Modifier les paramètres de cette connexion". Sur l'onglet "Avancé", cochez "Protéger mon ordinateur..." Bien entendu, ne cochez pas "Autoriser d'autres utilisateurs du réseau..." (A moins que vous n'ayez d'excellentes raisons de le faire). Au niveau des services, décochez tout. Ces services ne doivent être activés que si vous avez un serveur de ces services actif sur votre machine. Pour le journal de sécurité, je vous laisse choisir par vous-même ce qui est bon pour vous :) Au niveau ICMP, autorisez tout de même les informations concernant l'état de disponibilité de votre système IP. L'exemple que je donne me parait acceptable. ICMP est utile, tout désactiver peut provoquer des disfonctionnements et il convient de trouver un compromis. Pour chaque ligne, le paragraphe "Description" vous aidera à décider. Pour une configuration plus fine, je vous laisse vous débrouiller. Je retourne bouder ce système dont je n'aime pas la philosophie. rp-pppoe & Linux Le Kit proposé par Wanadoo contient (ou a contenu à une époque) une version d'Enternet pour Linux, soumis à la même licence que celle des versions Windows. La société "Roaring Penguin" propose un client sous licence GPL. La manipulation qui suit présente l'installation et la configuration de rp-pppoe sur une distribution Mandrake 8.1 La distribution Debian propose un paquetage PPPoE qui n'est autre qu'une adaptation de rp-pppoe. Présentation. Il est nécessaire d'avoir installé au préalable le démon pppd. rp-pppoe est proposé sous la forme de paquetage RPM, autant en profiter. A l'heure où je rédige ces lignes, Mandrake propose la version 3.1 alors que l'on trouve la version 3.3 sur le site de Roaring Penguin. J'ai choisi d'installer le rp-pppoe-3.3-1.i386.rpm pour RedHat, qui semble fonctionner parfaitement sur la Mandrake. Un deuxième paquetage, rp-pppoe-gui-3.3-1.i386.rpm, permet comme son nom le laisse supposer, de disposer d'une interface graphique pour configurer, démarrer et arrêter la connexion PPPoE. Ce paquetage ne présente un intérêt que si vous utilisez la connexion sur une machine Linux qui vous sert de poste de travail avec une interface graphique. Nous allons voir comment utiliser rp-pppoe dans deux cas de figure : ● Une configuration plutôt adaptée à une connexion permanente, initialisée au démarrage de la machine, et qui sera utilisable par tout le monde. Cette méthode est particulièrement adaptée si votre machine Linux est une passerelle vers votre réseau privé. ● Une configuration plutôt adaptée à une connexion selon les besoins, initialisée manuellement par l'utilisateur. Elle fait appel à une interface graphique. Correspond à un usage proche de celui d'un modem RTC. Installation. ● Installez le paquetage ppp si ce n'est déjà fait (ppp-2.4.1-2mdk sur Mandrake 8.1) ● Assurez-vous que vous disposez d'une interface réseau convenable. Elle doit être installée, mais pas nécessairement activée. (Eth1 dans l'exemple). ● Installez le paquetage rp-pppoe-3.3-1.i386.rpm. ● Installez éventuellement le paquetage rp-pppoe-gui-3.3-1.i386.rpm Vous avez tout ce qu'il faut. l'installation de rp-pppoe place quelques scripts utiles: ● /etc/rc.d/init.d/adsl qui permet de démarrer la connexion PPPoE dans les divers niveaux du SystemV que vous pouvez configurer de façon graphique par kSysV, fourni dans la Mandrake 8.1. ● adsl-connect, adsl-start et adsl-stop qui, comme leurs noms l'indiquent, permettent de démarrer et d'arrêter la connexion PPPoE depuis une console. adsl-connect est un peu plus compréhensible que adsl-start au niveau de l'affichage produit. ● adsl-setup C'est un script qui permet de mettre à jour le fichier de configuration de rp-pppoe : /etc/ppp/pppoe.conf, ainsi que les fichiers de mots de passe pap-secrets et chap-secrets dans le même répertoire. Vous pouvez bien entendu utiliser ce script, mais les fichiers de configuration sont tellement simples... Toutefois, attendez un peu, qu'on ait eu le temps de voir ce que la configuration nécessite comme informations Le paquetage propose également quelques autres outils de diagnostics et de mise au point qui ne devraient pas nous servir. Configuration de la (des) carte réseau(x) Par des moyens graphiques, netconf permet facilement de configurer vos diverses cartes réseau. Dans l'exemple, c'est l'adaptateur 2 qui sera utilisé pour la connexion PPPoE Pour une connexion sur le câble, le mieux est de désactiver cette interface. Pour le moment, si vous utilisez les services DHCP, la carte est activée et est configurée comme indiqué sur l'image. Vous devez retrouver dans /etc/sysconfig/network-scripts un fichier nommé ifcfg-eth1 qui contient ces informations. Configuration de rp-pppoe, méthode permanente. La méthode que nous voyons ici est plutôt adaptée à une connexion établie de façon permanente, lors du boot de la machine. Tous les utilisateurs pourront alors en profiter. C'est ce qu'il faudra faire si votre machine est une passerelle vers votre réseau privé. Si vous optez pour une utilisation plus "personnelle" où chaque utilisateur pourra à sa guise ouvrir ou fermer la connexion, vous préfèrerez probablement utiliser l'interface graphique, que nous verrons plus loin. Le fichier pppoe.conf. Voici le fichier en intégralité. Ce qu'il est important de voir est signalé en gras surligné. #*********************************************************************** # # pppoe.conf # # Configuration file for rp-pppoe. Edit as appropriate and install in # /etc/ppp/pppoe.conf # # NOTE: This file is used by the adsl-start, adsl-stop, adsl-connect and # adsl-status shell scripts. It is *not* used in any way by the # "pppoe" executable. # # Copyright (C) 2000 Roaring Penguin Software Inc. # # This file may be distributed under the terms of the GNU General # Public License. # # $Id: pppoe.conf,v 1.7 2001/09/14 19:07:39 dfs Exp $ #*********************************************************************** # When you configure a variable, DO NOT leave spaces around the "=" sign. # Ethernet card connected to ADSL modem # ici doit figurer le nom de l'interface que vous allez utiliser. ETH=eth1 # # # # # ADSL user name. You may have to supply "@provider.com" Sympatico users in Canada do need to include "@sympatico.ca" Sympatico uses PAP authentication. Make sure /etc/ppp/pap-secrets contains the right username/password combination. For Magma, use [email protected] # ici doit figurer le nom d'utilisateur que votre fournisseur vous a donné. USER=fti/xxxxxxx@fti # Bring link up on demand? Default is to leave link up all the time. # If you want the link to come up on demand, set DEMAND to a number indicating # the idle time after which the link is brought down. # Ici, vous indiquez si vous voulez utiliser une connexion permanante # (choix par défaut) DEMAND=no # Ou à la demande. La valeur indiquée est le temps d'inactivité au bout duquel # la connexion sera interrompue (en secondes probablement). #DEMAND=300 # DNS type: SERVER=obtain from server; SPECIFY=use DNS1 and DNS2; # NOCHANGE=do not adjust. # Ici, vous choisissez la façon dont le ou les DNS vont être choisis # SERVER pour récupérer automatiquement les informations du FAI # (vous devrez alors exploiter USEPEERDNS) # SPECIFY pour indiquer vous-même le ou les DNS que vous voulez utiliser # (vous devrez alors exploiter DNS1 et DNS2) # Dans cet exemple, nous utiliserons les DNS indiqués par le FAI DNSTYPE=SERVER # Obtain DNS server addresses from the peer (recent versions of pppd only) USEPEERDNS=yes DNS1= DNS2= # Make the PPPoE connection your default route. # DEFAULTROUTE=no if you don't want this. Set to # Normalement, votre route par défaut doit pointer sur la passerelle de votre FAI # Sauf si vous savez exactement ce que vous faites, laissez cette option à YES DEFAULTROUTE=yes ### ONLY TOUCH THE FOLLOWING SETTINGS IF YOU'RE AN EXPERT # Puisqu'on nous le dit... # Tout de même, il y a une ou deux options à voir : # # # # # # # # # # # # How long adsl-start waits for a new PPP interface to appear before concluding something went wrong. If you use 0, then adsl-start exits immediately with a successful status and does not wait for the link to come up. Time is in seconds. # # # # # rp-pppoe essaye de reconnecter à chaque interruption de la liaison si la connexion n'est pas à la demande. l'option suivante permet éventuellement d'obliger rp-pppoe à essayer d'établir la connexion indéfiniment. Ici, nous nous contenterons de 30 secondes. Si vous devez pouvoir accéder à votre machine à distance (ssh, telnet...) WARNING WARNING WARNING: If you are using rp-pppoe on a physically-inaccessible host, set CONNECT_TIMEOUT to 0. This makes SURE that the machine keeps trying to connect forever after adsl-start is called. Otherwise, it will give out after CONNECT_TIMEOUT seconds and will not attempt to connect again, making it impossible to reach. # mettez alors cette valeur à 0 pour forcer les tentatives à l'infini. CONNECT_TIMEOUT=30 # How often in seconds adsl-start polls to check if link is up CONNECT_POLL=2 # Specific desired AC Name ACNAME= # Specific desired service name SERVICENAME= # Character to echo at each poll. # anything echoed PING="." Use PING="" if you don't want # File where the adsl-connect script writes its process-ID. # Three files are actually used: # $PIDFILE contains PID of adsl-connect script # $PIDFILE.pppoe contains PID of pppoe process # $PIDFILE.pppd contains PID of pppd process CF_BASE=`basename $CONFIG` PIDFILE="/var/run/$CF_BASE-adsl.pid" # Do you want to use synchronous PPP? "yes" or "no". "yes" is much # easier on CPU usage, but may not work for you. It is safer to use # "no", but you may want to experiment with "yes". "yes" is generally # safe on Linux machines with the n_hdlc line discipline; unsafe on others. SYNCHRONOUS=no # Do you want to clamp the MSS? Here's how to decide: # - If you have only a SINGLE computer connected to the ADSL modem, choose # "no". # - If you have a computer acting as a gateway for a LAN, choose "1412". # The setting of 1412 is safe for either setup, but uses slightly more # CPU power. # Option fort intéressante, surtout si la machine agit comme une passerelle # entre le Net et votre réseau local. Cette option permet à vos hôtes du réseau # privé d'adopter un MTU compatible avec PPPoE CLAMPMSS=1412 #CLAMPMSS=no # LCP echo interval and failure count. LCP_INTERVAL=20 LCP_FAILURE=3 # PPPOE_TIMEOUT should be about 4*LCP_INTERVAL PPPOE_TIMEOUT=80 # Firewalling: One of NONE, STANDALONE or MASQUERADE # Personellement, je préfère m'occuper du firewall à part en écrivant mes propres règles # dans netfilter. FIREWALL=NONE # Il n'est normalement pas nécessaire de modifier les autres paramètres. # Linux kernel-mode plugin for pppd. If you want to try the kernel-mode # plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so LINUX_PLUGIN= # Any extra arguments to pass to pppoe. # like this: PPPOE_EXTRA="" Normally, use a blank string # Rumour has it that "Citizen's Communications" with a 3Com # HomeConnect ADSL Modem DualLink requires these extra options: # PPPOE_EXTRA="-f 3c12:3c13 -S ISP" # Any extra arguments to pass to pppd. # like this: PPPD_EXTRA="" Normally, use a blank string Les fichiers pap-secrets et chap-secrets. Ils ont la même allure tous les deux : # Secrets for authentication using PAP # client server secret fti/xxxxxxx@fti * xxxxxxx IP addresses * Bien entendu, le mot de passe (secret) est écrit en clair dans ces fichiers. Attention donc aux droits d'accès... Normalement, dans ce type de configuration, seul root a accès en lecture et en écriture. Presque toutes ces options auraient pu être configurées par l'intermédiaire du script adsl-setup. Maintenant que l'on sait à peu près de quoi l'on parle, il n'y a plus aucun inconvénient à le faire à votre choix, par le script ou par la mise à jour de ces fichiers. Il ne vous reste plus qu'à configurer votre SystemV pour qu'il appelle /etc/rc.d/init.d/adsl start au démarrage et vous aurez alors une interface ppp0 active. Configuration de rp-pppoe pour chaque utilisateur. Dans le cas où la machine Linux est utilisée comme un poste de travail, on aura certainement intérêt à utiliser plutôt cette méthode, à moins que l'on souhaite disposer d'une connexion permanente. il faut lancer l'utilitaire tkpppoe. Le bouton "Properties" permet le paramétrage du client. L'onglet "Basic" permet la saisie de l'identifiant de l'utilisateur. L'onglet NIC and DNS permet de spécifier: ● L'interface Ethernet utilisée ● La façon de choisir son DNS. L'onglet "Options"... Attention, la connexion PPP synchrone peut ne pas fonctionner correctement. Il faut essayer. La connexion synchrone est moins gourmande en ressources CPU Il suffit maintenant d'utiliser les boutons "Start" et Stop" pour utiliser sa connexion comme on le ferait avec un modem RTC. La configuration, pour un utilisateur donné, n'est, bien entendu, à faire qu'une fois Mise en garde. La mise en oeuvre de rp-pppoe à travers l'interface graphique n'utilise pas les fichiers de configuration vus plus haut. ses propres fichiers sont créés dans /etc/ppp/rp-pppoe-gui, ce qui permet de disposer d'une configuration éventuellement différente pour chaque utilisateur. Et pour la Debian... C'est somme-toute assez similaire. La configuration testée est une Woody stable. Utilisez le script pppoeconf, qui recherchera automatiquement l'interface attachée au modem, vous posera les questions essentielles et configurera convenablement le client. L'originalité de la Debian, c'est qu'elle intègre plus intimement PPPoE à la connexion PPP "classique". Vous démarrerez et arrêterez votre connexion PPPoE par un : /etc/init.d/ppp start (ou stop) Dans la pratique, le script pppoeconf effectue : ● une mise à jour du fichier /etc/ppp/peers/dsl-provider, ● une mise à jour du fichier /etc/ppp/peers/provider, ● une mise à jour du fichier /etc/ppp/pap-secrets, ● une mise à jour du fichier /etc/ppp/ppp_on_boot.dsl, ● crée un lien symbolique /etc/ppp/ppp_on_boot qui pointe sur /etc/ppp/ppp_on_boot.dsl, ● (et peut-être d'autres choses encore)... Normalement, vous n'avez rien à modifier pour que ça fonctionne, mais faisons tout de même les remarques suivantes :. ● chap-secrets reste vide, si bien que l'authentification PPP se fait en clair. Ce n'est pas très gènant pour l'ADSL, ça peut l'être bien d'avantage pour le câble. Vous avez tout intérêt à copier pap-secrets dans chap-secrets et à vider ensuite pap-secrets. ● Certains paramètres qui peuvent intervenir sur le bon fonctionnement de la connexion PPP et de son partage sur le LAN, comme le MTU et le MSS CLAMP se trouvent dans le fichier /etc/ppp/peers/dsl-provider. N'hésitez donc pas à visiter ce fichier, qui, à peu de choses près, correspond au pppoe.conf de rp-pppoe