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.
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.
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.
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
.
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.
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 =
`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.
`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.
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.
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.
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.
Le fichier rc.inet1 configure les interfaces TCP/IP de base en utilisant deux programmes : /sbin/ifconfig et /sbin/route.
/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.
/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.
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.
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.
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ù :
représente votre adresse IP.
représente votre masque réseau.
représente votre adresse de diffusion.
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'.
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 (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.
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.
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.
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'.
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.
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.
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ù :
représente votre adresse IP.
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.
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ù :
représente votre adresse IP.
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.
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.