Previous Next Table of Contents

9. Configurer les pilotes réseau

Si tout c'est bien passé jusqu'ici, vous devez avoir un noyau Linux supportant les périphériques réseau que vous voulez utiliser et les outils réseau prêts à être configurés. Maintenant place aux réjouissances ! Vous allez avoir besoin de configurer chaque pilote que vous voulez utiliser. Cette configuration consiste en général pour chaque pilote à indiquer son adresse IP et le réseau auquel il sera connecté.

Dans les versions précédentes de ce document, je vous avais présenté une version pratiquement complète des divers fichiers de configuration et j'avais inclus les commentaires nécessaires pour modifier ou détruire les lignes correspondant à vos besoins. À partir de cette version et pour les suivantes, je vais suivre une approche légèrement différente qui j'espère vous ménera à l'ensemble complet des fichiers de configuration en partant de zéro pour que vous puissiez comprendre exactement le pourquoi du comment. Je vais décrire chacun des fichiers et leurs fonctions au fur et à mesure.

9.1 Configuration des fichiers spéciaux dans /dev

Vous n'avez pas besoin de configurer de fichier spécial dans le répertoire /dev. Linux n'a pas besoin et n'utilise pas ces fichiers comme d'autres systèmes d'exploitation semblent en avoir besoin. Les pilotes sont fabriqués dynamiquement en mémoire dans le noyau et comme ils n'interagissent qu'avec d'autres routines du noyau, il n'y a pas de raison pour qu'ils soient visibles directement. Le noyau offre tous les points d'entrées dont vous aurez besoin pour les utiliser effectivement.

9.2 Quelles sont les informations nécessaires avant de commencer?

Avant de configurer le logiciel réseau, vous aurez besoin de quelques informations concernant votre connexion réseau. Votre fournisseur réseau ou votre administrateur réseau devrait être capable de vous fournir la plupart d'entre elles.

L'adresse IP

C'est l'unique adresse de machine, en notation décimale, que votre machine utilisera. Par exemple 128.253.153.54. Elle vous sera fournie par votre administrateur réseau.

Si vous utilisez uniquement une connexion SLIP ou PLIP vous n'avez pas besoin de cette information. Vous pouvez aller directement à la partie traitant du pilote slip.

Si vous utilisez uniquement le pilote loopback, c'est-à-dire pas de périphérique ethernet, pas de connexion slip ou plip, alors vous n'avez pas besoin d'adresse ip car le pilote loopback utilise toujours l'adresse 127.0.0.1.

Le masque réseau (`netmask')

Pour des raisons de performance, il est préférable de limiter le nombre d'hôtes sur tout segment particulier d'un réseau. C'est pourquoi les administrateurs réseau divisent habituellement leurs réseaux en plusieurs réseaux plus petits, appelés subnets. Chaque sous-réseau possède des adresses réseau qui lui sont assignées. Le masque réseau est un champ de bits qui, appliqué sur une adresse de votre réseau, permet de savoir à quel sous-réseau elle appartient. C'est très important pour le routage, et si vous trouvez par exemple que vous pouvez parler avec des gens en dehors de votre réseau mais pas avec certaines personnes de votre propre réseau, alors il est presque certain que vous avez donné un mauvais masque de sous-réseau.

Vos administrateurs réseau ont choisi le masque réseau quand le réseau a été créé et ils doivent donc être en mesure de vous procurer le masque à utiliser. La plupart des réseaux sont des sous sous-réseaux de classe C qui utilise le masque 255.255.255.0. D'autres réseaux plus grands utilisent des masques de classe B (255.255.0.0). Le code NET-2/NET-3 choisit automatiquement un masque par défaut quand vous assignez une adresse à un pilote. La valeur par défaut suppose que votre réseau n'a pas été divisé en sous-réseaux.

Le logiciel NET-2/NET-3 choisira les masques suivants par défaut :

Pour des adresses avec comme premier octet :
1-127         255.0.0.0         (Class A)
128-191       255.255.0.0       (Class B)
192+          255.255.255.0     (Class C)

Si l'un de ceux-ci ne fonctionne pas, essayez en un autre. Si ça ne fonctionne pas demandez de l'aide à votre administrateur réseau ou au gourou réseau local (on en trouve à la pelle).

Vous n'avez pas besoin de vous soucier du masque réseau pour l'interface loopback, ni si vous ne devez utiliser que SLIP/plip.

Adresse réseau

C'est votre adresse IP masquée (ET bit à bit) avec votre masque réseau. Par exemple :

Votre masque est :            255.255.255.0
et votre adresse IP est :     128.253.154.32    &&
                              ---------------
l'adresse de votre reseau :   128.253.154.0     =

Adresse de diffusion

`Un cri est un chuchotement que tout le monde entend qu'il le veuille ou non'

C'est normalement votre adresse réseau combinée par un OU logique avec le complément de votre masque réseau. Pour un réseau de classe C, avec un masque réseau 255.255.255.0, votre adresse de diffusion sera votre adresse réseau (calculée précédemment), combiné par un OU logique avec 0.0.0.255, le complément de votre masque réseau.

L'exemple doit ressembler à :

Si votre masque reseau est :  255.255.255.0      !
le complement est :             0.  0.  0.255    =
Si votre adresse reseau est : 128.253.154.0      ||
                              ----------------
Votre adresse de diffusion :  128.253.154.255    =

Pour des raisons historiques certains réseaux utilisent l'adresse du réseau comme adresse de diffusion. Si vous avez des doutes, contactez l'administrateur réseau.

Si vous avez accès à un sniffer, ou à un logiciel capable de visualiser le trafic réseau, vous devriez être capable de déterminer les adresses du réseau et de diffusion en regardant le trafic des autres sur le réseau local. Gardez un oeil ouvert sur (ou en filtrant tout sauf) les trames ethernet destinées à l'adresse de diffusion ethernet : ff:ff:ff:ff:ff:ff. Si l'une d'elles a comme source IP l'adresse de votre routeur local, et que l'identificateur de protocole n'est pas ARP, alors regardez l'adresse de destination IP car cette trame pourrait très bien être un RIP routant une diffusion de votre routeur et dans ce cas l'adresse IP de destination sera votre adresse de diffusion.

Encore une fois, si vous n'êtes pas sûr, vérifiez avec votre administrateur. Il préférera vous aider plutôt que de vous laisser connecter avec une machine mal configurée.

Adresse du routeur (`Gateway')

`Il doit bien y avoir un chemin hors d'ici.'

C'est l'adresse de la machine qui relie votre réseau au reste de l'internet. C'est votre `porte' sur le monde extérieur. Quelques conventions existent pour choisir les adresses des routeurs que votre réseau doit suivre : l'adresse du routeur est la plus petite ou la plus grande du réseau. La pratique la plus courante est la première  le routeur a une adresse pratiquement identique à la vôtre excepté un .1 comme dernier octet. Autrement dit, si votre adresse est 128.253.154.32, alors celle de votre routeur peut être 128.253.154.1. Le routeur peut en fait être n'importe quelle adresse valide sur votre réseau et fonctionnera correctement, l'adresse n'y change rien. Il peut même y avoir plusieurs routeurs sur votre réseau. Vous devrez probablement demander à votre administrateur réseau de vous indiquer l'adresse de votre routeur.

Si vous utilisez seulement le loopback, vous n'avez pas besoin d'adresse de routeur. Si vous utilisez PPP, vous n'en avez pas besoin non plus. PPP déterminera automatiquement l'adresse correcte pour vous. Si vous utilisez SLIP, alors l'adresse du routeur sera votre adresse SLIP.

L'adresse du serveur de noms

La plupart des machines sur le réseau ont accès à un serveur de noms pour traduire les adresses lisibles par des humains en des adresses lisibles par des ordinateurs et vice-versa. Votre administrateur vous fournira l'adresse du serveur de noms le plus proche. Vous pouvez en fait démarrer un serveur de noms sur votre propre machine en lançant named, dans ce cas l'adresse du routeur sera 127.0.0.1, l'adresse loopback. Cela dit, il n'est pas du tout nécessaire de lancer named (voir la section `named' pour plus d'information).

Si vous utilisez seulement le loopback vous n'avez pas besoin de serveur de noms car vous n'allez communiquer qu'avec votre propre machine.

NOTE pour les utilisateurs de SLIP/PLIP/PPP

Vous pouvez avoir ou ne pas avoir besoin des informations précédentes. Cela dépend de la manière dont votre connexion est établie et des capacités de la machine à laquelle vous êtes reliés. Vous trouverez plus de détails dans la section qui décrit SLIP/PLIP et PPP.

9.3 /etc/rc.d/rc.inet1,2 ou /etc/rc.net ou /etc/init.d/network

Les commandes de configuration du réseau peuvent être tapées manuellement mais vous voudrez probablement que l'interface réseau se configure automatiquement à chaque fois que vous démarrez votre machine.

Les fichiers `rc' ont été créés spécialement dans ce but. Pour les non-spécialistes d'UNIX : les fichiers `rc' sont lancés au démarrage par le programme init et démarrent tout le système de base comme syslog, update et cron. Ils sont analogues au fichier MS-DOS autoexec.bat. rc signifie `runtime commands'. Par convention ces fichiers se trouvent dans le répertoire /etc. Le standard du système de fichier Linux ne décrit pas où vous devez mettre vos fichiers rc. Il laisse le choix de suivre les conventions BSD (/etc/rc.*) ou System-V (/etc/rc.d/rc*). Alan, Fred et moi, utilisons tous la convention System-V, c'est donc ce qui va être décrit dans la suite. Cela signifie que les fichiers se situent dans /etc/rc.d et se nomment rc.inet1 et rc.inet2. Le premier fichier rc appelé au démarrage est le fichier /etc/rc qui à son tour appelle les autres comme rc.inet1, lui même appelant rc.inet2. La localisation de ces fichiers n'a aucune importance tant que init peut les trouver.

Dans certaines distributions le fichier rc pour le réseau est appelé rc.net et se trouve dans le sous-répertoire /etc. Le fichier rc.net est simplement les fichiers rc.inet1 et rc.inet2 combinés en un seul fichier. Quelques équivalences:

Conventionnellement          Slackware            Debian et autres nouveaux
===================        ================      =========================
/etc/rc.d/rc.inet1         /etc/rc.net            /etc/init.d/network

/etc/rc.d/rc.inet2         /etc/rc.net            /etc/init.d/netbase
                                                  /etc/init.d/netstd_init
                                                  /etc/init.d/netstd_nfs
                                                  /etc/init.d/netstd_misc
L'endroit où les commandes sont déclenchées n'a aucune importance tant que les interfaces sont configurées avant de démarrer les démons et applications réseau.

Dans la suite j'utiliserai les fichiers rc.inet1 et rc.inet2. Je les conserverai dans le répertoire /etc/rc.d. Donc si vous utilisez une distribution qui utilise rc.net ou si vous voulez les placer ailleurs vous devrez faire les ajustements nécessaires.

Nous allons construire ensemble ces fichiers.

rc.inet1

Le fichier rc.inet1 configure les interfaces TCP/IP de base en utilisant deux programmes : /sbin/ifconfig et /sbin/route.

ifconfig

/sbin/ifconfig met en place les paramètres de votre interface comme votre adresse IP, votre masque réseau, votre adresse de diffusion... Vous pouvez utiliser ifconfig sans paramètre pour visualiser la configuration de toutes vos interfaces réseau. Consultez la page du manuel d'ifconfig pour plus de détails.

route

/sbin/route est utilisé pour créer, modifier et détruire des entrées dans une table (la table de routage) que le code réseau consulte quand il a un paquet à transmettre. La table de routage liste l'adresse de destination et l'interface par laquelle cette adresse peut être atteinte. Vous pouvez utiliser la commande route sans paramètre pour visualiser le contenu de la table de routage. Pour plus de détails consultez les pages du manuel sur route.

rc.inet2

Le fichier rc.inet2 lance tous les démons réseau comme inetd, portmapper et les autres. Ceci sera traité dans la section `rc.inet2', pour le moment nous allons nous concentrer sur rc.inet1. Je mentionne ce fichier ici pour que vous compreniez que si vous utilisez une autre configuration, par exemple un fichier rc.net unique, sa seconde partie correspond à rc.inet2. Il est important de se rappeler que vous devez démarrer les applications et les démons réseau après avoir configuré vos interfaces réseau.

9.4 Configurer l'interface Loopback (obligatoire)

L'interface loopback ne correspond pas à une interface physique. C'est un artifice logiciel qui se comporte comme une interface physique. Sa fonction est de vous permettre de vous connecter à vous même et ainsi de tester le logiciel réseau sans être relié à un réseau physique. C'est très utile si par exemple vous développez un logiciel réseau et vous n'avez qu'une connexion SLIP. Vous pouvez écrire et tester votre logiciel localement et quand vous êtes prêt à le tester sur vrai réseau, vous établissez votre liaison SLIP et vous le testez. En procédant ainsi vous ne gênez pas les autres utilisateurs si votre programme fonctionne de travers.

Par convention, l'interface loopback correspond toujours à l'adresse IP 127.0.0.1, vous utiliserez donc cette adresse lors de la configuration.

Sous Linux l'interface loopback est appelé `lo'. Nous allons maintenant créer notre première entrée dans le fichier rc.inet1 :

#!/bin/sh
#
# rc.inet1   --  configure les interfaces réseau.
#
# Attachement de l'interface loopback.
/sbin/ifconfig lo 127.0.0.1
#
# Ajout d'une route vers l'interface loopback.
/sbin/route add 127.0.0.1
# Fin loopback
#

Vous avez utilisé le programme ifconfig pour donner son adresse IP à l'interface loopback et le programme route pour créer une entrée dans la table de routage pour être sûr que toutes les données destinées à l'adresse 127.0.0.1 seront bien envoyées à l'interface loopback.

Il y a deux points importants à noter ici.

Premièrement, le masque réseau et l'adresse de diffusion ont pris des valeurs par défaut pour l'interface loopback. Pour connaître leurs valeurs, lançons la commande ifconfig sans argument.

# ifconfig
lo        Link encap Local Loopback
          inet addr 127.0.0.1  Bcast 127.255.255.255  Mask 255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU 2000  Metric 1
          RX packets 0 errors 0 dropped 0 overrun 0
          TX packets 30 errors 0 dropped 0 overrun 0
#

Deuxièmement, il n'est pas évident de comprendre comment la commande route choisit l'interface loopback comme destination pour l'adresse 127.0.0.1. Le programme route est assez intelligent pour savoir que l'adresse 127.0.0.1 appartient au réseau géré par l'interface loopback. Il arrive à trouver cela en consultant l'adresse IP et le masque réseau. Vous pouvez visualiser le contenu de la table de routage avec la commande route sans argument :

# route
Kernel routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
127.0.0.0       *               255.0.0.0       U     0      0       30 lo
#

Note : vous pouvez utiliser l'argument -n si votre résolution de noms n'est pas configurée correctement. L'argument -n indique à route de n'afficher que les adresses sous forme numérique et de ne pas s'occuper de rechercher le nom correspondant.

9.5 Configurer une interface ethernet (optionnel)

Vous ne serez intéressé par cette section que si vous voulez configurer une carte ethernet. Sinon passez à la section suivante.

La configuration d'une interface ethernet est légèrement plus compliquée que celle de l'interface loopback. Cette fois vous devrez probablement spécifier explicitement le masque réseau et l'adresse de diffusion sauf si les valeurs par défaut vous conviennent et elles vous conviendront probablement.

Pour cela vous aurez besoin de l'adresse IP qui vous a été assignée, le masque réseau utilisé sur votre réseau et de l'adresse de diffusion en vigueur sur votre réseau.

La première interface ethernet sous Linux est appelée `eth0', la deuxième `eth1' et ainsi de suite. Vouˆs allez maintenant ajouter une section à votre fichier rc.inet1. Le fragment de code suivant devrait faire l'affaire si vous remplacez les adresses spécifiées par les vôtres :

#
# Attachement d'une interface ethernet
#
#  configure l'adresse IP, le masque reseau et
#  l'adresse de diffusion.
/sbin/ifconfig eth0 IPA.IPA.IPA.IPA
/sbin/ifconfig eth0 netmask NMK.NMK.NMK.NMK
/sbin/ifconfig eth0 broadcast BCA.BCA.BCA.BCA
#
# ajout d'une route réseau pour pointer dessus
/sbin/route add -net NWA.NWA.NWA.NWA device eth0
#
# Fin ethernet
#

Où :

IPA.IPA.IPA.IPA

représente votre adresse IP.

NMK.NMK.NMK.NMK

représente votre masque réseau.

BCA.BCA.BCA.BCA

représente votre adresse de diffusion.

NWA.NWA.NWA.NWA

représente l'adresse de votre réseau.

Notez l'utilisation de l'argument -net à la commande route. Ceci signifie à route d'ajouter une route vers un réseau et non vers un hôte. Il existe autre méthode pour atteindre les mêmes objectifs : vous pouvez supprimer la ligne avec -net si vous avez l'adresse de votre réseau dans le fichier /etc/networks. Cette méthode sera traitée plus tard dans la section `/etc/networks'.

9.6 Configurer une interface SLIP (optionnel)

SLIP (Serial Line Internet Protocol) vous permet d'utiliser TCP/IP sur une ligne série, que ce soit une ligne téléphonique avec un modem numéroteur ou une ligne spécialisée. Bien sûr pour utiliser SLIP, vous devez avoir accès à un serveur SLIP. Beaucoup d'universités et de sociétés proposent des accès SLIP à travers le monde.

SLIP utilise le port série de votre machine pour transporter des données IP. Pour réaliser ceci, il doit prendre le contrôle du port série. Les interfaces SLIP s'appellent sl0, sl1 etc. Comment ces noms sont associés à vos ports série ? Il y a deux programmes prévus pour réaliser ces liens, ils s'appellent dip et slattach.

dip

dip (Dialup IP) est un programme intelligent qui est capable de configurer la vitesse de votre port, de commander à votre modem de numéroter le numéro de votre correspondant, de se connecter automatiquement au serveur distant et d'extraire des informations comme votre adresse IP et réaliser les ioctl nécessaires pour passer votre port série en mode SLIP. dip possède un langage de commandes très puissant que vous pouvez exploiter pour réaliser des procédures de connexions automatiques.

dip était proposé en standard dans l'archive net-tools, mais depuis que le développement de dip est maintenant autonome vous devez récupérer les sources séparément. Il y a de nombreuses autres versions de dip qui offrent un ensemble de nouvelles fonctionnalités. Depuis que dip-uri est si populaire, les exemples décrits dans ce document sont basés sur les versions habituelles. Vous pouvez les trouver sur:

sunsite.unc.edu

/pub/Linux/system/Network/serial/dip337j-uri.tgz

Pour l'installer, faites:

# 
# cd /usr/src
# gzip -dc dip337j-uri.tgz | tar xvf -
# cd dip.3.3.7j

<editez Makefile>

# make install
#

Le fichier Makefile suppose l'existence d'un groupe nommé uucp, mais vous pourrez changer cela en dip ou SLIP suivant votre configuration.

slattach

Par contre slattach est un programme très simple, très facile à utiliser, mais qui n'a pas la sophistication de dip. Il n'a pas de possiblité de faire des scripts, tout ce qu'il fait est de configurer votre interface série en tant que dispositif SLIP. Il suppose que vous avez toutes les informations nécessaires et que votre liaison série est établie avant de lui faire appel. slattach est idéal pour ceux qui possède un lien permanent avec leur serveur, comme un câble ou une ligne spécialisée.

Quand et lequel utiliser ?

Vous devez utiliser dip quand votre lien avec la machine qui vous sert de serveur est un modem ou tout autre lien temporaire. Vous devez utiliser slattach quand vous avez un lien permanent, une ligne spécialisée, voire un simple câble, entre votre machine et le serveur, et qu'il n'y a aucune action spéciale à réaliser pour que le lien fonctionne. Pour plus d'information consulter la section `Connexion SLIP permanente'.

La configuration de SLIP est à peu près identique à celle d'une interface ethernet (commencez par lire la section `Configuration d'une interface ethernet'). Il existe quand même des différences importantes.

Premièrement, les liens SLIP sont différents des réseaux ethernet dans le sens où il n'y a jamais que deux hôtes sur le réseau, un à chaque bout. Deuxièmement, l'interface ethernet est disponible immédiatement dès que vous êtes relié alors qu'avec SLIP, cela dépend du type de lien que vous avez, vous pouvez avoir besoin d'initialiser votre connexion d'une manière spéciale.

Si vous utilisez dip, vous ne le ferez pas normalement au démarrage de votre machine mais plus tard, quand vous en aurez besoin. Il est possible d'automatiser cette procédure. Si vous utilisez slattach vous voudrez probablement ajouter la section adéquate au fichier rc.inet1. Ceci sera décrit bientôt.

Il y a deux catégories de serveurs SLIP : les serveurs à adresses IP dynamiques et les serveurs à adresses IP statiques. Pratiquement tous les serveurs SLIP vous demanderont un nom d'utilisateur et un mot de passe à la connexion. dip peut gérer cette connexion automatiquement.

Serveur SLIP statique et DIP

Avec un serveur SLIP statique, vous avez une adresse IP qui vous est personnelle. A chaque fois que vous vous connecterez au serveur vous devrez configurer votre interface SLIP avec cette adresse. Le serveur SLIP statique répondra à votre appel, peut-être en vous demandant un nom d'utilisateur et un mot de passe, puis il aiguillera tous les paquets de données qui vous sont destinés vers votre liaison. Si vous avez un serveur SLIP statique, vous pouvez mettre votre nom de machine et votre adresse IP dans le fichier /etc/hosts. Vous pouvez aussi configurer d'autres fichiers comme : rc.inet2, host.conf, resolv.conf, /etc/HOSTNAME, et rc.local. Vous n'avez pas besoin d'ajouter des commandes spéciales à votre fichier rc.inet1 car dip fait tout le sale boulot pour vous. Vous devrez donner à dip les informations nécessaires et il vous paramètrera l'interface après avoir piloté votre modem et s'être connecté à votre serveur SLIP.

Si c'est la manière dont fonctionne votre serveur SLIP vous pouvez aller directement à la section `Utiliser Dip'.

Serveur SLIP dynamique et DIP

Un serveur SLIP dynamique vous alloue une adresse IP prise au hasard dans un ensemble à chaque fois que vous vous connectez. Vous n'avez donc aucune garantie pour avoir une adresse IP identique à chaque fois et cette adresse peut très bien être utilisée par quelqu'un d'autre dès que vous vous déconnectez. L'administrateur réseau qui a configuré le serveur SLIP aura choisi un ensemble d'adresses et quand le serveur recevra un nouvel appel, il choisira une adresse inutilisée, conduira le processus de connexion, imprimera un message de bienvenue qui contiendra l'adresse IP allouée et utilisera ensuite cette adresse pendant toute la durée de l'appel.

La configuration pour ce type de serveur est identique à celle d'un serveur statique excepté que vous devez ajouter une étape pour récupérer l'adresse IP que le serveur vous a allouée et configurer l'interface avec.

Là aussi, dip fait le sale boulot, et les nouvelles versions sont suffisamment intelligentes pour non seulement vous connecter mais aussi pour récupérer automatiquement l'adresse IP dans le message de bienvenue et l'enregistrer pour que vous puissiez configurer votre interface avec elle. Si c'est la manière dont votre serveur SLIP travaille, alors vous pouvez aller à la section `Utiliser dip' pour apprendre comment configurer dip convenablement.

Utiliser DIP

Comme expliqué précédemment, dip est un programme puissant qui peut simplifier et automatiser votre procédure de connexion au serveur SLIP, en vous connectant, en démarrant la connexion, et en configurant l'interface SLIP avec les commandes ifconfig et route appropriées.

Vous devrez essentiellement écrire un `script de dialogue', qui consiste en une liste de commandes dip expliquant comment exécuter toutes les actions dont vous avez besoin. Pour un exemple vous pouvez consulter le fichier sample.dip qui est fourni avec dip. dip est un programme puissant avec beaucoup d'options. Vous pouvez consulter la page de man, le fichier README et les fichiers d'exemples fournis avec dip.

Le script sample.dip suppose que vous utilisez un serveur statique, donc que vous connaissez votre adresse IP à l'avance. Pour les serveurs SLIP dynamiques, les versions récentes de dip possèdent une commande que vous pouvez utiliser pour configurer votre interface SLIP avec l'adresse IP que le serveur vous a allouée. L'exemple suivant est une version modifiée de sample.dip fournie avec dip337j-uri.tgz et est probablement un bon point de départ. Vous pouvez le sauvegarder dans le fichier /etc/dipscript et éditez le pour l'adapter à votre configuration:

#
# sample.dip    Programme support de connexion IP.
#
#               Ce fichier montre (devrait montrer) comment utiliser DIP
#       Ce fichier doit fonctionner avec des serveurs dynamiques Annex,si vous
#       utilisez un serveur à adresse statique, alors utilisez le
#       fichier sample.dip qui fait partie du paquetage dip337-uri.tgz.
#
#
# Version:      @(#)sample.dip  1.40    07/20/93
#
# Auteur:       Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
#

main:
# Ci-dessous, mettre l'adresse et le nom de l'autre machine.
# Ma machine appelée s'appelle 'xs4all.hacktic.nl' (== 193.78.33.42)
get $remote xs4all.hacktic.nl
# Régler le masque de réseau sur sl0 à 255.255.255.0
netmask 255.255.255.0
# Réglez le port série désiré et sa vitesse.
port cua02
speed 38400

# Faire un reset sur le modem et le terminal.
# Ceci semble créer des ennuis à certains!
reset

# Note! Valeurs "standards" prédefinies de "errlevel":
#  0 - OK
#  1 - CONNECT
#  2 - ERROR
#
# Vous pouvez les changer en faisant 'grep "addchat()" *.c'

# Préparation de la numérotation.
send ATQ0V1E1X4\r
wait OK 2
if $errlvl != 0 goto modem_trouble
dial 555-1234567
if $errlvl != 1 goto modem_trouble

# Nous sommes connectés. Début de session sur le système.
login:
sleep 2
wait ogin: 20
if $errlvl != 0 goto login_trouble
send MYLOGIN\n
wait ord: 20
if $errlvl != 0 goto password_error
send MYPASSWD\n
loggedin:

# Nous sommes maintenant enregistrés.
wait SOMEPROMPT 30
if $errlvl != 0 goto prompt_error

# Commander le serveur en mode SLIP
send SLIP\n
wait SLIP 30
if $errlvl != 0 goto prompt_error

# Obtenir et régler votre adresse IP à partir du serveur.  
#   Ici nous supposons qu'aprè avoir commandé le serveur SLIP
#   à se mettre en mode SLIP, qu'il donne votre adresse IP 
get $locip remote 30
if $errlvl != 0 goto prompt_error

# Réglage des paramètres.
get $mtu 296
# S'assurer que "route add -net default xs4all.hacktic.nl" sera fait
default

# Dire bonjour et à l'assaut!
done:
print CONNECTED $locip ---> $rmtip
mode CSLIP
goto exit

prompt_error:
print TIME-OUT waiting for sliplogin to fire up...
goto error

login_trouble:
print Trouble waiting for the Login: prompt...
goto error

password:error:
print Trouble waiting for the Password: prompt...
goto error

modem_trouble:
print Trouble occurred with the modem...
error:
print CONNECT FAILED to $remote
quit

exit:
exit

L'exemple précédent suppose que vous appelez un serveur SLIP dynamique. Si vous appelez un serveur statique, utilisez le fichier sample.dip fourni avec dip337j-uri.tgz.

La commande dip get $local cherche dans le texte envoyé par le serveur une chaîne de caractères qui ressemble à une adresse IP, en fait des nombres séparés par un point. Cette modification a été créée spécialement pour gérer automatiquement les adresses IP allouées par les serveur SLIP dynamiques.

L'exemple précédent assigne l'interface SLIP comme étant la route par défaut. Si ce n'est pas ce que vous voulez, vous pourriez avoir une connexion ethernet qui sera votre route par défaut, supprimez la commande default du script.

Quand le script est terminé, si vous faites la commande ifconfig, vous verrez que vous avez une interface sl0. C'est votre interface SLIP. Si vous avez besoin, vous pouvez la modifier manuellement après la fin de dip en utilisant les commandes ifconfig et route.

dip permet de choisir parmi plusieurs protocoles avec la commande mode, l'exemple le plus courant est cslip (SLIP avec compression). Pour l'utiliser, les deux extrémités du lien doivent être d'accord a priori, vous devez donc vous assurer que vous avez le même protocole que votre serveur.

L'exemple précédent est assez robuste et devrait se débrouiller avec la plupart des erreurs. Consultez la page de man de dip pour plus d'informations. Vous pouvez aussi par exemple écrire des scripts qui rappellent s'ils n'ont pas obtenu la connexion ou bien qui tentent de se connecter à d'autres serveurs si vous avez accès à plusieurs.

Connexion SLIP permanente sur une liaison spécialisée et slattach

Si vous avez un câble entre deux machines, ou si vous êtes assez fortuné pour avoir une ligne dédiée, ou toute autre connexion série permanente entre votre machine et une autre, vous n'avez pas besoin d'utiliser dip pour initialiser votre liaison série. slattach est un utilitaire très simple d'emploi qui possède juste les fonctionnalités nécessaires pour configurer votre connexion.

Comme votre liaison doit être permanente, vous pouvez ajouter les commandes pour la créer dans le fichier rc.inet1. En résumé tout ce que vous avez à faire est de configurer votre interface série avec la bonne vitesse et de la basculer dans le mode SLIP. slattach vous permet de le faire en une commande. Ajoutez la commande suivante à votre fichier rc.inet1 :

#
# Attache une connexion SLIP statique avec ligne specialisée
#
#  configuration de /dev/cua0 pour une vitesse de 19.2kbps et cslip
/sbin/slattach -p cslip -s 19200 /dev/cua0 &
/sbin/ifconfig sl0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up
#
# Fin SLIP statique.

où :

IPA.IPA.IPA.IPA

représente votre adresse IP.

IPR.IPR.IPR.IPR

représente l'adresse IP de la machine distante.

slattach associe la première interface SLIP libre à la liaison série spécifiée. slattach débute avec sl0. Donc la première commande slattach associe l'interface SLIP sl0 à la liaison série spécifiée, puis sl1 la fois suivante, etc.

slattach vous permet de configurer un protocole spécifique avec l'option -p. Dans votre cas vous utiliserez slip ou cslip suivant que vous utilisez la compression ou non. Les deux extrémités doivent être d'accord sur le fait d'utiliser la compression ou non.

9.7 Configurer une interface PLIP (optionnel)

plip (Parallel Line IP) est comme SLIP, dans le sens où il vous permet d'établir une connexion réseau point à point entre deux machines, sauf qu'il a été conçu pour utiliser le port parallèle de votre machine au lieu du port série. Comme il est possible de transférer plus d'un bit à la fois sur le port parallèle, on peut obtenir des vitesses plus élevées avec l'interface plip qu'avec une interface série standard. De plus le plus simple des ports parallèles, le port d'imprimante, peut être utilisé sans avoir besoin d'acheter de coûteux UART 16550AFN pour vos ports série.

Veuillez noter que certains portables utilisent des puces qui ne fonctionnent pas avec PLIP parce qu'elles ne permettent pas certaines combinaisons de signaux nécessaires à PLIP, et que les imprimantes n'utilisent pas.

L'interface plip de Linux est compatible avec le Crywyr Packet Driver PLIP, ce qui signifie que vous pouvez relier votre machine Linux à une machine DOS via plip, avec n'importe quel sorte de logiciel TCP/IP. Vous avez deux manières d'utiliser le pilote PLIP. Vous pouvez soit compiler le pilote dans votre noyau, soit utiliser le progiciel modules pour charger le module PLIP de manière dynamique. Je recommande de le compiler dans votre noyau: c'est le plus simple et vous avez à tout instant le pilote sous la main. Au moment de compiler le noyau, vous devez vérifier un seul fichier pour configurer plip. Ce fichier c'est /usr/src/linux/driver/net/CONFIG, il contient les timings pour plip en millisecondes. Les valeurs par défaut devraient être correctes dans la plupart des cas. Vous aurez peut-être besoin de les augmenter si vous avez un ordinateur particulièrement lent, et dans ce cas les temps à augmenter sont sur l'autre ordinateur. Le pilote suppose les valeurs suivantes par défaut:

dispositif   adresse e/s     IRQ
----------   -----------     -------
plip0        0x3BC           5
plip1        0x378           7
plip2        0x278           2 (9)
Si votre port parallèlle ne s'accorde pas avec l'une de ces combinaisons vous pouvez changer l'IRQ d'un port en utilisant la commande ifconfig avec 'irq' comme paramètre. Vérifiez bien que votre ROM BIOS supporte l'option de pouvoir valider des IRQ sur vos ports paralèlles.

Pour configurer une interface plip, vous devez ajouter ces lignes au fichier rc.inet1 :

#
# Attache une interface PLIP
#
#  configure le premier port parallèle comme interface PLIP
/sbin/ifconfig plip0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up
#
# Fin plip

où :

IPA.IPA.IPA.IPA

représente votre adresse IP.

IPR.IPR.IPR.IPR

représente l'adresse IP de la machine distante.

Le paramètre pointopoint a la même signification que pour SLIP, dans le sens qu'il spécifie l'adresse de la machine à l'autre bout de la liaison.

Dans presque tous les cas vous pouvez traiter l'interface plip comme l'interface slip, sauf que ni dip ni slattach ne devront ni ne pourront être utilisés.

Diagramme de câblage PLIP

plip a été conçu pour être utilisé avec les mêmes câbles que ceux utilisés habituellement sous MS-DOS pour les transferts de PC à PC.

Le diagramme de cablage (extrait de /usr/src/linux/drivers/net/plip.c) ressemble à :

Nom broche  Relier broche - broche
----------  -------------------------------
GROUND      25 - 25
D0->ERROR   2 - 15
ERROR->D0   15 - 2
D1->SLCT    3 - 13
SLCT->D1    13 - 3
D2->PAPOUT  4 - 12
PAPOUT->D2  12 - 4
D3->ACK     5 - 10
ACK->D3     10 - 5
D4->BUSY    6 - 11
BUSY->D4    11 - 6
D5          7*
D6          8*
D7          9*
STROBE      1*
FEED        14*
INIT        16*
SLCTIN      17*

Notes : Ne pas relier les broches marquées avec une `*'. Les masses supplémentaires sont les broches 18, 19, 20, 21, 22, 23 et 24.

Si le câble que vous utilisez possède un blindage métallique, il doit être relié à la partie métallique de la prise DB-25 à une extrémité seulement.

Attention: un câble mal branché peut détruire votre carte contrôleur. Soyez très soigneux et vérifiez chaque liaison pour vous éviter tout travail inutile ou des gros ennuis. Bien que l'on puisse utilser PLIP avec des câbles sur des longues distances, évitez le si possible. Les spécifications des câbles permettent d'avoir des longueurs d'un mètre à peu près. Faites attention quand vous utilisez de grandeurs longueurs car des sources de champs magnétiques intenses comme les éclairs, les lignes de puissance, les émetteurs radio peuvent donner des interférences et endommager votre carte contrôleur. Si vous voulez vraiment connecter deux ordinateurs sur une grande distance, il vaut mieux regarder plutôt vers une paire de cartes ethernet et un câble coaxial.


Previous Next Table of Contents