Copyright © 2000 Commandprompt, Inc
v1.7.0, 29 D�cembre 2000
Ceci un document LinuxPorts.Com Document pour le LDP (Linux Documentation Project : Projet de Documentation pour Linux).Il a �t� soutenu en partie par le Open Source Documentation Fund.
La version actuelle est la 1.7.0, qui est une mise � jour mineure avec quelques corrections grammaticales.
(Traduction et trahison de Jacques.Chion@wanadoo.fr, un grand merci � Jean-Albert Ferrez, Bernard Choppy, �ric Dumas et Jean-Paul Chiron pour leur aide).
NdT : Dans cette version, l'auteur fait appel tr�s souvent � la g�n�rosit� publique. Trop � mon go�t. J'ai laiss� volontairement ces appels, car ce n'est pas le but d'un traducteur de d�naturer l'esprit d'un document. � vous de juger.
Nous essayons de fournir un ensemble d'informations pour la compr�hension de toutes les implantations de r�seaux sous Linux. Cependant, cela consomme du temps, et ce document n'est pas une source de revenu. Nous fournissons ces informations en esp�rant que ce sera utile � la communaut� Linux et aux nouveaux convertis � Linux. Nous sommes toujours int�ress�s par les retours d'information! Nous ajouterons autant que possible tout sujet pertinent dans ce document.
Si vous vouler apporter votre aide, il existe deux voies qui sont d'un tr�s grand secours.
Achetez un livre OpenBook! Si vous achetez des livres OpenDocs, OpenDocs Publishing r�troc�dera une partie de la somme au Fond de Documentation Open Source (Open Source Documentation Fund). Celui-ci aide les auteurs financi�rement afin qu'ils continuent � �crire de la documentation pour les projets Open Source.
Contribuer financi�rement au document. Avec cette contribution, vous pouvez m�me demander ce que vous voudriez voir mis � jour, �crit, ou d�velopp� dans le document. Pour participer financi�rement, contactez s'il vous pla�t Command Prompt, Inc. ou Joshua Drake.
Si vous avez �crit quelque chose sur un sujet auquel vous voudriez apporter votre contribution, envoyez un courrier �lectronique � poet@linuxports.com
Le premier document NET-FAQ fut �crit par Matt Welsh et Terry Dawson. Il r�pondait aux questions fr�quemment pos�es au sujet des r�seaux sous Linux, au moment o� le LPD (Linux Documentation Project) d�marrait tout juste. Il s'agissait alors des toutes premi�res versions de d�veloppement du noyau r�seau sous Linux. Le document NET-2-HOWTO, qui succ�da au NET-FAQ, fut l'un des premiers documents du LDP HOWTO. Il traitait de ce qui fut appel� � version 2 � (et plus tard � version 3 �) du logiciel r�seau du noyau Linux. Ce document prend la suite � son tour et ne traite que de la version 4 du noyau r�seau Linux et plus sp�cialement des versions du noyau 2.x et 2.2.x.
Les versions pr�c�dentes de ce document �taient devenues plut�t �normes en raison du grand nombre de sujets abord�s. Pour r�soudre ce probl�me, un certain nombre de documents HOWTO ont �t� cr��s et traitent de sujets sp�cifiques. Ce document fait r�f�rence � ceux qui sont pertinents et aborde les sujets qui ne sont pas encore couverts par d'autres documents.
Nous appr�cions toujours les retours d'informations. Contactez-nous s'il vous plait �: poet@linuxports.com.
Si vous trouvez des erreurs ou bien si vous d�sirez que l'on ajoute quelque chose, contactez nous.
Ceci vous a int�ress� ? Pourquoi ne pas donner 2,50 dollars?
Ce document est organis� de mani�re � �tre lu progressivement. Les premi�res sections traitent d'informations sur le mat�riel et peuvent �tre saut�es si cela ne vous int�resse pas. Puis vous trouverez une discussion g�n�rale sur les r�seaux, et vous devez �tre certains de l'avoir assimil�e avant de poursuivre vers les paragraphes plus sp�cifiques. Le reste traite l'aspect plus technique, et est regroup� en trois parties principales : informations sur Ethernet et IP, les technologies concernant le mat�riel PC le plus courant, et les technologies moins r�pandues.
La d�marche que je sugg�re pour parcourir ce document est donc la suivante :
Ces paragraphes s'appliquent � chaque, ou presque, technologie d�crite plus loin et il est donc important que vous les ayez comprises. D'autre part, j'esp�re que de nombreux de lecteurs connaissent d�j� le sujet.
Vous devez savoir comment votre r�seau est (ou sera) con�u et quels mat�riels et types de technologies vous utiliserez.
Cette section traite de la configuration de base d'Ethernet et des diff�rentes possibilit�s offertes par Linux, et qui concernent le r�seau, telles que le pare-feu, le routage avanc�, etc..
Cette section parle de PLIP, PPP, SLIP, et RNIS, les technologies utilis�es habituellement sur les stations personnelles.
Si vos besoins ne concernent pas IP et/ou un mat�riel courant, vous trouverez � la fin des d�tails sur les protocoles non-IP et les mat�riels de communication particuliers.
Si vous allez r�ellement essayer de configurer votre r�seau, prenez soigneusement note de tout probl�me �ventuel.
Si vous rencontrez des probl�mes qui ne sont pas trait�s dans ce document, reportez-vous au paragraphe donnant les endroits o� l'on peut en obtenir ou bien envoyer des reports de bogues.
Le r�seau est amusant, profitez-en.
Il n'y a pas de convention sp�ciale utilis�e dans ce document, mais vous devez faire attention � la fa�on dont les commandes sont sp�cifi�es. En consultant la documentation habituelle d'Unix, toute commande qui doit �tre tap�e est pr�c�d�e d'une invite du shell. Ce document utilise "user%" comme invite pour les commandes ne n�cessitant pas de privil�ges de superutilisateur, et "root#" pour les commandes que l'on doit ex�cuter comme super-utilisateur (root). Je pr�f�re utiliser "root#" � la place du classique "#" pour �viter toute confusion avec les extraits de scripts shell, ou le signe di�se est utilis� pour d�finir les lignes de commentaires.
Lorsque les � Options de Compilation du noyau � sont mentionn�es, elles le sont avec le format utilis� par menuconfig. Elles devraient donc �tre compr�hensibles m�me si vous (comme moi) n'�tes pas familiers avec menuconfig. Si vous avez un doute sur l'utilisation de certaines options, faites tourner le programme une fois. Cela ne peut que vous aider.
Il existe un grand nombre d'endroits o� l'on peut trouver de bonnes informations sur le r�seau Linux.
Il y a un tas de sp�cialistes disponibles. On peut en trouver une liste sur http://www.linuxports.com/.
Alan Cox, l'actuel mainteneur du code r�seau Linux entretient une page web contenant les points principaux du r�seau actuel, et ses nouveaux d�veloppements, � l'adresse : www.uk.linux.org.
Il existe un groupe de discussion d�di� au r�seau et, en ce qui le concerne dans la hi�rarchie Linux, c'est : comp.os.linux.networking
Il existe une liste de diffusion � laquelle vous pouvez vous inscrire, et o� vous pourrez poser des questions en relation avec le r�seau Linux. Pour souscrire vous devez envoyer un message par courrier �lectronique :
To: majordomo@vger.rutgers.edu Subject: (rien du tout) Message: subscribe linux-net |
Souvenez-vous lorsque vous faites part d'un probl�me d'y inclure le plus possible de d�tails n�cessaires. Plus sp�cialement indiquez les versions des logiciels que vous utilisez, en particulier la version du noyau, les versions des outils tels que pppd ou dip, et la nature exacte des probl�mes que vous rencontrez. Cela veut dire prendre note de la syntaxe exacte des messages d'erreurs que vous recevez, et les commandes que vous avez ex�cut�es.
Si vous d�sirez des informations g�n�rales de base sur tcp/ip, alors je vous recommande de regarder les documents suivants :
ce document se trouve � la fois sur en version texte et en version postscript.
ce document se trouve � la fois sur en version texte et en version postscript.
Si vous recherchez des informations plus d�taill�es je vous recommande chaudement :
" Inter Networking with TCP/IP, Volume 1 : Principes, Protocoles et Architectures, par Douglas E. Comer,ISBN 0-13-227836-7, Prentice Hall publications, 3�me �dition, 1995."
Si vous voulez apprendre comment �crire des applications r�seau dans un environnement compatible Unix, je vous recommande �galement chaudement :
" Unix Network Programming par W. Richard Stevens ISBN 0-13-949876-1, Prentice Hall publications, 1990."
Une deuxi�me �dition de ce livre va apparaitre sur les rayons : le nouveau livre comporte 3 volumes : voyez le site de Prentice Hall pour en savoir plus.
Vous pouvez essayer aussi le groupe de discussions : comp.protocols.tcp-ip.
Une importante source d'informations techniques concernant l'Internet et la suite des protocoles TCP/IP sont les RFC. RFC est l'acronyme de `Request For Comment' et c'est le moyen habituel de soumettre et de s'informer des normes de protocoles Internet. Il y a beauccoup d'endroits o� sont stock�es ces RFC. Un grand nombre sont des sites ftp, d'autres fournissent des acc�s WWW avec un moteur de recherche qui fouille dans les bases de donn�es RFC avec des mots-cl�s particuliers.
Une source possible de RFC est : la base de donn�es RFC de Nexor.
Vous devez conna�tre et bien comprendre les paragraphes suivants avant d'essayer de configurer votre r�seau. Ce sont des principes de base qui s'appliquent, ind�pendamment de la nature du r�seau que vous voulez mettre en place.
Avant de commencer � construire ou configurer votre r�seau, vous aurez besoin de certaines choses. Les plus importantes sont :
� noter:
La majorit� des distributions actuelles sont livr�es avec l'option r�seau activ�e, de sorte que vous n'avez pas besoin de recompiler le noyau. Si vous utilisez du mat�riel bien connu, tout ira bien. Par exemple: cartes 3COM, cartes NE2000 ou cartes Intel. Cependant si vous devez recompiler le noyau, voyez les informations qui suivent.
Si le noyau que vous utilisez actuellement ne g�re pas les types de r�seau ou les cartes que vous voulez utiliser, vous aurez besoin des sources du noyau pour pouvoir le recompiler avec les options ad�quates.
Pour les utilisateurs des principales distributions comme RedHat, Caldera, Debian ou Suse, ce n'est plus vrai. Tant que vous restez avec un mat�riel de grande diffusion, il n'est pas n�cessaire de recompiler le noyau, � moins que vous n'ayez une exigence tr�s sp�cifique.
Vous pouvez toujours obtenir les sources du dernier noyau sur : ftp.cdrom.com. Ce n'est pas le site officiel mais ils ont BEAUCOUP de bande passante et BEAUCOUP d'utilisateurs peuvent se connecter en m�me temps. Le site officiel est kernel.org, mais dans la mesure du possible, utilisez s'il vous pla�t celui que je viens de donner. Souvenez-vous que ftp.kernel.org est particuli�rement surcharg�. Utilisez un miroir. (NdT : et bien s�r ftp.lip6.fr) .
Normalement les sources du noyau doivent �tre d�sarchiv�es dans le r�pertoire /usr/src/linux. Pour savoir comment appliquer les patches et compiler le noyau, lisez le Kernel-HOWTO. Pour savoir comment configurer les modules du noyau, lisez le ``Modules-mini-HOWTO''. Enfin, le fichier README qui se trouve dans les sources du noyau ainsi que le r�pertoire Documentation donnent de nombreux renseignements au lecteur courageux.
Sauf indication contraire, je vous recommande de vous en tenir � une version stable du noyau (celle avec un chiffre pair en seconde place dans le num�ro de version). Les versions de d�veloppement (avec un chiffre impair en seconde place dans le num�ro de version) peuvent avoir une structure ou autre chose qui peut poser probl�me avec les logiciels de votre syst�me. Si vous n'�tes pas certain de r�soudre ce type de probl�mes, avec en plus ceux qui existeraient sur d'autres logiciels, n'utilisez pas de noyau en d�veloppement.
Les adresses de protocole Internet (IP) sont compos�es de quatre octets. La convention d'�criture est appel�e `notation d�cimale point�e'. Sous cette forme chaque octet est converti en un nombre d�cimal (0-255), en omettant les z�ros de t�te (� moins que ce nombre ne soit lui-m�me un z�ro) et chaque octet est s�par� par le caract�re `.'. Par convention, chaque interface d'un h�te ou routeur poss�de une adresse IP. Il se peut que la m�me adresse IP soit utilis�e sur diff�rentes interfaces d'une m�me machine, mais, en g�n�ral, chaque interface poss�de sa propre adresse.
Les r�seaux IP (Protocole Internet) sont des s�quences contigu�s d'adresses IP. Toutes les adresses d'un m�me r�seau ont des chiffres en commun. La partie d'adresse commune � toutes les adresses d'un r�seau s'appelle la `partie r�seau' de l'adresse. Les chiffres restants s'appellent `partie h�te'. Le nombre de bits qui sont partag�s par toutes les adresses d'un m�me r�seau est appel� masque de r�seau (netmask) et c'est le r�le du masque de r�seau de d�terminer quelles adresses appartiennent � `son' r�seau et celles qui ne sont pas concern�es. Par exemple :
_______________________________________ _______________ Adresse h�te (host address) 192.168.110.23 Masque de r�seau (network mask) 255.255.255.0 Partie r�seau (network portion) 192.168.110. Partie h�te (host portion) .23 _______________________________________ ________________ Adresse r�seau (network address) 192.168.110.0 Adresse de diffusion (broadcast address) 192.168.110.255 _______________________________________ ________________ |
Toute adresse qui est un `AND bit � bit' avec son masque de r�seau r�v�lera l'adresse du r�seau auquel elle appartient. L'adresse du r�seau est par cons�quent l'adresse de plus petit nombre dans l'ensemble des adresses et a toujours la partie h�te cod�e avec des z�ros.
L'adresse de diffusion est une adresse sp�ciale que chaque h�te du r�seau �coute en m�me temps que son adresse personnelle. Cette adresse est celle � laquelle les datagrammes sont envoy�s si tous les h�tes du r�seau sont en mesure de les recevoir. Certains types de donn�es telles que les informations de routage et les messages d'alerte sont transmis vers l'adresse de diffusion de telle sorte que tous les h�tes du r�seau peuvent les recevoir en m�me temps. Il y a deux standards utilis�s de mani�re courante pour d�finir ce que doit �tre l'adresse de diffusion. Le plus largement utilis� est de prendre l'adresse la plus haute possible du r�seau comme adresse de diffusion. Dans l'exemple ci-dessus ce serait 192.168.110.255. Pour d'autres raisons, certains sites ont adopt� la convention d'utiliser l'adresse de r�seau comme adresse de diffusion. En pratique cela n'a pas beaucoup d'importance, mais vous devez �tre s�rs que tous les h�tes du r�seau sont configur�s avec la m�me adresse de diffusion.
Pour des raisons d'administration, il y a quelque temps, lors du d�veloppement du protocole IP, des ensembles d'adresses ont �t� organis�s en r�seaux et ces r�seaux ont �t� regroup�s en ce que l'on a appell� classes. Ces classes donnent un certain nombre de r�seaux de tailles standards auxquels on peut assigner des adresses. Ces classes sont :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - |Classe de |Masque de | Adresses de r�seau | | r�seau | r�seau | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | A | 255.0.0.0 | 0.0.0.0 - 127.255.255.255 | | B | 255.255.0.0 | 128.0.0.0 - 191.255.255.255 | | C | 255.255.255.0 | 192.0.0.0 - 223.255.255.255 | |Multicast| 240.0.0.0 | 224.0.0.0 - 239.255.255.255 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
Le type d'adresse que vous devez utiliser d�pend de ce que vous voulez faire exactement. Vous pouvez utiliser une combinaison des actions suivantes pour obtenir l'ensemble des adresses dont vous aurez besoin :
Vous devez contacter un des administrateurs du r�seau et lui demander les informations suivantes :
Adresse h�te;
Adresse r�seau;
Adresse de diffusion;
Masque de r�seau;
Adresse de routage; (appel�e passerelle sous Windows)
Adresse du serveur de noms de domaine (DNS).
Vous configurerez alors votre r�seau Linux � l'aide de ces donn�es. Vous ne pouvez pas les inventer vous-m�me et esp�rer que votre configuration fonctionne.
Si vous construisez un r�seau priv� et que vous n'ayez pas l'intention de vous connecter � l'Internet, vous pouvez alors choisir n'importe quelle adresse. Cependant, pour des raisons de s�curit� et de fiabilit�, il y a quelques adresses de r�seau IP r�serv�es � cet usage. Elles sont sp�cifi�es dans la RFC 1597 et sont les suivantes :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ALLOCATIONS POUR R�SEAUX PRIV�S | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | Classe | Masque de | Adresses de r�seau | | r�seau | r�seau | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | A | 255.0.0.0 | 10.0.0.0 - 10.255.255.255 | | B | 255.255.0.0 | 172.16.0.0 - 172.31.255.255 | | C | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
Vous devez d'abord d�cider de la dimension de votre r�seau et choisir ensuite les adresses dont vous avez besoin.
Il y a plusieurs possibilit�s de proc�dures de d�marrage d'un syst�me Linux. Apr�s le d�marrage du noyau, celui-ci ex�cute toujours un programme appel� `init'. Ce programme lit le fichier de configuration appel� /etc/inittab et commence le processus de d�marrage. Il y a quelques variantes de init, bien que maintenant tout le monde se dirige vers la variante System V (cinq), d�velopp�e par Miguel van Smoorenburg.
Bien que que le programme init soit toujours le m�me, les r�glages du processus de d�marrage se font diff�remment suivant le type de distribution.
Habituellement le fichier /etc/inittab contient une entr�e telle que :
si::sysinit:/etc/init.d/boot |
Cette ligne sp�cifie le nom du fichier script qui prend en charge r�ellement la s�quence de d�marrage. Ce fichier est en quelque sorte �quivalent au fichier MS-DOS AUTOEXEC.BAT.
Il y a aussi d'autres scripts appel�s par le script de d�marrage, et souvent le r�seau est configur� dans l'un de ceux-ci.
Le tableau suivant peut �tre utilis� comme guide suivant le syst�me que vous avez :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Distrib. |Interface Config/Routage | Initialisation serveur - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Debian | /etc/init.d/network | /etc/rc2.d/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Slackware| /etc/rc.d/rc.inet1 | /etc/rc.d/rc.inet2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RedHat | /etc/rc.d/init.d/network | /etc/rc.d/rc3.d/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
Notez que les distributions Debian et RedHat utilisent tout un r�pertoire pour les scripts qui mettent en route les services du syst�me (et habituellement l'information ne se situe pas dans ces fichiers, par exemple les syst�mes RedHat stockent l'ensemble de la configuration du syst�me sous /etc/sysconfig, o� elle est r�cup�r�e par les scripts de d�marrage). Si vous voulez saisir les d�tails du processus de d�marrage, je vous conseille de v�rifier /etc/inittab ainsi que la documentation accompagnant init. Linux Journal va �galement publier un article sur l'initialisation des syst�mes, et nous pointerons sur lui d�s qu'il sera disponible sur le r�seau.
La plupart des distributions r�centes incluent un programme qui permet de configurer de nombreux types d'interfaces r�seau. Si vous en poss�dez une, regardez si ce programme vous convient au lieu de tenter une configuration manuelle.
- - - - - - - - - - - - - - - - - - - - - - - Distrib | Programme de configuration r�seau - - - - - - - - - - - - - - - - - - - - - - - RedHat | /sbin/netcfg Slackware | /sbin/netconfig - - - - - - - - - - - - - - - - - - - - - - - |
Sur un grand nombre de syst�mes Unix, les p�riph�riques r�seau apparaissent dans le r�pertoire /dev . Il n'en est pas de m�me avec Linux. Les p�riph�riques r�seau sont cr��s dynamiquement par les logiciels et ne n�cessitent donc pas de fichiers de p�riph�riques.
Dans la majorit� des cas, le p�riph�rique r�seau est automatiquement cr�� par le gestionnaire de p�riph�rique lors de son initialisation par le noyau. Par exemple le pilote Ethernet cr�e les interfaces eth[0..n] une par une lorsqu'il d�tecte votre mat�riel Ethernet. La premi�re carte Ethernet trouv�e devient eth0, la deuxi�me eth1, etc.
Cependant, dans certains cas, notamment avec SLIP et PPP, les p�riph�riques r�seau sont cr��s par un programme utilisateur. Le m�me m�canisme s�quentiel s'applique sur les p�riph�riques, mais ce n'est pas au moment du d�marrage du syst�me. La raison en est que, � l'inverse des dispositifs Ethernet, le nombre de p�riph�riques slip ou ppp actifs peut varier dans le temps. Nous y reviendrons plus tard.
Lorsque vous avez tous les programmes requis, votre adresse et les informations r�seau, vous pouvez alors configurer vos interfaces. Lorsque nous parlons de la configuration d'interface, nous faisons allusion au processus d'assignation des adresses du p�riph�rique r�seau, et au processus de r�glage des param�tres configurables. Le programme le plus utilis� pour ce faire est la commande ifconfig (interface configure).
Typiquement vous utilisez une commande comme ci-dessous :
root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up |
Dans ce cas je configure l'interface Ethernet `eth0' avec l'adresse IP `192.168.0.1' et un masque de r�seau `255.255.255.0'. Le `up' qui termine la commande enjoint � l'interface de devenir active, mais il peut �tre omis, �tant par d�faut. Pour clore une interface, vous faites juste ``ifconfig eth0 down''.
Le noyau suppose certaines valeurs par d�faut lorsque l'on configure les interfaces. Par exemple, vous pouvez indiquer une adresse de r�seau et une adresse de diffusion, mais si vous ne le faites pas comme nous venons de le faire dans l'exemple ci-dessus, alors le noyau fera certaines hypoth�ses fond�es sur le masque de r�seau que vous avez fourni, et si vous ne l'avez pas donn�e, sur la classe de l'adresse IP configur�e. Dans mon exemple, le noyau consid�rera que c'est un r�seau de classe C et configurera une adresse r�seau de `192.168.0.0' et une adresse de diffusion de `192.168.0.255'.
Il y a de nombreuses autres options pour la commande ifconfig . Les plus importantes sont :
active une interface (est fait par d�faut).
d�sactive une interface.
active ou d�sactive le protocole de r�solution d'adresses sur cette interface.
active ou d�sactive la r�ception de tous les paquets multicast mat�riel (Ndt : Les adresses multicast sont un genre d'adresses de diffusion limit�es � un groupe de machine qui n'ont pas n�cessairement besoin de se trouver sur le m�me sous-r�seau). Le multicast mat�riel permet � des groupes d'h�tes de recevoir des paquets adress�s vers des destinations sp�ciales. Ce peut �tre important si vous utilisez des applications comme la vid�oconf�rence, mais la plupart du temps on ne l'utilise pas.
ce param�tre permet de r�gler le MTU (Maximum Transfert Unit) sur le p�riph�rique.
ce param�tre permet de fixer le masque de r�seau.
ce param�tre ne fonctionne qu'avec certains types de mat�riels, mais vous permet d'en fixer l'IRQ.
permet d'activer ou de d�sactiver l'acceptation de datagrammes destin�s � l'adresse de diffusion.
permet de fixer l'adresse de la machine � l'extr�mit� d'un lien point-�-point comme pour slip ou ppp.
permet de fixer l'adresse mat�rielle de certains p�riph�riques r�seau. Ce n'est pas souvent utilis� pour Ethernet, mais utile pour d'autres types de r�seau tels que AX.25.
Avec les versions 2.2 du noyau, il y a un certain nombre d'options que nous n'avons pas �num�r�es ci-dessus. Parmi les plus int�ressantes, citons le tunneling et les options IPV6. Voici les param�tres ifconfig pour les noyaux 2.2.
Le nom de l'interface. C'est habituellement le nom d'un gestionnaire de p�riph�rique suivi par un num�ro d'unit�, par exemple eth0 pour la premi�re interface Ethernet.
Ceci provoque l'activation de l'interface. C'est implicitement sp�cifi� si un adresse est affect�e � l'interface.
Ceci provoque la d�sactivation de l'interface.
Active ou d�sactive l'utilisation du protocole ARP sur l'interface consid�r�e.
Active ou d�sactive le mode �promiscuous� sur l'interface. S'il est choisi, tous les paquets du r�seau seront re�us par l'interface.
Active ou d�sactive le mode �all-multicast�. S'il est choisi tous les paquets multicast du r�seau seront re�us par l'interface.
Ce param�tre positionne le param�tre �metric� de l'interface.
Ce param�tre positionne le Maximum Transfer Unit (MTU) d'une interface.
Positionne l'adresse IP distante d'un lien point-�-point (tel que PPP). Ce mot-cl� est maintenant obsol�te; utilisez � la place le mot-cl� pointopoint.
Positionne le masque de r�seau IP de l'interface. Donne les valeurs par d�faut pour les classes habituelles de masque r�seau A, B ou C (provenant de l'adresse IP de l'interface), mais on peut donner n'importe quelle valeur.
Ajoute un adresse IPv6 � l'interface.
Enl�ve une adresse IPv6 de l'interface.
Cr�e un nouveau p�riph�rique SIT (IPv6-in-IPv4), tunnelling vers une destination donn�e.
Positionne l'interruption utilis�e par ce p�riph�rique. Tous les p�riph�riques ne sont pas capables de changer d'IRQ de mani�re dynamique.
Positionne l'adresse d'entr�e-sortie du p�riph�rique.
Positionne l'adresse de d�but de la m�moire partag�e utilis�e par le p�riph�rique. Seuls quelques p�riph�riques en ont besoin.
Positionne le port physique ou bien le type de mat�riel qui doit �tre utilis� par le p�riph�rique. Tous les p�riph�riques ne peuvent pas changer ce r�glage, et ceux qui peuvent le faire diff�rent quant aux valeurs qui peuvent leur �tre assign�es. Les valeurs typiques pour sont 10base2 (thin Ethernet), AUI (transceiver externe) et autres. La valeur sp�ciale auto peut �tre utilis�e pour dire au gestionnaire de p�riph�rique de d�tecter automatiquement le p�riph�rique. Encore une fois tous les gestionnaires de p�riph�rique ne peuvent faire ceci.
Si une adresse est donn�e en argument, positionne l'adresse de protocole de diffusion de l'interface. Autrement, positionne (ou efface) le drapeau IFF_BROADCAST de l'interface.
Autorise le mode point-�-point pour l'interface, ce qui signifie qu'il existe un lien direct entre deux machines sans que quelqu'un d'autre puisse �tre � l'�coute. Si une adresse est donn�e comme argument, positionne l'adresse protocole � l'autre extr�mit� du lien, tout comme le faisait la commande dstaddr, devenue obsol�te. Autrement, positionne ou efface le drapeau IFF_POINTTOPOINT de l'interface.
Positionne l'adresse mat�rielle de l'interface, si le gestionnaire de p�riph�rique supporte cela. Le mot-cl� doit �tre suivi par le nom de la classe mat�rielle et l'�quivalent ASCII de l'adresse mat�rielle. Les classes mat�rielles actuellement support�es sont ether (Ethernet), ax25 5AMPR AX.25), ARCnet et netrom (AMPR NET/ROM).
Positionne le drapeau multicast de l'interface. Normalement on n'en a pas besoin �tant donn� que les gestionnaires de p�riph�rique positionne eux-m�mes le drapeau correctement.
L'adresse IP que l'on doit assigner � l'interface.
Positionne la longueur de la file de transmission du p�riph�rique. Il est pr�f�rable de la mettre � une valeure faible pour les p�riph�riques les plus lents ayant une latence (liens modem, ISDN) pour emp�cher que les grosses masses de transferts comme telnet perturbent le trafic sur l'interface.
Vous pouvez utiliser la commande ifconfig pour toutes les interfaces r�seau. Quelques programmes utilisateurs comme pppd et dip configurent automatiquement les p�riph�riques en m�me temps qu'ils les cr�ent, d�s lors l'utilisation manuelle de ifconfig n'est pas n�cessaire.
Le `Solveur de Noms' (Name Resolver) fait partie de la biblioth�que standard de Linux. Sa premi�re fonction est de convertir des noms d'h�tes compr�hensibles par l'homme, comme `ftp.funet.fi' , en adresses IP compr�hensibles par une machine, comme 128.214.248.6.
Vous �tes probablement familiers avec l'aspect des noms d'h�tes Internet, mais vous ne savez pas comment ils sont compos�s ou d�compos�s. Les noms de domaine Internet sont hi�rarchis�s par nature, c'est-�-dire qu'ils ont une structure arborescente. Un `domaine' est une famille, ou un groupe de noms. Un `domaine' peut �tre subdivis� en `sous-domaines'. Un `domaine de premier niveau' est un domaine qui n'est pas un sous-domaine. Les Domaines de Premier Niveau sont sp�cifi�s dans la RFC-920. Quelques exemples :
Organisations Commerciales
Organisations ayant rapport avec l'�ducation
Organisations Gouvernementales (NdT: parfois GOUV en France !)
Organisations Militaires
Autres organisations
Organisations ayant un rapport avec l'internet
il existe des codes de deux lettres qui repr�sentent un pays donn�.
Pour des raisons historiques la plupart des domaines appartenant � des domaines qui ne sont pas bas�s sur des noms de pays sont pour les organisations situ�es aux �tats-Unis, bien que les �tats-Unis aient aussi le code de pays `.us'. Ce n'est plus vrai pour les domaines .com et .org, qui sont couramment utilis�s par des soci�t�s hors des �tats-Unis.
Chacun de ces domaines de premier niveau poss�de des sous-domaines. Les domaines de premier niveau fond�s sur les noms de pays sont divis�s ensuite en sous-domaines bas�s sur les domaines com, edu, gov, mil et org . Ainsi par exemple, vous finissez par : com.au et gov.au pour des organisations commerciales ou gouvernementales situ�es en Australie ; notez que ce n'est pas une r�gle absolue, car les politiques r�elles d�pendant de l'autorit� qui donne les noms pour chaque domaine.
Le niveau de division suivant repr�sente habituellement le nom de l'organisation. Ces sous-domaines sont variables, souvent ils sont fond�s sur la structure en d�partements de l'organisation mais ils peuvent l'�tre �galement sur d'autres crit�res consid�r�s comme rationnels et compr�hensibles par les administrateurs r�seau de l'organisation.
La partie tout � fait � gauche du nom est toujours le nom unique assign� � la machine h�te et est appel�e le nom d'h�te `hostname', la partie de droite du nom est le nom de domaine `domainname' et le nom complet s'appelle le nom de domaine compl�tement qualifi� `Fully Qualified Domain Name' (ou FQDN).
Si l'on examine l'adresse de la machine de Terry par exemple, le nom pleinement qualifi� est `perf.no.itg.telstra.com.au'. Cela veut dire que le nom d'h�te est `perf' et le nom de domaine `no.itg.telstra.com.au'. Le nom de domaine est fond� sur un domaine de premier niveau bas� sur son pays, l'Australie et comme son adresse �lectronique appartient � une organisation commerciale nous avons `.com' comme domaine de niveau adjacent. Le nom de la soci�t� est (�tait) `Telstra' et notre structure interne de noms est bas� sur la structure organisationnelle, dans mon cas, ma machine appartient � l'Information Technology Group, section Network Operations.
Habituellement, les noms sont beaucoup plus courts ; par exemple, mon fournisseur d'acc�s � l'internet est ``systemy.it '' et mon organisation � but non lucratif est ``linux.it'', sans sous-domaine com ou org, aussi mon propre h�te est simplement appel� ``morgana.systemy.it'' et rubini@linux.it est une adresse �lectronique valide. Notez que le propri�taire d'un domaine a le droit d'enregistrer les noms d'h�tes aussi bien que les noms de sous-domaine ; par exemple le Groupe d'Utilisateur Linux auquel j'appartiens utilise le domaine pluto.linux.it, car les propri�taires de linux.it �taient d'accord pour cr�er un sous-domaine pour ce groupe.
Vous devez conna�tre le domaine auquel votre nom d'h�te appartient. Le solveur de nom effectue la traduction en faisant appel � un `Serveur de Noms de Domaine'. Vous devez conna�tre l'adresse IP d'un serveur de nom local que vous pouvez utiliser.
Il y a trois fichiers que vous devez �diter, nous en parlerons chacun � leur tour.
Le fichier /etc/resolv.conf est le fichier principal de configuration de la r�solution de noms. Son format est tr�s simple. C'est un fichier texte avec un mot-cl� par ligne. Il y a trois mots-cl�s typiquement utilis�s, qui sont :
ce mot-cl� indique le nom de domaine local.
ce mot-cl� sp�cifie une liste d'autres noms de domaine pour rechercher un nom d'h�te.
ce mot-cl�, qui peut �tre utilis� plusieurs fois, sp�cifie l'adresse IP d'un serveur de nom de domaine pour la r�solution de noms.
Un exemple de /etc/resolv.conf pourrait ressembler � ceci :
domain maths.wu.edu.au search maths.wu.edu.au wu.edu.au name server 192.168.10.1 name server 192.168.12.1 |
Cet exemple sp�cifie que le nom de domaine par d�faut � ajouter aux noms non qualifi�s (c'est-�-dire sans domaine) est maths.wu.edu.au, et que si l'h�te n'est pas trouv� dans ce domaine on peut aussi essayer le domaine wu.edu.au directement. Deux entr�es de serveurs de noms sont fournies, chacune d'elles pouvant �tre appel�e par le solveur de noms.
Le fichier /etc/host.conf sert � configurer certaines choses en vue de modifier le comportement du solveur de noms. Son format est d�crit en d�tail dans la page de manuel `resolv+'. Dans le plupart des cas l'exemple suivant vous conviendra :
order hosts,bind multi on |
Cette configuration indique au solveur de nom de v�rifier en premier lieu le fichier /etc/hosts avant d'essayer un serveur de noms. Cela permet aussi au r�solveur de nom de renvoyer toutes les adresses valables d'un h�te trouv� dans le fichier /etc/hosts au lieu d'en donner simplement la premi�re.
Le fichier /etc/hosts est l'endroit o� vous mettez les noms et les adresses IP des h�tes locaux. Si vous mettez un h�te dans ce fichier, alors vous n'avez pas � interroger le serveur de nom de domaine pour obtenir son adresse IP. L'inconv�nient est que si l'adresse de cet h�te a chang�, vous devez tenir votre fichier � jour. Dans un syst�me bien administr� les seuls noms d'h�tes qui apparaissent habituellement sont l'interface loopback, et le nom des h�tes locaux.
# /etc/hosts 127.0.0.1 localhost loopback 192.168.0.1 ma.belle.machine |
Vous pouvez sp�cifier plus d'un nom d'h�te, comme montr� dans la premi�re entr�e (qui est standard pour l'interface loopback).
Si vous voulez faire tourner un serveur de nom local, vous pouvez le faire facilement. Voyez le le DNS-HOWTO ainsi que tous les documents inclus dans votre version de BIND (Berkeley Internet Name Domain).
L'interface `loopback' est un type sp�cial d'interface qui permet de vous connecter � vous-m�me. Il y a plusieurs raisons pour faire cela. Par exemple si vous voulez faire des essais de logiciel r�seau sans interf�rer avec quelqu'un d'autre sur votre r�seau. Par convention, l'adresse IP `127.0.0.1' lui a �t� assign�e. Aussi quelle que soit la machine o� vous �tes, si vous ouvrez une connexion telnet vers 127.0.0.1 vous atteindrez toujours l'h�te local.
Configurer l'interface loopback est simple et vous devez vous assurer de l'avoir fait (mais notez que cette t�che est habituellement effectu�e par les scripts standards d'initialisation).
root# ifconfig lo 127.0.0.1 root# route add -host 127.0.0.1 lo |
Nous en dirons plus sur la commande route dans le prochain paragraphe.
Le routage est un vaste sujet. On peut �crire de grandes quantit�s de textes sur ce sujet. La plupart d'entre vous ont besoin d'un simple routage, et certains m�me de rien du tout. Je ne parlerai que des principes du routage. Si vous voulez plus d'informations je vous sugg�re de vous reporter aux r�f�rences fournies en d�but du document.
Commen�ons par une d�finition. Qu'est-ce que le routage IP ? Voici celle que j'utilise :
"Le routage IP est le processus par lequel un h�te, ayant des connexions r�seau multiples, d�cide du chemin par lequel d�livrer les datagrammes IP qu'il a re�us."
Il peut �tre utile d'illustrer cela par un exemple. Imaginez un routeur dans un bureau : il peut avoir un lien PPP sur l'Internet, un certain nombre de segments Ethernet alimentant les stations de travail et un second lien PPP vers un autre bureau. Lorsque le routeur re�oit un datagramme de l'une de ses connexions, le routage est le m�canisme utilis� pour d�terminer vers quelle interface il doit renvoyer ce datagramme. De simples h�tes ont besoin aussi de routage, tous les h�tes Internet ayant deux p�riph�riques r�seau, l'un �tant l'interface loopback d�crite auparavant et l'autre est celui qui est utilis� pour parler avec le reste du monde, soit un lien Ethernet, soit une interface s�rie PPP ou SLIP.
Ok, alors comment fonctionne le routage ? Chaque h�te poss�de une liste sp�ciale de r�gles de routage, appel�e une table de routage. Cette table contient des colonnes qui contiennent au moins trois champs, le premier �tant une adresse de destination, le deuxi�me �tant le nom de l'interface vers lequel le datagramme doit �tre rout� et le troisi�me, qui est optionnel, l'adresse IP d'une autre machine qui transportera le datagramme vers sa prochaine destination sur le r�seau passerelle. Sur Linux vous pouvez voir cette table en utilisant la commande suivante :
user% cat /proc/net/route |
ou bien en utilisant l'une des commandes suivantes :
user% /sbin/route -n user% /sbin/netstat -r |
Le processus de routage est plut�t simple : un datagramme entrant est re�u, l'adresse de destination est examin�e et compar�e avec chaque entr�e de la table. L'entr�e qui correspond le mieux � cette adresse est choisie, et le datagramme est renvoy� vers l'interface sp�cifi�e. Si le champ passerelle est rempli, alors le datagramme est renvoy� vers cet h�te via l'interface sp�cifi�e, sinon l'adresse de destination est suppos�e comme �tant sur le r�seau support� par l'interface.
Pour manipuler ce tableau, une commande sp�ciale est utilis�e. Cette commande prend des arguments et les convertit en appels syst�me pour demander au noyau d'ajouter, supprimer ou modifier des entr�es dans la table de routage. Cette commande s'appelle `route'.
Un exemple simple. Imaginez que vous ayez un r�seau Ethernet. On vous a dit que c'est un r�seau classe C avec une adresse de 192.168.1.0. On vous fournit une adresse IP 192.168.1.10 pour votre usage et on vous a dit que 192.168.1.1 est un routeur connect� � l'Internet.
La premi�re �tape est de configurer l'interface comme indiqu� plus haut. Vous utiliserez la commande :
root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up |
Maintenant vous avez besoin d'ajouter une entr�e dans la table de routage pour indiquer au noyau que les datagrammes destin�s aux h�tes dont les adresses correspondent � 192.168.1.* doivent �tre dirig�s vers le p�riph�rique Ethernet. Vous utiliserez une commande comme ceci :
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 |
Notez l'utilisation de l'argument `-net' pour indiquer au programme route que cette entr�e est une route r�seau. Un autre choix peut �tre `-host' qui est une route sp�cifique d'une adresse IP.
Cette route vous permettra d'�tablir des connexions IP avec tous les h�tes sur votre segment Ethernet. Mais qu'en est-il des h�tes IP qui n'y sont pas ?
Il serait compliqu� d'ajouter des routes pour chaque r�seau destinataire, aussi il y a une astuce utilis�e pour simplifier la t�che. L'astuce est appel�e route par `defaut'. La route par defaut s'adapte � toutes les destinations possibles, mais pas tr�s bien, de telle sorte que si il y a une entr�e qui correspond � l'adresse requise elle sera utilis�e � la place de la route par defaut. L'id�e de la route par defaut est simplement de pouvoir dire `et tout le reste va ici'. Dans l'exemple que j'ai invent�, on utilisera une entr�e telle que :
root# route add default gw 192.168.1.1 eth0 |
L'argument `gw' indique � la commande route que le prochain argument est l'adresse IP, ou le nom, d'une passerelle (gateway) ou d'une machine routeur vers qui tous les datagrammes correspondant � cette entr�e seront dirig�s pour routage ult�rieur.
Ainsi votre configuration compl�te sera :
root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# route add default gw 192.168.1.1 eth0 |
Si vous regardez bien vos fichiers `rc' qui concernent le r�seau vous en trouverez au moins un tr�s semblable � celui-ci. C'est une configuration courante.
Examinons maintenant une configuration un peu plus compliqu�e. Imaginons que nous configurions le routeur examin� auparavant, celui qui avait un lien PPP vers l'Internet et des segments LAN alimentant des stations de travail dans le bureau. Supposons que ce routeur ait 3 segments Ethernet et un lien PPP. Notre configuration de routage ressemblerait � ceci :
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# route add -net 192.168.2.0 netmask 255.255.255.0 eth1 root# route add -net 192.168.3.0 netmask 255.255.255.0 eth2 root# route add default ppp0 |
Chacune des stations de travail utilisera le format plus simple d�crit ci-dessus, seul le routeur aura besoin d'indiquer les routes r�seau s�par�ment car pour les stations de travail le m�canisme de routage par defaut les capturera toutes, laissant au routeur le soin de les s�parer de mani�re appropri�e. Vous pouvez vous demander pourquoi la route par d�faut n'utilise pas `gw'. La raison en est tr�s simple : les protocoles de lien s�rie comme PPP et SLIP ont seulement deux h�tes sur leur r�seau, un � chaque bout. Sp�cifier � l'h�te que l'autre bout de la liaison est une passerelle est sans objet et redondant, car il n'a pas d'autre choix, aussi vous n'avez pas � indiquer de passerelle pour ce type de connexions r�seau. Les autres types comme Ethernet, arcnet ou token ring ont besoin que l'on indique une passerelle car ces r�seaux supportent un grand nombre d'h�tes.
La configuration de routage d�crite ci-dessus est bien adapt�e aux r�seaux simples o� il n'y a que des chemins uniques entre les destinations. Lorsque vous avez un r�seau plus complexe les choses deviennent plus compliqu�es. Heureusement pour la plupart d'entre vous, ce ne sera pas le cas.
Le gros probl�me est qu'avec le `routage manuel' ou `routage statique' comme d�crit ci-dessus, si une machine ou un lien tombe en panne dans le r�seau, alors la seule fa�on de diriger vos datagrammes vers un autre chemin, s'il existe, est d'intervenir manuellement et d'ex�cuter les commandes ad�quates. Naturellement c'est lourd, lent, peu pratique et source de risques. Des techniques vari�es ont �t� d�velopp�es pour r�gler automatiquement les tables de routage dans le cas d'incidents sur un r�seau o� il y a plusieurs routes possibles, toutes ces techniques �tant regroup�es sous le nom de `protocoles de routage dynamique'.
Vous avez peut-�tre entendu parler des plus courants. Ce sont RIP (Routing Information Protocol) et OSPF (Open Shortest Path First Protocol). RIP est tr�s souvent utilis� sur les petits ou moyens r�seaux d'entreprise. L'OPSF est plus moderne et plus apte � g�rer de grands r�seaux et mieux adapt� dans le cas o� il y a un grand nombre de chemins possibles � travers le r�seau. Les impl�mentations usuelles de ces protocoles sont : `routed' - RIP, et `gated' - RIP, OSPF et autres. Le programme `routed' est normalement fourni avec votre distribution Linux ou est inclus dans la paquetage `NetKit' d�crit auparavant.
Un exemple pour vous montrer comment et o� vous pouvez utiliser un protocole de routage dynamique ressemblerait � ceci :
192.168.1.0 / 192.168.2.0 / 255.255.255.0 255.255.255.0 - - | | | /- - -\ /- - -\ | | | |ppp0 // ppp0| | | eth0 |- -| A |- - - //- - - - -| B |- -| eth0 | | | // | | | | \- - -/ \- - -/ | | \ ppp1 ppp1 / | - \ / - \ / \ / \ / \ / \ / \ / \ / \ / ppp0\ /ppp1 /- - -\ | | | C | | | \- - -/ |eth0 | |- - - - -| 192.168.3.0 / 255.255.255.0 |
Nous avons trois routeurs A, B et C. Chacun supporte un segment Ethernet avec un r�seau IP de classe C (masque de r�seau 255.255.255.0). Chaque routeur a �galement une liaison PPP vers chacun des autres routeurs. Ce r�seau forme un triangle.
Il est �vident que la table de routage sur le routeur A ressemble � ceci :
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# route add -net 192.168.2.0 netmask 255.255.255.0 ppp0 root# route add -net 192.168.3.0 netmask 255.255.255.0 ppp1 |
Cela fonctionnera bien jusqu'� ce que le lien entre A et B tombe en panne. Les h�tes sur le segment A (voir le diagramme ci-dessus) ne peuvent pas atteindre les h�tes sur le segment B : leurs datagrammes seront dirig�s sur le lien ppp0 du routeur A qui est rompu. Ils pourront encore continuer � parler aux h�tes du segment C, et les h�tes du segment C pourront toujours parler � ceux du segment B car la liaison reste intacte.
Si A peut parler � C et si C peut toujours parler � B, pourquoi A ne routerait-il pas ses datagrammes pour B via C, et laisser ensuite C les envoyer � B ? C'est exactement le type de probl�mes que les protocoles de routage dynamique comme RIP sont en mesure de r�soudre. Si chacun des routeurs A, B et C utilisent un d�mon de routage (NdT: d�mon est une francisation famili�re du vocable informatique anglais daemon, qui signifie Disk And Extension MONitor, c'est � dire qui n'est pas invoqu� manuellement mais attend en t�che de fond que quelque chose se passe, que quelque condition se produise. Ce terme fut introduit au d�part sous CTSS (Compatible Time Sharing System), un anc�tre du syst�me MULTICS, lui-m�me parent d'UNIX (voir la traduction de Ren� Cougnenc de `Le syst�me Linux' de M. Welsh et L. Kaufman chez O'Reilly International Thomson), alors leurs tables de routage seront automatiquement r�gl�es pour refl�ter le nouvel �tat du r�seau m�me si l'une des liaisons est d�fectueuse. Configurer un tel r�seau est simple, sur chaque routeur vous devez seulement faire deux choses. Dans ce cas, pour le routeur A :
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# /usr/sbin/routed |
Le d�mon de routage `routed' trouve automatiquement tous les ports actifs vers le r�seau quand il d�marre et �coute tous les messages sur chacun des p�riph�riques r�seau ce qui lui permet de d�terminer et de mettre � jour sa table de routage.
C'�tait une tr�s br�ve explication du routage dynamique et de son utilisation. Si vous voulez d'avantage d'explications reportez-vous aux r�f�rences list�es en d�but de document.
Les points importants relatifs au routage dynamique sont :
Vous n'avez besoin d'utiliser un d�mon de routage dynamique que quand votre machine Linux peut choisir entre plusieurs routes pour une destination donn�e. C'est la cas par exemple lorsque vous envisagez d'utiliser IP masquerade.
Le d�mon de routage dynamique modifiera automatiquement votre table de routage pour tenir compte des changements survenus dans votre r�seau.
RIP est adapt� aux r�seaux de petite et moyenne taille.
Les serveurs de r�seau et les services sont des programmes qui permettent � un utilisateur distant de devenir utilisateur de votre machine Linux. Les programmes serveurs sont � l'�coute des ports r�seau. Les ports r�seau permettent de demander un service particulier � un h�te particulier et de faire la diff�rence entre une connexion telnet entrante et une connexion ftp entrante. L'utilisateur distant �tablit une connexion r�seau avec votre machine puis le programme serveur, ou d�mon de r�seau, � l'�coute du port, accepte la connexion et s'ex�cute. Il y a deux fa�ons d'op�rer pour les d�mons de r�seau. Les deux sont couramment utilis�s en pratique. Ce sont :
le programme d�mon �coute le port r�seau d�sign� et lorsqu'il y a une connexion, il prend lui-m�me la connexion en charge pour fournir le service.
le serveur inetd est un programme d�mon sp�cial sp�cialis� dans la conduite des connexions r�seau. Il poss�de un fichier de configuration qui indique quel programme doit �tre utilis� lorsqu'une connexion entrante est re�ue. Chacun des ports service doit �tre configur� soit avec le protocole tcp, soit avec le protocole udp. Les ports sont d�crits dans un autre fichier dont nous parlerons plus tard.
Il existe deux fichiers importants qui doivent �tre configur�s : /etc/services qui assigne des noms aux num�ros de port et /etc/inetd.conf qui sert pour la configuration du d�mon de r�seau inetd .
Le fichier /etc/services est une simple base de donn�es qui associe des noms compr�hensibles par l'homme � des ports service compr�hensibles par la machine. Son format est tout � fait simple. Le fichier est un fichier texte dont chaque ligne repr�sente une entr�e de la base de donn�es. Chaque entr�e comprend trois champs s�par�s par des caract�res espace ou tabulation. Ces champs sont :
nom port/protocole alias # commentaire
un simple mot qui repr�sente le service d�crit.
ce champ est divis� en deux.
un nombre qui sp�cifie le num�ro de port o� le service d�sign� sera disponible. La plupart des services ont des num�ros assign�s. Ils sont d�crits dans la RFC-1340.
c'est soit tcp soit udp.
Il est important de noter qu'une entr�e comme 18/tcp est tr�s diff�rente de 18/udp et qu'il n'y a pas de raisons techniques que le m�me service existe sur les deux. Normalement le bon sens pr�vaut et c'est vraiment pour un service particulier disponible � la fois sur tcp et udp que vous verrez une entr�e pour les deux..
Autres noms qui peuvent �tre utilis�s pour se r�f�rer � un service.
Tout texte apparaissant apr�s le caract�re `#' est ignor� et trait� comme commentaire.
Toutes les distributions r�centes de Linux fournissent un bon fichier /etc/services. Juste au cas o� vous construiriez tout depuis le d�part, voici une copie du fichier /etc/services fourni avec l'ancienne distribution Debian .
# /etc/services: # $Id: Net-HOWTO.sgml,v 1.1.1.1 2003/01/03 02:38:54 traduc Exp $ # # Network services, Internet style # # Notez que c'est la politique actuelle de l'IANA d'assigner un seul num�ro # de port � la fois pour TCP et UDP; ainsi, la plupart des ports ont deux # entr�es m�me si le protocole ne supporte pas UDP. # Mis � jour d'apr�s la RFC 1340, ``Assigned Numbers'' (Juillet 1992). # Il n'y a pas tous les ports, seulement les plus courants. tcpmux 1/tcp # TCP port service multiplexer echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp QUOTE msp 18/tcp # message send protocol msp 18/udp # message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp # 24 - private smtp 25/tcp mail # 26 - non assign� time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location nameserver 42/tcp name # IEN 116 whois 43/tcp nicname re-mail-ck 50/tcp # Remote Mail Checking Protocol re-mail-ck 50/udp # Remote Mail Checking Protocol domain 53/tcp nameserver # name-domain server domain 53/udp nameserver mtp 57/tcp # deprecated bootps 67/tcp # BOOTP server bootps 67/udp bootpc 68/tcp # BOOTP client bootpc 68/udp tftp 69/udp gopher 70/tcp # Internet Gopher gopher 70/udp rje 77/tcp netrjs finger 79/tcp www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol link 87/tcp ttylink kerberos 88/tcp kerberos5 krb5 # Kerberos v5 kerberos 88/udp kerberos5 krb5 # Kerberos v5 supdup 95/tcp # 100 - reserve hostnames 101/tcp hostname # usually from sri-nic iso-tsap 102/tcp tsap # part of ISODE. csnet-ns 105/tcp cso-ns # also used by CSO name server csnet-ns 105/udp cso-ns rtelnet 107/tcp # Remote Telnet rtelnet 107/udp pop-2 109/tcp postoffice # POP version 2 pop-2 109/udp pop-3 110/tcp # POP version 3 pop-3 110/udp sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP auth 113/tcp authentication tap ident sftp 115/tcp uucp-path 117/tcp nntp 119/tcp readnews untp # USENET News Transfer Protocol ntp 123/tcp ntp 123/udp # Network Time Protocol netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp imap2 143/tcp # Interim Mail Access Proto v2 imap2 143/udp snmp 161/udp # Simple Net Mgmt Proto snmp-trap 162/udp snmptrap # Traps for SNMP cmip-man 163/tcp # ISO mgmt over IP (CMOT) cmip-man 163/udp cmip-agent 164/tcp cmip-agent 164/udp xdmcp 177/tcp # X Display Mgr. Control Proto xdmcp 177/udp nextstep 178/tcp NeXTStep NextStep # NeXTStep window nextstep 178/udp NeXTStep NextStep # server bgp 179/tcp # Border Gateway Proto. bgp 179/udp prospero 191/tcp # Cliff Neuman's Prospero prospero 191/udp irc 194/tcp # Internet Relay Chat irc 194/udp smux 199/tcp # SNMP Unix Multiplexer smux 199/udp at-rtmp 201/tcp # AppleTalk routing at-rtmp 201/udp at-nbp 202/tcp # AppleTalk name binding at-nbp 202/udp at-echo 204/tcp # AppleTalk echo at-echo 204/udp at-zis 206/tcp # AppleTalk zone information at-zis 206/udp z3950 210/tcp wais # NISO Z39.50 database z3950 210/udp wais ipx 213/tcp # IPX ipx 213/udp imap3 220/tcp # Interactive Mail Access imap3 220/udp # Protocol v3 ulistserv 372/tcp # UNIX Listserv ulistserv 372/udp # # services sp�cifiques � UNIX # exec 512/tcp biff 512/udp comsat login 513/tcp who 513/udp whod shell 514/tcp cmd # no passwords used syslog 514/udp printer 515/tcp spooler # line printer spooler talk 517/udp ntalk 518/udp route 520/udp router routed # RIP timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc conference 531/tcp chat netnews 532/tcp readnews netwall 533/udp # -for emergency broadcasts uucp 540/tcp uucpd # uucp daemon remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem klogin 543/tcp # Kerberized `rlogin' (v5) kshell 544/tcp krcmd # Kerberized `rsh' (v5) kerberos-adm 749/tcp # Kerberos `kadmin' (v5) # webster 765/tcp # Network dictionary webster 765/udp # # D'apr�s ``Assigned Numbers'' : # #> Les Ports Enregistr�s ne sont pas contr�l�s par l'IANA et peuvent �tre #> utilis�s sur la plupart des syst�mes par des processus ordinaires #> ou des programmes ex�cut�s par des utilisateurs ordinaires. # #>Les ports sont utilis�s dans le TCP [45,106] pour nommer les extr�mit�s #> des connexions logiques qui transportent les conversations de longue #> dur�e. Pour offrir des services � des utilisateurs non connus, un port #> de service pour contact a �t� d�fini. Cette liste sp�cifie le port utilis� #> par le processus serveur ainsi que son port de contact. Comme l'IANA ne peut #> contr�ler l'usage de ces ports, on donne ici une liste d'utilisation #> de ces ports pour �tre agr�able � la communaut�. # ingreslock 1524/tcp ingreslock 1524/udp prospero-np 1525/tcp # Prospero non-privileged prospero-np 1525/udp rfe 5002/tcp # Radio Free Ethernet rfe 5002/udp # Actually uses UDP only bbs 7000/tcp # BBS service # # # services Kerberos (Project Athena/MIT) # Notez que ceux-ci sont pour Kerberos v4, et ne sont pas officiels. Les sites # tournant sous v4 doivent utiliser ceux-ci et annuler les entr�es v5 ci-dessus. # kerberos4 750/udp kdc # Kerberos (server) udp kerberos4 750/tcp kdc # Kerberos (server) tcp kerberos_master 751/udp # Kerberos authentication kerberos_master 751/tcp # Kerberos authentication passwd_server 752/udp # Kerberos passwd server krb_prop 754/tcp # Kerberos slave propagation krbupdate 760/tcp kreg # Kerberos registration kpasswd 761/tcp kpwd # Kerberos "passwd" kpop 1109/tcp # Pop with Kerberos knetd 2053/tcp # Kerberos de-multiplexor zephyr-srv 2102/udp # Zephyr server zephyr-clt 2103/udp # Zephyr serv-hm connection zephyr-hm 2104/udp # Zephyr hostmanager eklogin 2105/tcp # Kerberos encrypted rlogin # # Services non officiels mais n�cessaires (pour NetBSD) # supfilesrv 871/tcp # SUP server supfiledbg 1127/tcp # SUP debugging # # Services protocole de d�livrance de datagrammes # rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol # # Services Debian GNU/Linux rmtcfg 1236/tcp # Gracilis Packeten remote config server xtel 1313/tcp # french minitel cfinger 2003/tcp # GNU Finger postgres 4321/tcp # POSTGRES mandelspawn 9359/udp mandelbrot # network mandelbrot # Services locaux |
Dans la r�alit�, le fichier augmente toujours en taille au fur et � mesure que de nouveaux services apparaissent. Si vous craignez que votre copie soit incompl�te, je vous sugg�re de copier un nouveau fichier /etc/services provenant d'une distribution r�cente.
Le fichier /etc/inetd.conf est le fichier de configuration du serveur d�mon inetd . Il sert � dire � inetd ce qu'il doit faire lorsqu'il re�oit une demande de connexion pour un service particulier. Pour les services o� vous acceptez une connexion vous devez dire � inetd quel d�mon serveur de r�seau doit tourner, et comment.
Son format est aussi tr�s simple. C'est un fichier texte dont chaque ligne d�crit un service que vous voulez fournir. Tout texte suivant un `#' est ignor� et consid�r� comme commentaire. Chaque ligne contient sept champs s�par�s par un nombre quelconque d'espaces (espace ou tabulation). Le format g�n�ral est comme suit :
service type_de_socket protocole drapeaux utilisateur chemin arguments |
est le nom de service applicable � cette configuration, pris dans le fichier /etc/services.
ce champ d�crit le type de socket que cette entr�e consid�re comme pertinent. Voici les valeurs qui sont autoris�es : stream, dgram, raw, rdm, ou seqpacket. C'est un peu technique par nature, mais par exp�rience, presque tous les services bas�s sur tcp utilisent stream et presque tous les services bas�s sur udp utilisent dgram. Il n'y a que quelques types de serveurs d�mons sp�ciaux utilisant d'autres valeurs.
le protocole consid�r� comme valide pour cette entr�e. Il doit correspondre � l'entr�e appropri�e dans le fichier /etc/services et sera donc soit tcp soit udp. Les serveurs bas�s sur Sun RPC (Remote Procedure Call) utilisent rpc/tcp ou rpc/udp.
il n'y a en fait que deux valeurs pour ce champ. Celles-ci disent � inetd si le programme serveur r�seau lib�re le socket apr�s d�marrage, et donc si inetd peut prendre en compte une des prochaines demandes de connexion, ou bien si inetd doit attendre qu'un autre d�mon serveur tournant d�j� prenne en charge la nouvelle demande de connexion. C'est encore compliqu�, mais en pratique tous les serveurs tcp doivent avoir cette entr�e positionn�e sur nowait et la plupart des serveurs udp ont cette entr�e positionn�e sur wait. Attention il y a quelques exceptions notables, laissez vous guider par l'exemple suivant si vous n'�tes pas s�rs.
ce champ d�crit quel compte utilisateur extrait de /etc/passwd sera consid�r� comme propri�taire du d�mon r�seau lorsqu'il est lanc�. C'est tr�s utile lorsque vous voulez vous prot�ger contre les trous de s�curit�. Vous pouvez mettre nobody comme utilisateur pour une entr�e si bien que dans le cas o� le r�seau comporte une br�che, les dommages �ventuels seront minimis�s. Cependant habituellement ce champ est r�gl� sur root, car de nombreux serveurs ont besoin des privil�ges de root pour tourner correctement.
ce champ est le v�ritable chemin d'acc�s au programme.
ce champ correspond au reste de la ligne et est optionnel. Il sert � indiquer les arguments de commande que vous voulez passer au programme serveur au lancement.
Comme pour le fichier /etc/services, toutes les distributions modernes incluent un bon fichier /etc/inetd.conf pour pouvoir travailler. Ici, pour �tre complet , vous trouverez le fichier /etc/inetd.conf de la distribution Debian.
# /etc/inetd.conf: voir inetd(8) pour d'autres informations. # # Base de donn�es pour la configuration d'un serveur Internet # # # Modifi� pour Debian par Peter Tobias <tobias@et-inf.fho-emden.de> # # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> # # Services internes # #echo stream tcp nowait root internal #echo dgram udp wait root internal discard stream tcp nowait root internal discard dgram udp wait root internal daytime stream tcp nowait root internal daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal time stream tcp nowait root internal time dgram udp wait root internal # # Services standards. # telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd #fsp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.fspd # # Shell, login, exec et talk sont des protocoles BSD. # shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd talk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.talkd ntalk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.ntalkd # # Services Mail, news et uucp. # smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.smtpd #nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/in.nntpd #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico #comsat dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.comsat # # Pop et autres # #pop-2 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d # # `cfinger' est le serveur finger GNU de Debian. (NOTE : L'impl�mentation # habituelle du d�mon `finger' permet de le faire tourner avec `root'.) # #cfinger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.cfingerd #finger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.fingerd #netstat stream tcp nowait nobody /usr/sbin/tcpd /bin/netstat #systat stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwx # # Le service tftp est fourni principalement pour d�marrer. La plupart des sites # l'utilisent seulement sur les machines servant de `serveurs de boot'. # #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot #bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 # # Services Kerberos (ils doivent probablement �tre corrig�s) # #klogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k #eklogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k -x #kshell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd -k # # Services tournant UNIQUEMENT sur Kerberos (doivent �tre probablement corrig�s) # #krbupdate stream tcp nowait root /usr/sbin/tcpd /usr/sbin/registerd #kpasswd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/kpasswdd # # Services RPC # #mountd/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.mountd #rstatd/1-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rstatd #rusersd/2-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rusersd #walld/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rwalld # # Fin de inetd.conf. ident stream tcp nowait nobody /usr/sbin/identd identd -i |
Il y a de nombreux fichiers relatifs � la configuration r�seau sous Linux et qui sont susceptibles de vous int�resser. Vous n'aurez jamais � modifier ces fichiers, mais il est utile de les d�crire pour que vous sachiez ce qu'ils contiennent et quelle est leur utilit�.
Le fichier /etc/protocols est une base de donn�es qui donne la relation des num�ros id de protocole avec leurs noms. Il est utilis� par les programmeurs pour leur permettre de sp�cifier les protocoles par leur nom dans les programmes et aussi par quelques programmes tels que tcpdump pour pouvoir afficher en sortie des noms au lieu de chiffres. La syntaxe g�n�rale de ce fichier est :
nom du protocole num�ro alias |
Le fichier /etc/protocols fourni avec la distribution Debian est le suivant :
# /etc/protocols: # $Id: Net-HOWTO.sgml,v 1.1.1.1 2003/01/03 02:38:54 traduc Exp $ # # Protocoles Internet (IP) # # d'apr�s: @(#)protocols 5.1 (Berkeley) 4/17/89 # # Mise � jour pour NetBSD basee sur la RFC 1340, Assigned Numbers (July 1992). ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # Internet Group Management ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') st 5 ST # ST datagram mode tcp 6 TCP # transmission control protocol egp 8 EGP # exterior gateway protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol hmp 20 HMP # host monitoring protocol xns-idp 22 XNS-IDP # Xerox NS IDP rdp 27 RDP # "reliable datagram" protocol iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 xtp 36 XTP # Xpress Tranfer Protocol ddp 37 DDP # Datagram Delivery Protocol idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport rspf 73 RSPF # Radio Shortest Path First. vmtp 81 VMTP # Versatile Message Transport ospf 89 OSPFIGP # Open Shortest Path First IGP ipip 94 IPIP # Yet Another IP encapsulation encap 98 ENCAP # Yet Another IP encapsulation |
Le fichier /etc/networks a une fonction similaire au fichier /etc/hosts. Il fournit une simple base de donn�es de noms de r�seau avec des adresses. Son format diff�re en ce qu'il n'y a que deux champs par ligne, et que ces champs sont cod�s comme ceci :
Nom du r�seau adresse de r�seau |
Un exemple :
loopnet 127.0.0.0 localnet 192.168.0.0 amprnet 44.0.0.0 |
Vous obtiendrez le nom du r�seau (et NON son adresse) en utilisant une commande telle que route dans l'exemple suivant : la destination est un r�seau, et ce r�seau poss�de une entr�e dans le fichier /etc/networks.
Laissez-moi commencer ce paragraphe en vous avertissant que la s�curisation de votre machine et du r�seau contre les attaques pernicieuses est un art complexe. Je ne me consid�re pas du tout comme un expert dans ce domaine et bien que les m�canismes que je vais d�crire puissent vous aider, si vous �tes pr�occup�s par la s�curit�, alors je vous recommande d'effectuer vous-m�me des recherches sur le sujet. Il existe un grand nombre d'excellentes r�f�rences sur l'Internet qui traitent du sujet, y compris le Security-HOWTO
Une importante r�gle pratique est : `N'utilisez pas de serveurs dont vous n'avez pas besoin'. Un grand nombre de distributions sont livr�es avec tout un tas de services d�j� configur�s et d�marrant automatiquement. Pour assurer quand m�me un minimum de s�curit� vous devriez aller dans votre fichier /etc/inetd.conf et retirez (placez un `#' au d�but de la ligne) toute entr�e que vous ne comptez pas utiliser. De bons candidats sont : shell, login, exec, uucp, ftp, et les services informatifs tels que finger, netstat and systat.
Il y a plein de sortes de s�curit� et de m�canismes de contr�le d'acc�s ; je vais d�crire les plus �l�mentaires.
Le fichier /etc/ftpusers est un m�canisme simple qui vous permet d'interdire l'acc�s de votre machine � certains utilisateurs de ftp. Il est lu par le programme d�mon (ftpd) lorsqu'une connexion ftp est re�ue. Le fichier est une simple liste d'utilisateurs qui ne peuvent pas se connecter. Il ressemble � :
# /etc/ftpusers - utilisateurs ne pouvant pas se connecter par ftp root uucp bin mail |
Le fichier /etc/securetty vous permet de sp�cifier sur quels fichiers de p�riph�riques tty root a le droit de se connecter. Le fichier /etc/securetty est lu par le programme de connexion (habituellement /bin/login). Son format est une liste de fichiers de p�riph�riques tty autoris�s (sur tous les autres root ne peut se connecter) :
# /etc/securetty - consoles o� root peut se connecter tty1 tty2 tty3 tty4 |
Le programme tcpd que vous avez vu dans le fichier /etc/inetd.conf fournit les m�canismes de contr�le d'acc�s et de connexion aux services qu'il a pour but de prot�ger.
Lorsqu'il est invoqu� par le programme inetd, il lit deux fichiers contenant les r�gles d'acc�s et il autorise ou interdit l'acc�s au serveur qu'il prot�ge.
Il cherche dans ces deux fichiers jusqu'� ce qu'il trouve une correspondance. S'il n'en trouve pas il suppose que l'acc�s est autoris�. Il recherche dans l'ordre suivant : /etc/hosts.allow, /etc/hosts.deny. Je d�crirai chacun d'eux plus tard. Pour une description compl�te r�f�rez-vous aux pages de manuel appropri�es (hosts_access(5) est un bon point de d�part).
Le fichier /etc/hosts.allow est un fichier de configuration du programme /usr/sbin/tcpd. Il contient les h�tes dont l'acc�s est autoris� (allowed) et qui peuvent donc utiliser un service de votre machine.
Le format du fichier est tr�s simple :
# /etc/hosts.allow # # <liste des services>: <liste des h�tes> [: commande] |
c'est une liste de serveurs, s�par�s par des virgules, auxquels les r�gles d'acc�s s'appliquent. Exemples de serveur : ftpd, telnetd, et fingerd.
c'est une liste de noms d'h�tes, s�par�s par des virgules (vous pouvez utiliser �galement des adresses IP). Vous pouvez en plus sp�cifier des noms d'h�tes ou des adresses IP avec des jokers pour obtenir des groupes d'h�tes. Des exemples : gw.vk2ktj.ampr.orgi pour un h�te sp�cifique, .uts.edu.au pour tous les h�tes se terminant par cette cha�ne , 44. pour toutes les adresses IP commen�ant par ces chiffres. Il y a quelques expressions pour simplifier la configuration, parmi lesquelles : ALL pour tous les h�tes, LOCAL pour tout h�te dont le nom ne contient pas de `.' c'est � dire appartenant au m�me domaine que votre machine, et PARANOID pour tout h�te dont le nom ne correspond pas avec son adresse (tricherie dans le nom). Il y a enfin une expression qui peut �tre utile. Il s'agit de EXCEPT qui vous permet de fournir une liste avec des exceptions. Nous verrons un exemple plus tard.
c'est un param�tre optionnel. Ce param�tre est le nom complet d'une commande (avec son r�pertoire) qui sera ex�cut�e chaque fois qu'il y aura correspondance. Ce peut �tre par exemple une commande qui essaiera d'identifier qui se connecte, ou de g�n�rer un message par courrier ou tout message d'alerte pour l'administrateur syst�me avertissant que quelqu'un est en train de se connecter. On peut y inclure des extensions, par exemple : %h donnera le nom de l'h�te qui se connecte ou bien son adresse s'il n'a pas de nom , %d le programme d�mon appel�.
Un exemple :
# /etc/hosts.allow # # Permet � tout le monde d'utiliser le courrier in.smtpd: ALL # telnet et ftp pour les h�tes de mon domaine et my.host.at.home. telnetd, ftpd: LOCAL, myhost.athome.org.au # finger pour tout le monde, mais garde une trace de l'identit�. fingerd: ALL: (finger @%h | mail -s "finger from %h" root) |
Le fichier /etc/hosts.deny est un fichier de configuration du programme /usr/sbin/tcpd. Ce fichier contient les h�tes qui n'ont pas l'autorisation d'acc�der � l'un des services de votre machine.
Un exemple simple ressemblerait � ceci :
# /etc/hosts.deny # # Interdit l'acces aux hotes ayant des noms suspects ALL: PARANOID # # Interdit l'acces a tous les hotes ALL: ALL |
L'entr�e PARANOID est en fait redondante car l'autre entr�e interdit tous les cas. L'une ou l'autre entr�e devrait convenir, en fonction de vos besoins particuliers.
Mettre ALL: ALL par d�faut dans le fichier /etc/hosts.deny puis autoriser certains services, en liaison avec les h�tes que vous avez choisis, dans le fichier /etc/hosts.allow, est la configuration la plus s�re.
Le fichier hosts.equiv est utilis� pour conc�der � certains h�tes des droits d'acc�s leur permettant d'avoir un compte sur votre machine sans fournir de mot de passe. Cela est utile dans un environnement s�curis� o� vous contr�lez toutes les machines, sinon ce peut �tre tr�s risqu�. Votre machine est aussi s�re que le moins s�r de vos h�tes de confiance. Pour augmenter la s�curit�, n'utilisez pas cette possiblit� et encouragez vos utilisateurs � ne pas utiliser le fichier .rhosts.
Un grand nombre de sites sont int�ress�s � avoir un serveur ftp anonyme pour permettre aux autres de transf�rer et de r�cup�rer des fichiers sans avoir besoin d'une identification sp�ciale. Si vous d�cidez d'offrir ce service soyez certains de configurer votre d�mon ftp de mani�re ad�quate pour les acc�s anonymes. La plupart des pages de manuel d�di�es � ftpd(8) d�crivent tous les d�tails pour y arriver. Vous devez toujours vous assurer que vous avez bien suivi les instructions. Un r�gle importante est de ne pas utiliser une copie de votre fichier /etc/passwd dans le r�pertoire /etc du compte anonyme. Soyez s�rs d'avoir �limin� tous les d�tails des comptes except�s ceux qui sont n�cessaires, autrement vous serez vuln�rables vis � vis de ceux qui ma�trisent les techniques de mise en pi�ces des mots de passe.
Ne pas permettre aux datagrammes d'atteindre votre machine ou les serveurs est un excellent moyen de s�curisation. Ceci est abord� en profondeur dans le Firewall-HOWTO et (de mani�re plus concise) plus loin dans ce document.
Voici d'autres suggestions, potentiellement religieuses, � prendre en consid�ration :
en d�pit de sa popularit�, le d�mon sendmail appara�t avec une effrayante r�gularit� dans les mises en garde concernant la s�curit�. Faites comme vous voulez, mais j'ai choisi de ne pas l'utiliser.
soyez circonspects avec eux. Il y a toutes sortes d'exploits possibles avec ces services. Il est difficile de trouver une option pour les services tels que NFS, mais si vous les configurez, soyez prudents envers ceux � qui vous accordez des droits.
Cette section traite d'informations sp�cifiques sur Ethernet et la configuration des cartes Ethernet.
3Com 3c501 - `� fuir comme la peste' (gestionnaire 3c501)
3Com 3c503 (gestionnaire 3c503), 3c505 (gestionnaire 3c505), 3c507 (gestionnaire 3c507), 3c509/3c509B (ISA) / 3c579 (EISA)
3Com Etherlink III Vortex Ethercards (3c590, 3c592, 3c595, 3c597) (PCI), 3Com Etherlink XL Boomerang (3c900, 3c905) (PCI) et Cyclone (3c905B, 3c980) Ethercards (gestionnaire 3c59x) et 3Com Fast EtherLink Ethercard (3c515) (ISA) (gestionnaire 3c515)
3Com 3ccfe575 Cyclone Cardbus (gestionnaire 3c59x)
3Com 3c575 series Cardbus (gestionnaire 3c59x) (ALL PCMCIA ??)
AMD LANCE (79C960) / PCnet-ISA/PCI (AT1500, HP J2405A, NE1500/NE2100)
ATT GIS WaveLAN
Allied Telesis AT1700
Allied Telesis LA100PCI-T
Allied Telesyn AT2400T/BT (module "ne")
Ansel Communications AC3200 (EISA)
Apricot Xen-II / 82596
Danpex EN-9400
DEC DE425 (EISA) / DE434/DE435 (PCI) / DE450/DE500 (gestionnaire DE4x5)
DEC DE450/DE500-XA (dc21x4x) (gestionnaire Tulip)
DEC DEPCA et EtherWORKS
DEC EtherWORKS 3 (DE203, DE204, DE205)
DECchip DC21x4x "Tulip"
DEC QSilver's (Gestionnaire Tulip)
Digi International RightSwitch
DLink DE-220P, DE-528CT, DE-530+, DFE-500TX, DFE-530TX
Fujitsu FMV-181/182/183/184
HP PCLAN (s�ries 27245 et 27xxx)
HP PCLAN PLUS (27247B et 27252A)
HP 10/100VG PCLAN (J2577, J2573, 27248B, J2585) (ISA/EISA/PCI)
ICL EtherTeam 16i / 32 (EISA)
Intel EtherExpress
Intel EtherExpress Pro
KTI ET16/P-D2, ET16/P-DC ISA (fonctionne sans cavaliers et avec des options de configuration mat�rielles)
Macromate MN-220P (PnP or NE2000 mode)
NCR WaveLAN
NE2000/NE1000 (attention aux cl�nes)
Netgear FA-310TX (puce Tulip)
New Media Ethernet
PureData PDUC8028, PDI8023
SEEQ 8005
SMC Ultra / EtherEZ (ISA)
SMC 9000 series
SMC PCI EtherPower 10/100 (gestionnaire DEC Tulip)
SMC EtherPower II (gestionnaire epic100.c)
Adaptateurs Sun LANCEs (noyau kernel 2.2 et suivants)
Adaptateurs Sun Intel (noyaux kernel 2.2 et suivants)
Schneider et Koch G16
Western Digital WD80x3
Adaptateur int�gr� Zenith Z-Note / IBM ThinkPad 300
Ensemble Znyx 312 (gestionnaire Tulip)
Les noms de p�riph�riques Ethernet sont `eth0', `eth1', `eth2' etc. La premi�re carte d�tect�e par le noyau devient `eth0' et le reste est nomm� dans l'ordre de d�tection.
Une fois que vous avez compil� convenablement votre noyau pour supporter les cartes Ethernet, la configuration des cartes est ais�e.
Typiquement vous faites ainsi (ce que la plupart des distributions font automatiquement pour vous, si vous les avez configur�es pour supporter votre carte ethernet) :
root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up root# route add -net 192.168.0.0 netmask 255.255.255.0 eth0 |
La plupart des gestionnaires Ethernet furent d�velopp�s par Donald Becker, Donald Becker
Le module pourra normalement d�tecter toutes les cartes install�es.
Les informations concernant la d�tection sont stock�es dans le fichier :
/etc/conf.modules.
Supposons qu'un utilisateur poss�de 3 cartes NE2000, une � l'adresse 0x300, l'autre � 0x240, et la derni�re � 0x220. Il faut ajouter les lignes suivantes au fichier /etc/conf.modules :
alias eth0 ne alias eth1 ne alias eth2 ne options ne io=0x220,0x240,0x300 |
Ceci enjoint au programme modprobe de rechercher 3 cartes NE aux adresses sp�cifi�es. De plus cela donne l'ordre dans lequel on doit les trouver et quel p�riph�rique leur est assign�.
La plupart des modules ISA acceptent des valeurs d'E/S s�par�es par des virgules. Par exemple :
alias eth0 3c501 alias eth1 3c501 options eth0 -o 3c501-0 io=0x280 irq=5 options eth1 -o 3c501-1 io=0x300 irq=7 |
L'option -o permet d'assigner un nom unique � chaque module. La raison en est que vous ne pouvez charger deux copies du m�me module.
L'option irq= sert � sp�cifier l'IRQ mat�riel et l'option io= � sp�cifier les diff�rents ports entr�e-sortie.
Par d�faut, le noyau Linux ne peut d�tecter qu'un seul dispositif Ethernet, et vous devez passer des commandes pour forcer la d�tection des autres cartes.
Pour apprendre � faire fonctionner vos cartes ethernet sous Linux, voyez le Ethernet-HOWTO.
Cette section traite d'informations sp�cifiques � l'IP.
Cette section fournit des informations concernant la mise au point des options IP dans le noyau au moment de l'amor�age. � titre d'exemples, de telles options peuvent �tre ip_forward ou ip_bootp_agent. Elles sont utilis�es en affectant une valeur � un fichier situ� dans le r�pertoire
/proc/sys/net/ipv4/ |
Par exemple, pour obtenir ip_forward enabled vous taperez
echo 1 > /proc/sys/net/ipv4/ip_forward |
ip_forward
Si ip_forward est r�gl� � 0, il est d�sactiv�. Avec tout autre nombre, il est activ�. Cette option est utilis�e en conjonction avec des techniques telles que le routage entre interfaces avec le masquage IP..
ip_default_ttl
C'est la dur�e de vie d'un paquet IP. Par d�faut, elle est de 64 ms.
ip_addrmask_agent
- BOOL�EN
R�pond aux requ�tes ICMP ADDRESS MASK. Par d�faut TRUE (pour le routeur) et FALSE (pour l'h�te)
ip_bootp_agent
- BOOL�EN
Accepte des paquets ayant une adresse source du type 0.b.c.d et destin� � cet h�te, broadcast ou multicast. Sinon, ces paquets sont ignor�s. FALSE par d�faut.
ip_no_pmtu_disc
- BOOL�EN
D�sactive la recherche du MTU du chemin. FALSE par d�faut.
ip_fib_model
-NOMBRE ENTIER
0 - (valeur par d�faut) Mod�le standard. Toutes les routes sont dans la classe MAIN
1 - Les routes par d�faut vont dans la classe DEFAULT. Ce mode devrait �tre tr�s pratique pour les petits fournisseurs d'acc�s appliquant une politique de routage.
2 - Mod�le conforme � la RFC1812.
Les routes interface sont dans la classe MAIN.
Les routes gateway sont dans la classe DEFAULT.
Le nom du p�riph�rique EQL est `eql'. Avec les sources standards du noyau vous ne pouvez avoir qu'un seul p�riph�rique EQL par machine. EQL permet d'utiliser plusieurs lignes point � point telles que PPP, SLIP ou PLIP comme si c'�tait un seul lien logique de transport tcp/ip. C'est souvent moins cher d'utiliser plusieurs lignes � faible d�bit que d'avoir une ligne � haut d�bit.
Options de compilation du noyau :
Network device support ---> [*] Network device support <*> EQL (serial line load balancing) support |
Pour supporter ce m�canisme la machine � l'autre bout de la ligne doit �galement supporter EQL. Linux, Livingstone Portmasters et de nouveaux serveurs de ligne supportent des syst�mes compatibles.
Pour configurer EQL vous avez besoin des outils eql, disponibles sur : metalab.unc.edu.
La configuration est plut�t directe. Vous commencez par configurer l'interface eql. C'est exactement comme un autre p�riph�rique r�seau. Vous configurez l'adresse IP et le mtu en utilissant l'outil ifconfig , comme ceci :
root# ifconfig eql 192.168.10.1 mtu 1006 |
Ensuite vous devez initialiser manuellement chacune des lignes que vous allez utiliser. Ce peut �tre toute combinaison de p�riph�riques r�seau point � point. La fa�on d'initialiser les connexions d�pend du type de lien, voyez les paragraphes appropri�s pour d'autres informations.
Enfin vous devez associer le lien s�rie et le dispositif EQL, cela s'appelle `asservissement' (enslaving) et est r�alis� avec la commande eql_enslave comme suit :
root# eql_enslave eql sl0 28800 root# eql_enslave eql ppp0 14400 |
Le param�tre `estimated speed' que vous fournissez � eql_enslave ne fait rien directement. Il est utilis� par le gestionnaire EQL pour d�terminer comment les datagrammes vont se r�partir sur ce p�riph�rique, aussi vous pouvez r�gler l'�quilibrage des lignes en jouant avec cette valeur.
Pour lib�rer une ligne d'un p�riph�rique EQL, utilisez la commande eql_emancipate comme ci-dessous :
root# eql_emancipate eql sl0 |
Vous ajoutez le routage comme vous le feriez pour tout lien point � point, sauf que vos routes doivent se rapporter au dispositif eql plut�t qu'aux p�riph�riques s�ries eux-m�mes. Ainsi vous devriez utiliser :
root# route add default eql |
Le gestionnaire EQL fut d�velopp� par Simon Janes, simon@ncm.com.
Les possibilit�s d'enregistrement IP du noyau Linux vous permettent de recueillir et d'analyser les donn�es d'utilisation du r�seau. Les donn�es collect�es comprennent le nombre de paquets et le nombre d'octets en cumul depuis la derni�re remise � z�ro. Vous avez � votre disposition une grande vari�t� de r�glages pour obtenir les donn�es que vous d�sirez. Cette option a �t� enlev�e du 2.1.102, car l'ancien dispositif pare-feu bas� sur ipfwadm a �t� remplac� par ``ipfwchains''.
Options de compilation noyau :
Networking options ---> [*] IP: accounting |
Apr�s avoir compil� et install� le noyau vous devez utiliser la commande ipfwadm pour configurer l'enregistrement IP. Il y a diff�rentes possibilit�s pour choisir les informations � enregistrer. J'ai pris un exemple simplifi� qui pourrait vous �tre utile; lisez plut�t la page de manuel ipfwadm pour plus d'informations.
Scenario : Vous avez un r�seau Ethernet qui est reli� � l'Internet via une liaison PPP. Sur l'Ethernet vous avez une machine qui offre un grand nombre de services et vous voulez savoir quel trafic est engendr� par le trafic ftp et ww, aussi bien que le trafic total tcp et udp.
Vous pouvez utiliser une commande qui ressemble � ceci, qui se pr�sente comme un script shell :
#!/bin/sh # # Donne les r�glages d'enregistrement ipfwadm -A -f # # Met en place les raccourcis localnet=44.136.8.96/29 any=0/0 # Ajoute des r�glages pour le segment Ethernet local ipfwadm -A in -a -P tcp -D $localnet ftp-data ipfwadm -A out -a -P tcp -S $localnet ftp-data ipfwadm -A in -a -P tcp -D $localnet www ipfwadm -A out -a -P tcp -S $localnet www ipfwadm -A in -a -P tcp -D $localnet ipfwadm -A out -a -P tcp -S $localnet ipfwadm -A in -a -P udp -D $localnet ipfwadm -A out -a -P udp -S $localnet # # R�glages par d�faut ipfwadm -A in -a -P tcp -D $any ftp-data ipfwadm -A out -a -P tcp -S $any ftp-data ipfwadm -A in -a -P tcp -D $any www ipfwadm -A out -a -P tcp -S $any www ipfwadm -A in -a -P tcp -D $any ipfwadm -A out -a -P tcp -S $any ipfwadm -A in -a -P udp -D $any ipfwadm -A out -a -P udp -S $any # # Liste les r�glages ipfwadm -A -l -n # |
Les noms ``ftp-data'' et ``www'' se r�f�rent aux lignes du fichier /etc/services. La derni�re commande liste chacune des r�gles d'enregistrement et affiche le total.
Il est important de noter, lorsque l'on analyse les enregistrement IP, que les totaux sont incr�ment�s � chaque fois, donc pour connaitre les diff�rences vous devez ex�cuter les op�rations math�matiques n�cessaires. Par exemple si je veux savoir combien de donn�es ne venaient pas de ftp, telnet, rlogin ou www je dois soustraire les totaux individuels correspondant � chaque port.
root# ipfwadm -A -l -n IP accounting rules pkts bytes dir prot source destination ports 0 0 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 20 0 0 out tcp 44.136.8.96/29 0.0.0.0/0 20 -> * 10 1166 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 80 10 572 out tcp 44.136.8.96/29 0.0.0.0/0 80 -> * 252 10943 in tcp 0.0.0.0/0 44.136.8.96/29 * -> * 231 18831 out tcp 44.136.8.96/29 0.0.0.0/0 * -> * 0 0 in udp 0.0.0.0/0 44.136.8.96/29 * -> * 0 0 out udp 44.136.8.96/29 0.0.0.0/0 * -> * 0 0 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 20 0 0 out tcp 0.0.0.0/0 0.0.0.0/0 20 -> * 10 1166 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 80 10 572 out tcp 0.0.0.0/0 0.0.0.0/0 80 -> * 253 10983 in tcp 0.0.0.0/0 0.0.0.0/0 * -> * 231 18831 out tcp 0.0.0.0/0 0.0.0.0/0 * -> * 0 0 in udp 0.0.0.0/0 0.0.0.0/0 * -> * 0 0 out udp 0.0.0.0/0 0.0.0.0/0 * -> * # |
On acc�de au nouveau code d'enregistrement par des ``cha�nes IP pare-feu''. Voir La page d'accueil des cha�nes IP pour plus d'informations. Entre autres vous devrez utiliser ipchains au lieu de ipfwadm pour configurer vos filtres. (d'apr�s Documentations/Changes dans les sources du dernier noyau).
Il y a des applications o� �tre en mesure d'affecter plusieurs adresses IP � un seul p�riph�rique r�seau pourrait �tre utile. Certains fournisseurs d'acc�s � l'Internet utilise souvent cette possibilit� pour fournir des offres www et ftp `� la carte' pour leurs clients. Vous pouvez vous r�f�rer au mini-HOWTO IP-Aliasing pour plus d'informations.
Options de compilation du noyau :
Networking options ---> .... [*] Network aliasing .... <*> IP: aliasing support |
Apr�s avoir compil� et install� le noyau avec le support IP_Alias, la configuration est tr�s simple. Les alias sont ajout�s aux p�riph�riques r�seau virtuels associ�s au p�riph�rique r�seau r�el. Une simple convention de noms s'applique pour p�riph�riques : <nom de p�riph�rique> : <num�ro de p�riph�rique virtuel>, par ex. eth0:0, ppp0:10 etc. Notez que le gestionnaire de p�riph�rique ifname:number ne peut �tre configur� qu'apr�s le r�glage de l'interface principale.
Par exemple, supposons que vous ayez un r�seau Ethernet avec simultan�ment deux sous-r�seaux IP et que vous vouliez que votre machine ait un acc�s direct aux deux, vous pouvez faire quelque chose comme ceci :
root# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# ifconfig eth0:0 192.168.10.1 netmask 255.255.255.0 up root# route add -net 192.168.10.0 netmask 255.255.255.0 eth0:0 |
Pour supprimer un alias vous ajoutez simplement un `-' au bout de son nom et et vous faites aussi simplement que �a :
root# ifconfig eth0:0- 0 |
Toutes les routes associ�es avec cet alias seront enlev�es automatiquement.
Le pare-feu IP et les publications le concernant sont trait�s de mani�re plus approfondie dans le Firewall-HOWTO. Le pare-feu IP vous permet de s�curiser votre machine contre les acc�s r�seau non-autoris�s en filtrant, ou acceptant, des datagrammes venant de, ou allant vers, des adresses IP de votre choix. Il y a diff�rentes r�gles : le filtrage en entr�e, le filtrage en sortie, et le filtrage en retransmission. Les r�gles en entr�e s'appliquent aux datagrammes qui sont re�us par un dispositif r�seau. Les r�gles en sortie s'appliquent aux datagrammes qui sont �mis par un dispositif r�seau. Les r�gles en retransmission s'appliquent aux datagrammes qui ne sont pas pour cette machine, c'est � dire les datagrammes qui seront rerout�s.
Options de compilation noyau :
Networking options ---> [*] Network firewalls .... [*] IP: forwarding/gatewaying .... [*] IP: firewalling [ ] IP: firewall packet logging |
La configuration du pare-feu IP est r�alis�e en utilisant la commande ipfwadm. Comme mentionn� plus haut, la s�curit� n'est pas ma sp�cialit�, aussi, bien que je vous pr�sente un exemple utilisable par vous-m�me, faites des recherches et mettez au point vos propres r�glages si la s�curit� est importante pour vous.
Utiliser votre machine Linux comme routeur et passerelle pare-feu pour prot�ger votre r�seau local contre les acc�s non autoris�s (venant de l'ext�rieur) est vraisemblablement l'utilisation la plus courante d'un pare-feu IP.
La configuration suivante est due � Arnt Gulbrandsen, <agulbra@troll.no>.
L'exemple d�crit une configuration de pare-feu pour une machine Linux /pare-feu/routeur illustr�e par ce diagramme :
- - \ | 172.16.37.0 \ | /255.255.255.0 \ - - - - - | | 172.16.174.30 | Linux | | NET =================| f/w |- - - | ..37.19 | PPP | router| | - - - - / - - - - - |--| Mail | / | | /DNS | / | - - - - - - |
Les commandes suivantes doivent �tre normalement plac�es dans un fichier rc de telle sorte qu'elles seront d�marr�es automatiquement � chaque red�marrage du syst�me. Pour une s�curit� maximum, elles devront �tre effectu�es apr�s la configuration des interfaces r�seau, mais avant le montage de ces interfaces pour �viter que quelqu'un puisse se connecter pendant que la machine pare-feu red�marre.
#!/bin/sh # Nettoie la table des r�gles de 'Forwarding' # Change le r�glage par d�faut en 'accept' # /sbin/ipfwadm -F -f /sbin/ipfwadm -F -p accept # # .. et pour 'Incoming' # /sbin/ipfwadm -I -f /sbin/ipfwadm -I -p accept # En premier, d�v�rouille l'interface PPP # J'aimerais bien utiliser '-a deny' au lieu de '-a reject -y' mais # il serait alors impossible d'�tablir des connexions �galement sur # cette interface. L'utilisation de -o fait en sorte que tous # les datagrammes rejet�s sont enregistr�s. Cela occupe de l'espace # disque avec pour compensation la connaissance sur l'attaque due # � une erreur de configuration. # /sbin/ipfwadm -I -a reject -y -o -P tcp -S 0/0 -D 172.16.174.30 # Rejette certains types de paquets visiblement faux: # Rien ne doit venir des adresses multicast/anycast/broadcast s # /sbin/ipfwadm -F -a deny -o -S 224.0/3 -D 172.16.37.0/24 # # et aucune chose venant du r�seau loopback ne doit �tre vu sur l'air # /sbin/ipfwadm -F -a deny -o -S 127.0/8 -D 172.16.37.0/24 # accepte les connexions entrantes SMTP et DNS, mais seules pour # le serveur de courrier et le serveur de noms # /sbin/ipfwadm -F -a accept -P tcp -S 0/0 -D 172.16.37.19 25 53 # # DNS utilise UDP aussi bien que TCP, ce qui l'autorise donc quand # le serveur de noms est interrog� # /sbin/ipfwadm -F -a accept -P udp -S 0/0 -D 172.16.37.19 53 # # mais pas de "r�ponses" arrivant sur les ports dangereux tels que # NFS et l'extension NFS de Larry McVoy. Si vous utilisez squid # ajoutez son port ici. # /sbin/ipfwadm -F -a deny -o -P udp -S 0/0 53 \ -D 172.16.37.0/24 2049 2050 # les r�ponses aux autres ports utilisateurs sont autoris�es # /sbin/ipfwadm -F -a accept -P udp -S 0/0 53 \ -D 172.16.37.0/24 53 1024:65535 # Rejette les connexions entrantres vers identd # Nous utilisons 'reject' dans ce cas en sorte qu'il soit dit � l'h�te # entrant de ne pas pers�v�rer, sinon nous devrons attendre que # identd s'arr�te. # /sbin/ipfwadm -F -a reject -o -P tcp -S 0/0 -D 172.16.37.0/24 113 # Accepte des connexions sur des services en provenance des r�seaux # 192.168.64 et 192.168.65, qui sont des amis de confiance. # /sbin/ipfwadm -F -a accept -P tcp -S 192.168.64.0/23 \ -D 172.16.37.0/24 20:23 # accepte et laisse passer tout ce qui vient de l'int�rieur # /sbin/ipfwadm -F -a accept -P tcp -S 172.16.37.0/24 -D 0/0 # rejette la plupart des autres connexions TCP entrantes et les # enregistre (ajoutez 1:1023 si ftp ne fonctionne pas) # /sbin/ipfwadm -F -a deny -o -y -P tcp -S 0/0 -D 172.16.37.0/24 # ... pour UDP �galement # /sbin/ipfwadm -F -a deny -o -P udp -S 0/0 -D 172.16.37.0/24 |
De bonnes configurations pare-feu sont difficiles � faire. Cet exemple peut �tre un bon point de d�part pour vous. La page de manuel ipfwadm vous aidera pour savoir comment utiliser cet outil. Si vous voulez configurer un pare-feu, demandez autour de vous et recueillez des avis venant de sources de confiance et prenez contact avec quelqu'un qui est � l'ext�rieur pour tester votre configuration et en v�rifier la fiabilit�.
On acc�de au nouveau code d'enregistrement par des ``cha�nes pare-feu IP''. Voir La page d'accueil des cha�nes IP pour plus d'informations. Entre autres vous devrez utiliser ipchains/ au lieu de ipfwadm/ pour configurer vos filtres. (D'apr�s Documentations/Changes dans les sources du dernier noyau).
Nous sommes conscients du fait que ce n'est malheureusement plus d'actualit� et nous oeuvrons actuellement pour que cette section soit plus � jour. Vous pouvez en esp�rer une en 1999.
Pourquoi vouloir encapsuler des paquets IP dans d'autres paquets IP? Cela semble bizarre si vous n'avez jamais vu d'applications auparavant. Il y a deux endroits o� c'est utilis� : le Mobile-IP et l'IP-Multicast. C'est dans un environnement qui est peut-�tre le plus largement utilis� et qui est le moins connu : le radio-amateurisme.
Options de compilation du noyau :
Networking options ---> [*] TCP/IP Networking [*] IP: forwarding/gatewaying .... <*> IP tunelling |
Les p�riph�riques IP tunnel s'appellent `tunl0', `tunl1', etc..
"Mais pourquoi ?" D'accord. D'accord. Les r�gles de routage classiques sp�cifient qu'un r�seau IP comprend une adresse IP et un masque de r�seau. Ceci fournit un ensemble d'adresses contigu�s qui peuvent toutes �tre rout�es par l'interm�diaire d'une seule entr�e de routage. Cela marche, mais signifie que vous ne pouvez utiliser une seule adresse uniquement lorsque vous �tes connect� � un point du r�seau auquelle elle appartient. Dans la plupart des cas, il n'y a pas de probl�mes, mais si vous �tes en mouvement alors vous ne pouvez pas rester connect� au m�me endroit tout le temps. L'encapsulation IP/IP ( IP tunneling) vous permet de passer outre cette contrainte en permettant aux paquets destin�s � votre adresse d'�tre envelopp�s et redirig�s vers une autre adresse. Si vous savez que vous allez op�rer depuis un autre r�seau IP pour quelques temps, vous pouvez r�gler une machine qui est chez vous pour accepter des paquets destin�s � votre adresse IP et les rediriger vers l'adresse que vous allez utiliser provisoirement.
192.168.1.24 192.168.2.24 - - | ppp0 = ppp0 = | | aaa.bbb.ccc.ddd fff.ggg.hhh.iii | | | | /- - -\ /- - -\ | | | | // | | | |- -| A |- - - // - - - - | B | | | | | // | | | | \- - -/ \- - -/ | | | - - |
Ce diagramme montre une autre raison possible d'utiliser l'encapsulation IPIP : le r�seau priv� virtuel. Cet exemple pr�suppose que vous ayez deux machines chacune avec une seule connexion Internet. Chaque h�te a une seule adresse IP. Derri�re chacune de ces machines se trouve des r�seaux priv�s locaux configur�s avec des adresses IP r�serv�es. Supposez que vous vouliez permettre � chacun des h�tes du groupe A de se connecter � n'importe quel h�te du groupe B, comme s'ils �taient vraiment connect�s � l'Internet via un routage r�seau. L'encapsulation IPIP vous permettra de le faire. � noter que l'encapsulation ne vous permettra pas de faire en sorte que chacun des h�tes des r�seaux A et B puissent parler � n'importe qui sur l'Internet, vous aurez toujours besoin de choses comme le masquage IP pour pouvoir le faire. L'encapsulation est normalement accomplie par une machine fonctionnant comme routeur.
Le routeur Linux `A' sera configur� comme suit :
#!/bin/sh PATH=/sbin:/usr/sbin mask=255.255.255.0 remotegw=fff.ggg.hhh.iii # # configuration �thernet ifconfig eth0 192.168.1.1 netmask $mask up route add -net 192.168.1.0 netmask $mask eth0 # # ppp0 configuration (start ppp link, set default route) pppd route add default ppp0 # # configuration du p�riph�rique de tunneling ifconfig tunl0 192.168.1.1 up route add -net 192.168.2.0 netmask $mask gw $remotegw tunl0 |
Le routeur Linux `B' sera configur� comme suit :
#!/bin/sh PATH=/sbin:/usr/sbin mask=255.255.255.0 remotegw=aaa.bbb.ccc.ddd # # configuration �thernet ifconfig eth0 192.168.2.1 netmask $mask up route add -net 192.168.2.0 netmask $mask eth0 # # ppp0 configuration (start ppp link, set default route) pppd route add default ppp0 # # configuration du p�riph�rique de tunneling ifconfig tunl0 192.168.2.1 up route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0 |
La commande :
root# route add -net 192.168.1.0 netmask $mask0 gw $remotegw tunl0 |
Notez que les configurations sont invers�es � l'autre bout. Le p�riph�rique tunnel utilise `gw' dans la commande route comme destination du paquet IP o� se trouve le datagramme qu'il doit router. Cette machine doit savoir comment `d�sencapsuler' les paquets IPIP, c'est � dire qu'elle doit aussi �tre configur�e comme p�riph�rique tunnel.
Ce n'est pas tout un r�seau que vous aurez � router. Vous pouvez par exemple ne router qu'une seule adresse IP. Dans ce cas vous devrez configurer le p�riph�rique tunl sur la machine `distante' avec sa propre adresse IP et � l'extr�mit� A n'utiliser qu'une route h�te (avec Proxy Arp) plut�t qu'une route r�seau via le p�riph�rique tunnel. Refaisons et modifions notre configuration de mani�re appropri�e. Maintenant nous avons seulement l'h�te `B' qui veut agir comme s'il �tait � la fois connect� � l'Internet et �galement au r�seau distant support� par l'h�te `A' :
192.168.1/24 - | ppp0 = ppp0 = | aaa.bbb.ccc.ddd fff.ggg.hhh.iii | | /- - -\ /- - -\ | | | // | | |- -| A |- - - //- - - - -| B | | | | // | | | \- - -/ \- - -/ | aussi: 192.168.1.12 - |
Le routeur Linux `A' sera configur� comme suit :
#!/bin/sh PATH=/sbin:/usr/sbin mask=255.255.255.0 remotegw=fff.ggg.hhh.iii # # configuration �thernet ifconfig eth0 192.168.1.1 netmask $mask up route add -net 192.168.1.0 netmask $mask eth0 # # configuration de ppp0 (d�marre le lien ppp link, r�gle la route par # d�faut) pppd route add default ppp0 # # configuration du p�riph�rique de tunneling ifconfig tunl0 192.168.1.1 up route add -host 192.168.1.12 gw $remotegw tunl0 # # Proxy ARP pour l'h�te distant arp -s 192.168.1.12 xx:xx:xx:xx:xx:xx pub |
L'h�te Linux `B' sera configur� comme suit :
#!/bin/sh PATH=/sbin:/usr/sbin mask=255.255.255.0 remotegw=aaa.bbb.ccc.ddd # # configuration de ppp0 (d�marre le lien ppp, r�gle la route par d�faut) pppd route add default ppp0 # # configuration du p�riph�rique de tunelling ifconfig tunl0 192.168.1.12 up route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0 |
Ce type de configuration est vraiment typique d'une application IP-Mobile, o� un simple h�te veut seulement se balader sur l'Internet et maintenir une adresse IP utilisable tout le temps. R�f�rez-vous au paragraphe Mobile-IP pour avoir plus d'informations et savoir comment faire en pratique.
Un grand nombre de gens ont une simple connexion par t�l�phone pour aller sur l'Internet. Presque tout le monde ne se voit offrir qu'une seule adresse IP par le founisseur d'acc�s avec ce type de configuration. Ceci est normalement suffisant pour permettre un acc�s complet au r�seau. IP Masquerade est une astuce intelligente qui vous permet d'avoir plusieurs machines utilisant une seule adresse IP, en faisant croire aux autres h�tes qu'il n'y a que la machine supportant la connexion (NdT : d'o� le terme masquerade=duperie, mascarade). Il y a qu'une seule mise en garde, qui est que la fonction masquage ne travaille pratiquement que dans un seul sens : les h�tes masqu�s peuvent appeler mais ne peuvent accepter ou recevoir des connexions r�seau de la part d'h�tes �loign�s. Cela signifie que certains services r�seau comme talk ne peuvent fonctionner et que d'autres, comme ftp doivent �tre configur�s pour fonctionner en mode passif (PASV). Heureusement la plupart des services r�seau comme telnet, World Wide Web et irc fonctionnent correctement.
Options de compilation du noyau :
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Networking options ---> [*] Network firewalls .... [*] TCP/IP networking [*] IP: forwarding/gatewaying .... [*] IP: masquerading (EXPERIMENTAL) |
Normalement votre machine Linux supportant un lien SLIP ou PPP se comportera comme si elle �tait toute seule. De plus elle peut avoir un autre p�riph�rique r�seau configur�, par exemple une carte Ethernet, avec des adresses r�seau r�serv�e. Les h�tes masqu�s seront ceux du second r�seau. Chacun de ces h�tes aura l'adresse IP du port Ethernet r�gl�e comme passerelle ou routeur par d�faut.
Une configuration typique ressemble � ceci :
- - \ | 192.168.1.0 \ | /255.255.255.0 \ - - - - - | | | Linux | .1.1 | NET =================| masq |- - - | | PPP/slip | router| | - - - - / - - - - - | -| h�te | / | | | / | - - - - - - |
Les commandes ad�quates pour cette configuration sont :
# Routage r�seau pour �thernet route add -net 192.168.1.0 netmask 255.255.255.0 eth0 # # Route par d�faut pour le reste de l'internet. route add default ppp0 # # Fait en sorte que tous les h�tes du r�seau 192.168.1/24 soient masqu�s. ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 |
Cela ressemble � l'utilisation avec IPFWADM mais la structure de la commande change:
# Routage r�seau pour ethernet route add -net 192.168.1.0 netmask 255.255.255.0 eth0 # # Route par d�faut vers le reste de l'internet. route add default ppp0 # # Fait en sorte que tous les h�tes sur le r�seau 192.168.1/24 soient # masqu�s. ipchains -A forward -s 192.168.1.0/24 -j MASQ |
Vous pouvez obtenir plus d'informations sur IP Masquerade sur la Page d'informations sur l'IP Masquerade. Il existe �galement un document tr�s d�taill� qui est le ``IP-Masquerade-mini-HOWTO'' (qui donne en plus des renseignements pour configurer d'autres syst�mes d'exploitation pour fonctionner avec un serveur de masquage linux).
Pour obtenir des informations concernant les applications de IP Masquerade, voyez la page Applications IPMASK.
IP transparent proxy est un proc�d� qui vous permet de rediriger des serveurs ou des services destin�s � une autre machine vers les services de votre machine. Typiquement c'est utile lorsque vous avez une machine Linux routeur et qui fournit aussi un serveur proxy. Vous redirigerez toutes les connexions � ce service distant vers le serveur proxy local.
Options de compilation du noyau :
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Networking options ---> [*] Network firewalls .... [*] TCP/IP networking .... [*] IP: firewalling .... [*] IP: transparent proxy support (EXPERIMENTAL) |
La configuration du dispositif transparent proxy est r�alis� en utilisant la commande ipfwadm.
Par exemple :
ipfwadm -I -a accept -D 0/0 telnet -r 2323 |
Cet exemple fera en sorte que toutes les tentatives de connexion vers le port telnet (23), de n'importe quel h�te, seront redirig�es vers le port 2323 de ce m�me h�te. Si vous utilisez un service sur ce port, vous pouvez rediriger des connexions telnet, les enregistrer ou ex�cuter tout ce qui bon vous semble.
Un exemple plus int�ressant est la redirection de tout le trafic http au travers d'un cache local. Cependant, le protocole utlis� par les serveurs proxy diff�re du protocole natif de http : quand un client se connecte � www.server.com:80 et demande chemin/page, quand il se connecte au cache local il contacte proxy.local.domain:8080 et recherche www.server.com/chemin/page.
Pour filtrer une demande http au travers du proxy local, vous devez pouvoir adapter le protocole en ins�rant un petit serveur, appel� transproxy (vous pouvez le trouver sur la toile). Vous pouvez choisir de faire tourner transproxy sur le port 8081, et ex�cuter la commande :
ipfwadm -I -a accept -D 0/0 80 -r 8081 |
Alors le programme transproxy recevra toutes les connexions devant aller vers des serveurs externes et les passera au proxy local apr�s avoir corrig� les diff�rences de protocole.
� peine pensez-vous avoir commenc� � comprendre comment fonctionne le r�seau IP, que les r�gles ont chang� ! IPv6 est l'abbr�viation de version 6 du `Protocole Internet' (version 6 de IP). Il fut d�velopp� initialement pour calmer les inqui�tudes de la communaut� Internet. Les utilisateurs s'inqui�taient d'une p�nurie proche d'adresses IP pouvant �tre allou�es. Les adresse IPv6 sont cod�es sur 16 octets (128 bits). IPv6 inclut un certain nombre d'autres changements, la plupart du temps des simplifications, qui rendront les r�seaux IPv6 plus facilement g�rables que les r�seaux IPv4.
Linux a d�j� une impl�mentation IPv6 qui marche, mais pas encore compl�tement, dans la s�rie des noyaux 2.2.*.
Le terme "mobilit� IP" d�crit la possibilit� qu'un h�te a de transf�rer sa connexion r�seau d'un point de l'Internet vers un autre sans changer d'adresse IP ou sans perdre la connectivit�. Normalement quand un h�te IP change de point de connexion, il change aussi d'adresse IP. La mobilit� IP r�soud ce probl�me en allouant une adresse IP fixe � l'h�te qui se d�place et en utilisant une encapsulation IP (tunneling) avec routage automatique pour s'assurer que les datagrammes qui lui sont destin�s seront rout�s vers l'adresse effectivement utilis�e � ce moment.
Un projet est en cours en vue de fournir un paquetage complet d'outils Linux pour la mobilit� IP. L'�tat de ce projet et les outils peuvent �tre obtenus sur : Linux Mobile IP Home Page. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
L'IP Multicast permet de router simultan�ment des datagrammes IP vers un certain nombre d'h�tes se trouvant sur des r�seaux diff�rents. Ce m�canisme est exploit� pour fournir sur l'Internet des applications prenant de la bande passante, telles que les transmissions audio et video et autres nouvelles applications.
Options de compilation du noyau :
Networking options ---> [*] TCP/IP networking .... [*] IP: multicasting |
Un ensemble d'outils et quelques modifications de la configuration r�seau sont n�cessaires. Pour plus d'informations sur le support multicast pour Linux, voyez le Multicast-HOWTO.html
Le metteur en forme de trafic est un gestionnaire de p�riph�rique qui cr�e de nouvelles interfaces; celles-ci sont limit�es au point de vue trafic selon les r�glages de l'utilisateur, et se connectent aux p�riph�riques de r�seau physiques pour la transmission r�elle, et peuvent donc �tre utilis�es comme route vers l'ext�rieur en vue de trafic r�seau.
Le metteur en forme fut introduit sur Linux-2.1.15 et ensuite sur Linux-2.0.36 (il apparut dans le 2.0.36-pre-patch-2 distribut� par Alan Cox, l'auteur du dispositif de mise en forme et le mainteneur de Linux-2.0).
Le metteur en forme de trafic ne peut �tre compil� qu'en tant que module, et se configure � l'aide du programme shapecfg avec des commandes comme :
shapecfg attach shaper0 eth1 shapecfg speed shaper0 64000 |
Ce metteur en forme de trafic ne peut contr�ler que la bande passante du trafic sortant, car les paquets sont transmis par le metteur en forme si l'on se r�f�re aux tables de routage; ainsi, le fonctionnement suivant ``un routage par adresse de d�part'' peut aider � limiter la bande passante totale d'h�tes sp�cifiques utilsant un routeur Linux.
Linux-2.2 poss�de d�j� le support pour un tel routage et si vous en avez besoin pour Linux-2.0, voyez le patch de Mike McLagan, sur ftp.invlogic.com. Lisez le fichier Documentationnetworking/shaper.txt pour plus d'informations.
Si vous voulez faire (une tentative de) mise en forme pour les paquets entrants, essayez rshaper-1.01 (ou plus r�cent), sur ftp.systemy.it.
DHCP est l'acronyme de �Dynamic Host Configuration Protocol� (Protocole de configuration dynamique d'un h�te). La cr�ation de DHCP a rendu la configuration du r�seau avec plusieurs h�tes extr�mement simple. Au lieu de configurer chaque h�te s�par�ment vous pouvez assigner tous les param�tres communs � l'ensemble des h�tes utilisant un serveur DHCP.
Chaque fois qu'un h�te d�marre il diffuse un paquet sur le r�seau. Ce paquet est un appel vers tous les serveurs DHCP situ�s sur le m�me segment pour configurer l'h�te.
DHCP est extr�mement utile pour assigner des choses comme l'adresse IP, le masque de r�seau et la passerelle de chaque h�te.
Sous linux, d�marrez le programme linuxconf en tant que super-utilisateur. Ce programme est disponible avec toutes les versions de redhat et fonctionne sous X aussi bien qu'en mode console. Il fonctionne �galement avec les distributions Suse et Caldera.
Select Networking ----------------->Basic Host Information ----------------->Select Enable ----------------->Set Config Mode DHCP |
R�cup�rez DHCPD s'il n'est pas d�j� install� sur votre machine. T�l�charger DHCPD
Note Br�ve: SOYEZ CERTAINS D'AVOIR L'OPTION MULTICAST INSTALL�E DANS LE NOYAU.
Si vous n'avez pas de distribution binaire pour votre version de linux, vous devrez compiler DHCPD.
�ditez /etc/rc.d/rc.local pour prendre en compte l'ajout d'une route vers 255.255.255.255.
Extrait du fichier README de DHCPd :
Afin que dhcpd fonctionne correctement avec des clients difficiles (par exemple Windows 95), il doit �tre en mesure d'envoyer des paquets vers l'adresse 255.255.255.255. Malheureusement, Linux insiste pour changer l'adresse 255.255.255.255 en l'adresse de diffusion du sous-r�seau local (ici, 192.5.5.223). Il en r�sulte une violation du protocole DHCP, et alors que de nombreux clients DHCP ne s'aper�oive pas de ce probl�me, d'autres (par ex, tous les clients DHCP Microsoft) le font. Les clients ayant ce probl�me appara�tront comme ne voyant pas les messages DHCPOFFER venant du serveur.
Sous le compte root, tapez ce qui suit :
route add -host 255.255.255.255 dev eth0
Si le message suivant apparait :
255.255.255.255: Unknown host
Essayez d'ajouter la ligne suivante � votre fichier /etc/hosts :
255.255.255.255 dhcp
Puis r�essayez :
route add -host dhcp dev eth0
Maintenant vous devez configurer DHCPd. Pour cela vous devez cr�er ou �diter le fichier /etc/dhcpd.conf. Il existe une interface graphique pour la configuration de dhcpd sous linuxconf. On configure et r�gle ainsi DHCPD tr�s facilement.
Si vous voulez le configurer � la main, suivez les instructions qui suivent. Je sugg�re de le faire au moins une fois � la main. Cela vous aidera pour faire des diagnostiques, ce qu'une interface graphique ne peut vous offrir. Malheureusement Microsoft n'y croit pas.
Le plus facile est d'assigner des adresses IP de mani�re al�atoire. Ci-dessous un exemple de fichier de configuration montrant le type de r�glage.
# Exemple de /etc/dhcpd.conf # (ajoutez vos commentaires ici) default-lease-time 1200; max-lease-time 9200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "mydomain.org"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; } |
Cela permet au serveur DHCP d'assigner au client une adresse IP comprise entre 192.168.1.10 et 192.168.1.100 ou bien 192.168.1.150 et 192.168.1.200.
Une adresse IP sera allou�e pendant 1200 secondes si le client ne demande pas plus. Autrement l'allocation maximum permise sera 9200 secondes. Le serveur envoie les param�tres suivants au client :
Utilisez 255.255.255.0 comme masque de sous-r�seau Utilisez 192.168.1.255 comme adresse de diffusion Utilisez 192.168.1.254 comme passerelle par d�faut Utilisez 192.168.1.1 et 192.168.1.2 comme serveurs DNS.
Si vous sp�cifiez un serveur WINS pour vos clients Windows, vous devez ins�rer l'option suivante dans le fichier dhcpd.conf.
option netbios-name-servers 192.168.1.1;
Vous pouvez aussi assigner des adresses IP sp�cifiques bas�es sur une adresse ethernet MAC, par exemple
host haagen { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222; } |
Cela assignera l'adresse IP 192.168.1.222 au client ayant une adresse ethernet MAC de 08:00:2b:4c:59:23.
Dans la plupart des cas, l'installation de DHCP ne cr�e pas le fichier dhcpd.leases. D�s lors, avant de d�marrer le serveur, vous devez cr�er un fichier vide :
touch /var/state/dhcp/dhcpd.leases
Pour d�marrer le serveur DHCP, tapez simplement (ou bien ins�rez-le dans les scripts de d�marrage)
/usr/sbin/dhcpd
Cela d�marre dhcpd sur le dispositif eth0. Si vous devez le d�marrer sur un autre dispositif, tapez simplement
/usr/sbin/dhcpd eth1
Si vous voulez tester une configuration bizarre vous pouvez d�marrer dhcpd en mode d�bogage. En tapant la commande suivante, vous pourrez voir exactement ce qui se passe sur le serveur.
/usr/sbin/dhcpd -d -f
D�marrez un client et jetez un coup d'oeil sur la console du serveur. Vous verrez appara�tre un grand nombre de messages de d�bogage.
C'est fini
Le noyau 2.2 a accru les possibilit�s de routage de Linux de mani�re certaine. Malheureusement la documentation pour exploiter ces nouvelles possibilit�s est presque impossible � trouver, m�me si elle existe.
J'y ai pass� un peu de temps et ai �t� en mesure de faire un petit quelque chose. J'en mettrai plus quand j'aurai le temps et l'aide n�cessaire pour comprendre tout ce qui a �t� dit.
Dans les versions du noyau 2.0 et ant�rieures, Linux utilise la commande route standard pour positionner les routes dans une seule table de routage. Si vous aviez tap� netstat -rn � l'invite vous auriez pu voir un exemple.
Dans les noyaux r�cents (2.1 et au-del�) vous avez une autre option. Cette option est autoris�e et vous permet d'avoir plusieurs tables de routage. Les nouvelles r�gles donnent beaucoup plus de souplesse sur la fa�on de manipuler les paquets. Vous pouvez choisir entre des routes bas�es non seulement sur l'adresse de destination, mais aussi l'adresse de d�part, TOS, ou un p�riph�rique de r�ception.
Afficher la table de routage :
ip route
Maintenant sur ma machine cela donne la sortie suivante :
207.149.43.62 dev eth0 scope link 207.149.43.0/24 dev eth0 proto kernel scope link src 207.149.43.62 default via 207.149.43.1 dev eth0 |
La premi�re ligne :
207.149.43.62 dev eth0 scope link est la route vers l'interface
La deuxi�me :
207.149.43.0/24 dev eth0 proto kernel scope link src 207.149.43.62 est la route qui dit tout ce qui va vers 207.149.43.0 doit aller vers 207.149.43.62.
La troisi�me :
default via 207.149.43.1 dev eth0 est la route par d�faut.
Maintenant que nous avons vu une table de routage de base, voyons comment l'utiliser. Tout d'abord lisez name="the Policy routing text." Si vous �tes emb�t�s, ne vous en faites pas -- c'est un texte confus. Il vous donne tout ce que les nouvelles tables de routage peuvent faire.
Dans la section pr�c�dente, nous avons mentionn� comment afficher la table de routage et comment comprendre les bases. Impeccable, la sortie ressemble de tr�s pr�s � la syntaxe que nous devons utiliser pour mettre en place la table de routage correspondant exactement � nos besoins.
ip route add 207.149.43.62 dev eth0 scope link ip route add 207.149.43.0/24 dev eth0 proto kernel scope link src 207.149.43.62 ip route add 127.0.0.0/8 dev lo scope link ip route add default via 207.149.43.1 dev eth0 |
Comme vous pouvez le constater, les entr�es et sorties sont presque les m�mes, sauf le ip route add au d�but de chaque ligne.
Note: Je suis conscient que la documentation sur le routage avec les noyaux 2.2 fait cruellement d�faut. Dans les faits, je pense que TOUT LE MONDE en est conscient. Si vous avez une petite exp�rience, contactez-nous s'il vous pla�t � poet@linuxports.com nous aimerions obtenir les informations que vous avez pour nous aider � �toffer notre documentation!
Le syst�me de traduction d'adresse r�seau (NAT: Network Address Translation) ressemble plut�t au � grand fr�re � standardis� du syst�me de masquage IP de Linux. Il est d�crit en d�tail dans la RFC-1631 sur votre archive RFC la plus proche. NAT fournit des possibilt�s que IP Masquerade ne sait pas faire, ce qui le rend plus apte � une utilsation de routeur pare-feu pour un r�seau d'entreprise et des installations de plus grande dimension.
Une impl�mentation alpha de NAT pour le noyau 2.0.29 de Linux a �t� d�velopp�e par Michael.Hasenstein, Michael.Hasenstein@informatik.tu-chemnitz.de. La documentation et l'impl�mentation de Michael se trouve sur :
la page web sur l'adressage r�seau sous Linux
L'empilement TCP/IP du noyau 2.2, qui a �t� grandement am�lior�, inclut les fonctionnalit�s de NAT. Ce syst�me semble rendre obsol�te le travail de Michael Hasenstein (Michael@informatik.tu-chemnitz.de).
Pour le rendre op�rationnel vous devez activer dans le noyau CONFIG_IP_ADVANCED_ROUTER, CONFIG_IP_MULTIPLE_TABLES (pour le syst�me de routage) et CONFIG_IP_ROUTE_NAT (pour un NAT rapide). De plus, si vous voulez utiliser un r�glage plus fin de NAT, vous devez activer le pare-feu (CONFIG_IP_FIREWALL) et CONFIG_IP_ROUTE_FWMARK. Pour faire fonctionner effectivement ces possibilit�s incluses dans le noyau, vous aurez besoin du programme �ip� de Alexey Kuznyetsov r�cup�r� sur ftp://ftp.inr.ac.ru/ip-routing/.
Datagrammes NAT entrants
Maintenant pour traduire les adresses des datagrammes entrants, on utilise la commande suivante :
ip route add nat <ext-addr>[/<masklen>] via <int-addr> |
Ceci fait qu'un paquet entrant destin� � l'adresse "ext-addr" (l'adresse visible sur l'internet ext�rieur) aura son champ d'adresse converti en "int-addr" (l'adresse de votre r�seau interne, derri�re votre passerelle ou pare-feu). Le paquet est alors rout� suivant la table de routage locale. Vous pouvez traduire soit une adresse h�te unique, soit des blocs complets. Exemples:
ip route add nat 195.113.148.34 via 192.168.0.2 ip route add nat 195.113.148.32/27 via 192.168.0.0 |
La premi�re commande rend l'adresse interne 192.168.0.2 accessible en tant que 195.113.148.34. Le second exemple montre une r�allocation du bloc 192.168.0.0-31 en 195.113.148.32-63. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
Si vous avez les outils iproute2 d�j� install�s, ex�cutez la commande ip, ce qui vous permettra d'afficher la syntaxe de base.
[root@jd Net4]# ip Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } where OBJECT := { link | addr | route | rule | neigh | tunnel | maddr | mroute | monitor } OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | ipv6 | dnet | link } | -o[neline] } |
Il y a plusieurs options disponibles�:
-V, -Version donne la version de l'utilitaire ip que vous employez puis vous rend la main.
-s, -stats, -statistics donne plus d'informations concernant le p�riph�rique sp�cifi�. Vous pouvez mentionner plusieurs fois cette option pour afficher plus d'informations.
-f, family suivi d'un nom identifiant la famille de protocole tel que : inet, inet6 ou link sp�cifie la famille de protocole � utiliser, inet d�signant le standard IPv4 (le standard internet actuel), inet6 d�signant IPv6 (r�volutionnaire, un standard internet qui ne sera jamais implant�), et link (un lien physique). Si vous ne donnez pas d'options, la famille de protocole est devin�e et s'il n'y a pas assez d'informations, ip reviendra aux r�glages par d�faut.
-o, -oneline indique la sortie de chaque enregistrement de p�riph�rique en une seule ligne.
-r, -resolve utilise le r�solveur du syst�me (par exemple DNS), pour imprimer les noms r�els associ�s aux adresses IP.
OBJECT C'est l'objet/p�riph�rique que l'on veut g�rer ou bien sur lequel on veut obtenir des informations. Les types de p�riph�riques qui sont compris par l'impl�mentation actuelle sont�:
link -- Le p�riph�rique r�seau, par exemple eth0 ou ppp0
address -- L'adresse IP (IP ou IPv6) du p�riph�rique sp�cifi�
neigh -- L'entr�e de cache ARP ou NDISC
route -- L'entr�e de la table de routage
rule -- Les r�gles de la base de donn�es de la politique de routage
maddress -- L'adresse de multidiffusion
mroute -- L'entr�e de cache de la route de multidiffusion
tunnel -- Faire ou non de l'encapsulation IP
Le nombre d'options possibles avec chaque type d'objet est fonction de la nature de l'action � entreprendre. Comme r�gle de base, il est possible d'ajouter, de supprimer, ou de montrer le ou les objets, mais parmi ceux-ci tous ne permettront pas d'utiliser des commandes suppl�mentaires. Bien s�r, une commande d'aide est disponible pour chaque objet et lors de son utilisation, celle-ci donnera une liste des conventions de syntaxe disponibles pour l'objet en question.
Si vous ne sp�cifiez pas de commande, c'est celle par d�faut qui sera ex�cut�e. Celle-ci donne la liste des objets, ou bien, si ce n'est pas possible, vous obtiendrez une aide de base.
ARGUMENTS est la liste des arguments qui peuvent �tre donn�s lors de l'ex�cution de la commande. Le nombre d'arguments d�pend de la commande et de l'objet. Il existe deux types d'arguments :
Les drapeaux consistant en un mot-cl� suivi d'une valeur. Pour la commodit�, chaque argument poss�de quelques valeurs par d�faut, qui peuvent �tre omises pour une utilisation plus facile. Par exemple le param�tre dev> est pris par d�faut pour une commande telle que ip link.
Les erreurs... rendons gr�ce aux codeurs intelligents Toutes les actions induites par les commandes sont dynamiques. Si la syntaxe est incorrecte, il n'y aura pas de changement dans la configuration du syst�me. Comme toujours, il existe une exception : la commande ip link , utilis�e pour changer certains param�tres d'un p�riph�rique.
Il est difficile de donner la liste de tous les messages d'erreur (en particulier les erreurs de syntaxe), mais normalement leur signification est explicite suivant le contexte de la commande. Les erreurs les plus fr�quentes sont : 1. Le r�seau n'est pas configur� dans le noyau. Le message est : Cannot open netlink socket: Invalid value (ne peut ouvrir la socket : valeur incorrecte).
2. RTNETLINK n'est pas configur� dans le noyau. Dans ce cas on obtiendra l'un des messages suivants, selon la commande : Cannot talk to rtnetlink: Connection refused (ne peut dialoguer avec rtnetlink: connexion refus�e) Cannot send dump request: Connection refused (ne peut envoyer une demande de vidage (dump): connexion refus�e).
3. L'option CONFIG_IP_MULTIPLE_TABLES n'a pas �t� choisie lors de la configuration du noyau. Dans ce cas toute tentative d'utilisation de la commande ip �chouera, par exemple :
jd@home $ ip rule list RTNETLINK error: Invalid argument dump terminated (erreur de r�gle ip dans la liste RTNETLINK: argument incorrect, vidage (dump) termin�).
Le R�seau Num�rique � Int�gration de Service (RNIS) (en anglais ISDN: Integrated Services Digital Network) est une s�rie de normes donnant les sp�cifications d'un r�seau de donn�es num�riques � usage g�n�ral. Un `appel' RNIS cr�e un service synchrone de donn�es point � point vers la destination. RNIS est g�n�ralement d�livr� sur une ligne � haut d�bit divis�e en un certain nombre de canaux discrets. Il y a deux types de canaux, les `canaux B' qui transportent effectivement les donn�es utilisateurs, et un canal unique appel� `canal D' qui est utilis� pour envoyer les informations de contr�le pendant l'�change RNIS en vue d'�tablir des appels et autres fonctions. En Australie, par exemple, RNIS peut �tre fourni sur une liaison 2 Mps qui est divis�e en 30 canaux B discrets de 64 kps et un canal D de 64 kps. N'importe quel nombre de canaux peuvent �tre utilis�s en m�me temps et ceci dans toutes les combinaisons possibles. Vous pouvez par exemple �tablir 30 appels diff�rents de 64 kps vers 30 destinations diff�rentes, ou bien 15 appels de 128 kps chacun vers 15 destinations diff�rentes (2 canaux utilis�s par appel), ou seulement un petit nombre d'appels, le reste �tant inactif. Un canal peut �tre utilis� pour des appels entrant ou sortant. Le but initial de RNIS �tait de permettre aux soci�t�s de T�l�communications de fournir un seul service de donn�es pouvant d�livrer soit le t�l�phone (avec une voix num�ris�e) ou bien des services de donn�es vers votre domicile ou votre bureau sans avoir � effectuer de changements pour obtenir une configuration sp�ciale.
Il y a plusieurs fa�ons de connecter votre ordinateur � un service RNIS. L'une consiste � utiliser un dispositif appel� `Adaptateur de Terminal' qui se branche sur l'unit� de terminal r�seau que votre op�rateur de t�l�communications a install� au moment de l'obtention de votre service RNIS, et qui pr�sente des interfaces s�ries. L'une de ces interfaces est utilis�e pour entrer les commandes pour �tablir les appels et la configuration, et les autres sont reli�es aux p�riph�riques r�seau qui utiliseront les circuits de donn�es quand la connexion sera faite. Linux peut travailler avec ce type de configuration sans modification, vous devez juste traiter le port de l'adaptateur de terminal comme vous traitez tout p�riph�rique s�rie. Une autre fa�on, qui est la raison d'�tre pour le support RNIS dans le noyau, vous permet d'installer une carte RNIS dans votre machine Linux et le logiciel Linux prend en charge les protocoles et fait les appels lui-m�me.
Options de compilation noyau :
ISDN subsystem ---> <<*> ISDN support [ ] Support synchronous PPP [ ] Support audio via ISDN < > ICN 2B and 4B support < > PCBIT-D support < > Teles/NICCY1016PC/Creatix support |
L'impl�mentation Linux de RNIS supporte diff�rents types de cartes internes RNIS. Il y a celles �num�r�es dans les options de configuration noyau :
ICN 2B and 4B
Octal PCBIT-D
Teles ISDN-cards et compatibles
Certaines de ces cartes ont besoin de logiciels devant �tre t�l�charg�s pour les rendre op�rationnelles. Il y a un utilitaire s�par� pour le faire.
Tous les d�tails pour configurer le support RNIS Linux se trouvent dans le r�pertoire /usr/src/linux/Documentation/isdn/ et un document FAQ d�di� � isdn4linux est disponible sur www.lrz-muenchen.de (vous pouvez cliquer sur le drapeau anglais pour obtenir la version anglaise).
Note au sujet de PPP. L'ensemble des protocoles PPP peut travailler sur des lignes s�rie synchrone ou asynchrone. Le d�mon PPP `pppd' couramment distribu� pour Linux ne supporte que le mode asynchrone. Si vous d�sirez utiliser les protocoles PPP avec votre service RNIS vous aurez besoin d'une version sp�ciale. Les d�tails pour la trouver se trouvent dans la documentation mentionn�e ci-dessus.
Les noms de p�riph�riques PLIP sont `plip0', `plip1', `plip2'.
Options de compilation du noyau :
Networking options ---i> <*> PLIP (parallel port) support |
PLIP (Parallel Line IP) est, comme SLIP, utilis� pour fournir une connexion r�seau point � point entre deux machines, sauf qu'il est con�u pour utiliser les ports parall�les de votre machine au lieu des ports s�ries. Parce qu'il est possible de transmettre plus d'un bit en m�me temps avec un port parall�le, on peut atteindre des plus hautes vitesses avec l'interface PLIP qu'avec une sortie s�rie standard (un sch�ma de c�blage est donn� plus loin dans ce document). De plus, m�me le plus simple des ports parall�les, le port imprimante, peut �tre utilis�, au lieu d'acheter un UART 16550AFN relativement cher pour vos ports s�ries. PLIP utilise beaucoup de CPU en comparaison d'une liaison s�rie et ce n'est s�rement pas un bon choix si vous avez la possibilit� d'avoir des cartes �thernet pas ch�res, mais �a fonctionne lorsque rien d'autre n'est disponible, et �a fonctionne tr�s bien.
Les gestionnaires PLIP entrent en comp�tition avec les autres gestionnaires du mat�riel branch� sur le port parall�le. Si vous voulez utiliser les deux, vous devez alors les compiler en tant que modules pour pouvoir choisir quel port vous voulez utiliser pour PLIP et quel port pour l'imprimante. Voyez le document � Modules-mini-HOWTO � pour plus d'informations sur la configuration des modules noyau.
Attention, notez que certains portables utilisent des circuits qui ne peuvent pas fonctionner avec PLIP car ils n'autorisent pas certaines combinaisons dont PLIP a besoin et que les imprimantes n'utilisent pas.
L'interface Linux PLIP est compatible avec le Gestionnaire PLIP Crynwyr Packet et ceci signifie que vous pouvez connecter votre machine Linux avec une machine DOS tournant avec n'importe quel logiciel TCP/IP via PLIP.
Dans la s�rie des noyaux 2.0.* les gestionnaires de p�riph�rique PLIP sont affect�s aux ports e/s et IRQ comme suit :
device i/o addr IRQ - - - - - - - - - - plip0 0x3BC 5 plip1 0x378 7 plip2 0x278 2 |
Si vos ports parall�les ne correspondent pas aux combinaisons pr�c�dentes alors vous pouvez changer les IRQ en utilisant la commande ifconfig avec le param�tre `irq'. N'oubliez pas de valider les IRQ pour vos ports imprimantes dans votre ROM BIOS s'il supporte cette option. Un autre moyen consiste � sp�cifier les options ``io='' et ``irq='' sur la ligne de commande de insmod, si vous utilisez les modules. Par exemple :
root# insmod plip.o io=0x288 irq=5 |
Le fonctionnement de PLIP est contr�l� par deux temporisations de d�passement de temps, dont les valeurs par d�faut devraient convenir la plupart du temps. Vous devrez peut-�tre les augmenter si vous avez un ordinateur particuli�rement lent, auquel cas les valeurs devant �tre augment�es se trouvent sur l'autre ordinateur. Il existe un programme appel� plipconfig qui permet d'effectuer ces r�glages sans recompiler le noyau. Il est fourni avec de nombreuses distributions Linux.
Pour configurer une interface plip, vous devez invoquer les commandes suivantes (ou les ajouter � vos scripts d'initialisation) :
root# /sbin/ifconfig plip1 localplip pointopoint remoteplip root# /sbin/route add remoteplip plip1 |
Dans ce cas, le port utilis� est celui qui a l'adresse 0x378 ; localplip et remoteplip sont les adresses IP utilis�es sur le c�ble PLIP. Je les mets personnellement dans la base de donn�es /etc/host :
# entr�es plip 192.168.3.1 localplip 192.168.3.2 remoteplip |
Le param�tre pointopoint a la m�me signification que pour SLIP, c'est-�-dire qu'il sp�cifie l'adresse de la machine � l'autre bout de la liaison.
Dans la plupart des cas vous pouvez traiter l'interface PLIP comme si elle �tait une interface SLIP, sauf que ni dip ni slattach ne doivent, ou ne peuvent, �tre utilis�s.
Plus d'information sur PLIP peut �tre obtenu avec le document ``PLIP-mini-HOWTO''.
Durant le d�veloppement des versions 2.1 du noyau, le support concernant les ports parall�les s'est am�lior�.
Options de compilation du noyau :
General setup ---> [*] Parallel port support Network device support ---> <*> PLIP (parallel port) support |
Le nouveau code concernant PLIP se comporte comme l'ancien (on utilise les m�mes commandes ifconfig et route comme dans le paragraphe pr�c�dent), mais l'initialisation du syst�me est diff�rente en raison du support port parall�le am�lior�.
Le ``premier'' p�riph�rique PLIP est toujours appel� ``plip0'', premier signifiant celui qui est d�tect� en premier par le syst�me, comme pour les p�riph�riques Ethernet. Le port parall�le utilis� de fait est l'un de ceux qui sont disponibles, comme indiqu� dans /proc/parport. Par exemple, si vous n'avez qu'un seul port parall�le, vous n'aurez qu'un seul r�pertoire appel� /proc/parport/0.
Si votre noyau ne d�tecte pas l'IRQ utilis�e par votre port parall�le, ``insmod plip'' �chouera ; dans ce cas, vous �crivez juste le chiffre ad�quat dans /proc/parport/0/irq et vous invoquez de nouveau insmod.
Une information compl�te sur la gestion des ports parall�les est disponible dans le fichier Documentation/parport.txt, qui se trouve dans les sources du noyau.
En raison de la nature de PPP, sa taille, sa complexit�, et sa souplesse son propre HOWTO a �t� cr��. Le PPP-HOWTO est toujours un document du LDP mais son site officiel est sur le site LinuxPorts � la section PPP. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
Les fichiers de p�riph�riques SLIP sont nomm�s `sl0', `sl1', etc. Le premier configur� �tant `0' et les autres s'incr�mentant au fur et � mesure de leur configuration.
Options de compilation du noyau :
Network device support ---i> [*] Network device support <*> SLIP (serial line) support [ ] CSLIP compressed headers [ ] Keepalive and linefill [ ] Six bit SLIP encapsulation |
SLIP (Serial Line Internet Protocol) vous permet d'utiliser TCP/IP avec une ligne s�rie, ce peut �tre un t�l�phone et un modem, ou tout autre ligne d�di�e. Bien s�r pour utiliser SLIP vous devez avoir acc�s � un serveur SLIP dans votre entourage. De nombreuses universit�s et de soci�t�s fournissent des acc�s SLIP de par le monde.
SLIP utilise les ports s�ries de votre machine pour transporter les datagrammes IP. Pour cela il doit prendre le contr�le du p�riph�rique s�rie. Les noms de p�riph�riques SLIP sont sl0, sl1, etc. Comment ceux-ci correspondent avec vos p�riph�riques s�rie ? Le code r�seau utilise ce que l'on nomme un appel ioctl (i/o control) pour transformer les p�riph�riques s�rie en p�riph�riques SLIP. Il y a deux programmes qui peuvent faire cela, ce sont dip et slattach.
dip (Dialup IP) est un programme �l�gant capable de r�gler la vitesse du dispositif s�rie, de demander � votre modem d'appeler l'autre extr�mit� de la ligne, de vous connecter automatiquement au serveur distant, de chercher des messages qui vous ont �t� envoy�s par le serveur et d'en extraire des informations telles que votre adresse IP et de faire le ioctl n�cessaire pour basculer votre port s�rie en mode SLIP. dip est tr�s flexible quant � l'utilisation de scripts et gr�ce � ceci vous pouvez automatiser vos proc�dures de connexion.
On peut le trouver sur : metalab.unc.edu.
Pour l'installer faites :
user% tar xvfz dip337o-uri.tgz user% cd dip-3.3.7o user% vi Makefile root# make install |
Le fichier Makefile suppose l'existence d'un groupe nomm� uucp, mais vous pouvez le changer en dip ou SLIP, selon votre configuration.
slattach au contraire de dip est un programme tr�s simple, tr�s facile � utiliser, mais qui n'a pas la sophistication de dip. Il n'a pas la possiblit� d'accepter des scripts, tout ce qu'il fait �tant de configurer votre p�riph�rique s�rie en p�riph�rique SLIP. Il suppose que vous avez toutes les informations n�cessaires et que la liaison s�rie est �tablie avant de l'invoquer. slattach est id�al quand vous avez une liaison permanente avec votre serveur, comme un c�ble physique ou une ligne d�di�e.
Vous devriez utiliser dip lorsque votre liaison vers la machine qui est votre serveur SLIP est un modem, ou tout autre lien intermittent. Vous devriez utiliser slattach quand vous avez une ligne d�di�e, peut-�tre un c�ble, entre votre machine et le serveur et qu'il n'y a pas d'action sp�ciale n�cessaire pour garder la ligne en activit�. Voir la section `Connexion SLIP permanente' pour plus de d�tails.
Configurer SLIP est analogue � la configuration d'une interface Ethernet (voir la section `Configurer un p�riph�rique Ethernet' ci-dessus). Cependant, il existe quelques diff�rences.
Tout d'abord, les liens SLIP ne sont pas des r�seaux Ethernet en ce sens qu'il n'y a que deux h�tes sur le r�seau, un � chaque extr�mit� de la liaison. � la diff�rence de l'Ethernet qui est disponible d�s que vous �tes c�bl�, avec SLIP, en fonction du type de lien que vous avez, vous serez amen� � initialiser votre connexion r�seau d'une mani�re sp�ciale.
Si vous utilisez dip, alors cela ne sera pas fait au moment du d�marrage de la machine, mais plus tard, quand vous serez pr�t � utiliser la liaison. Il est possible d'automatiser la proc�dure. Si vous utilisez slattach vous voudrez probablement ajouter une section dans votre fichier rc.inet1. Ceci sera d�crit bient�t.
Il y a deux types principaux de serveurs SLIP : serveurs avec adressage IP dynamique et serveurs avec adressage IP statique. Presque tous les serveurs SLIP vous demanderont � la connexion d'utiliser un nom d'utilisateur et un mot de passe quand vous composez le num�ro. dip peut prendre en charge la connexion automatiquement.
Le serveur SLIP statique est celui qui vous fournit une adresse IP qui reste exclusivement la v�tre. � chaque fois que vous vous connectez � ce serveur, vous configurez votre port SLIP avec cette adresse. Le serveur SLIP statique r�pond � votre appel par modem, vous demande probablement un nom d'utilisateur et un mot de passe, et ensuite dirige tous les datagrammes destin�s � votre adresse au travers de cette connexion. Si vous avez un serveur statique, alors vous mettez des entr�es pour votre nom d'h�te et votre adresse IP (puisque vous savez ce qu'elle sera) dans votre fichier /etc/hosts. Vous devez aussi configurer d'autres fichiers comme : rc.inet2, host.conf, resolv.conf, /etc/HOSTNAME et rc.local. N'oubliez pas qu'en configurant rc.inet1, vous n'avez pas besoin d'ajouter de commandes sp�ciales pendant la connexion SLIP puisque c'est dip qui fait tout le dur labeur � votre place en configurant votre interface. Vous avez besoin de donner � dip les informations ad�quates et il configure l'interface pour vous apr�s avoir demand� au modem d'�tablir l'appel et de vous connecter au serveur.
Si votre serveur SLIP fonctionne comme cela alors vous pouvez directement aller � la section `Utiliser Dip' pour apprendre � configurer dip convenablement.
Le serveur SLIP dynamique vous alloue une adresse IP de mani�re al�atoire, � partir d'un groupe d'adresses, � chaque fois que vous vous connectez. Cela signifie qu'il n'y a aucune garantie d'avoir la m�me adresse � chaque fois, et que celle-ci peut �tre utilis�e par quelqu'un d'autre apr�s la d�connexion. L'administrateur r�seau qui a configur� le serveur SLIP a assign� un groupe d'adresses que le serveur SLIP peut utiliser quand il re�oit un appel entrant. Il prend alors la premi�re adresse inutilis�e, guide l'appelant au travers du processus de connexion et envoie un message de bienvenue contenant l'adresse IP qu'il a allou�e et continue d'utiliser cette adresse tout le temps de l'appel.
Configurer ce type de serveur revient � configurer un serveur statique, sauf que vous devez ajouter une �tape pour obtenir l'adresse IP allou�e par le serveur puis configurer le p�riph�rique SLIP avec celle-ci.
Encore une fois, dip fait le sale boulot et les nouvelles versions sont suffisamment �l�gantes pour non seulement �tablir la connexion, mais aussi pour lire l'adresse IP inscrite dans le message de bienvenue et la stocker de telle sorte que vous puissiez configurer votre p�riph�rique SLIP avec.
Si votre serveur SLIP fonctionne ainsi, alors vous pouvez aller � la section `Utiliser DIP' pour savoir comment configurer dip de mani�re ad�quate.
Comme expliqu� plus haut, dip est un programme puissant qui simplifie et automatise le processus de composition d'un num�ro vers un serveur SLIP, se connecte dessus, d�marre la connexion et configure les p�riph�riques SLIP � l'aide des commandes ifconfig et route appropri�es.
Essentiellement, pour utiliser dip vous �crivez un `script dip' qui est tout simplement une liste de commandes que dip comprend et qui lui dit comment r�aliser chacune des actions que vous voulez qu'il fasse. Voyez le fichier sample.dip fourni avec dip pour avoir une id�e de la mani�re dont il travaille. dip est vraiment un programme puissant, avec beaucoup d'options. Au lieu de regarder chacune d'elles, il vaut mieux jeter un coup d'oeil dans la page de manuel, le fichier README et les fichiers d'exemple qui sont fournis avec votre version de dip.
Vous pouvez noter que le script sample.dip suppose que vous utilisez un serveur SLIP statique, aussi vous connaissez votre adresse IP � l'avance. Pour les serveurs SLIP dynamiques, les nouvelles versions de dip incluent une commande que vous pouvez utiliser pour lire et configurer automatiquement votre p�riph�rique SLIP avec l'adresse IP donn�e par le serveur dynamique. L'exemple suivant est une version modifi�e du fichier sample.dip fourni avec dip337j-uri.tgz et qui est probablement un bon point de d�part pour vous. Vous pouvez le sauvegarder sous le nom de /etc/dipscript et l'�diter pour l'adapter � votre configuration :
# # sample.dip Programme de support pour connexion IP. # # Ce programme (devrait montrer) montre comment utiliser DIP # Il devrait fonctionner avec des serveurs dynamiques de type Annex, # et si vous utilsez un serveur avec adresse statique utilsez alors le # fichier sample.dip livr� avec le paquetage dip337-uri.tgz. # # # Version: @(#)sample.dip 1.40 07/20/93 # # Auteur: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> # main: # Apr�s, postionner l'adresse et le nom de l'h�te distant. # Ma machine s'appelle 'xs4all.hacktic.nl' (== 193.78.33.42) get $remote xs4all.hacktic.nl # Positionne le masque de r�seau sur sl0 � 255.255.255.0 netmask 255.255.255.0 # R�gle le port s�rie et la vitesse. port cua02 speed 38400 # Reset le modem et la ligne de terminal. # Cela semble poser probl�me � certains! reset # Notez! Valeurs "standards" pr�d�finies de "errlevel": # 0 - OK # 1 - CONNECT # 2 - ERROR # # Vous pouvez les changer en faisant un grep dans *.c avec "addchat()"... # On se pr�pare pour num�roter. 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. Nous nous enregistrons 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: # Maintenant nous sommes enregistr�s. wait SOMEPROMPT 30 if $errlvl != 0 goto prompt_error # Demande au serveur de basculer en mode SLIP send SLIP\n wait SLIP 30 if $errlvl != 0 goto prompt_error # Obtenir et ajuster notre adresse IP gr�ce au serveur. # Ici nous supposons qu'apr�s le basculement du serveur en mode SLIP, celui-ci # nous donne l'adresse IP # mode that it prints your IP address get $locip remote 30 if $errlvl != 0 goto prompt_error # r�glage des param�tres SLIP. get $mtu 296 # S'assurer que "route add -net default xs4all.hacktic.nl" sera fait default # Dire bonjour, et en avant! 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 appeliez un serveur SLIP dynamique ; si vous appelez un serveur SLIP statique, alors le fichier sample.dip fourni avec dip337j-uri.tgz devrait vous convenir.
Quand on donne � dip la commande get $local, il cherche dans le texte venant de l'extr�mit� de la ligne une cha�ne de caract�res ressemblant � une adresse IP, c'est � dire des ensembles de nombres s�par�s par des caract�res `.'. Cette modification fut mise en place plus sp�cialement pour les serveurs SLIP dynamiques, afin que le processus de lecture de l'adresse IP fournie par le serveur soit automatis�.
L'exemple ci-dessus cr�e automatiquement une route par d�faut via votre liaison SLIP, et si ce n'est pas ce que vous voulez, car vous avez une connexion Ethernet qui devrait �tre votre route par d�faut, alors enlevez la commande default du script. Apr�s que le script ait fini de tourner, tapez la commande ifconfig, et vous verrez que vous avez un p�riph�rique sl0. C'est votre p�riph�rique SLIP. Si le besoin s'en fait sentir, vous pouvez modifier manuellement sa configuration, apr�s que la commande dip soit finie, en utilisant les commandes ifconfig et route.
Notez que dip vous permet de choisir parmi diff�rents protocoles en utilisant la commande mode, l'exemple le plus courant �tant cSLIP pour utiliser SLIP avec compression. Notez encore que les deux extr�mit�s de la liaison doivent �tre d'accord, aussi assurez-vous que ce que vous avez choisi est en accord avec les r�glages du serveur.
L'exemple montr� ci-dessus est plut�t robuste et devrait faire face � la plupart des erreurs. R�f�rez-vous � la page de manuel de dip pour plus d'informations. Naturellement, vous pouvez, par exemple, modifier le script pour r�aliser des choses comme recomposer le num�ro vers le serveur si la connexion n'a pas �t� faite au bout d'un certain temps, ou m�me essayer une s�rie de serveurs si vous avez acc�s � plus d'un d'entre eux.
Si vous avez deux machines reli�es par un c�ble, ou si vous �tes suffisamment riche pour avoir une ligne d�di�e, ou un autre type de connexion permanente entre votre machine et une autre, alors vous n'avez pas besoin de vous casser la t�te avec dip pour r�gler votre liaison s�rie. slattach est un utilitaire tr�s simple � utiliser et vous permet d'avoir les fonctionnalit�s juste n�cessaires pour configurer votre connexion.
Puisque votre connexion est permanente, vous ajoutez quelques commandes dans votre fichier rc.inet1. Tout ce dont vous avez besoin pour une connexion permanente est de vous assurer que vous avez configur� votre p�riph�rique s�rie � la bonne vitesse et basculer votre p�riph�rique s�rie en mode SLIP. slattach vous permet de faire ceci avec une seule commande. Ajoutez ce qui suit � votre fichier rc.inet1 :
# # Attache une connexion SLIP statique sur une ligne d�di�e # # configure /dev/cua0 � la 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 de SLIP statique. |
O� :
repr�sente votre adresse IP.
repr�sente l'adresse IP de l'h�te distant.
slattach alloue le premier p�riph�rique SLIP disponible au p�riph�rique s�rie sp�cifi�. slattach d�marre avec sl0. Par cons�quent la premi�re commande slattach relie le p�riph�rique sl0 au p�riph�rique sp�cif�, puis sl1 la fois suivante, etc.
slattach vous permet de configurer un certain nombre de protocoles gr�ce � l'argument -p. Dans votre cas vous utilisez soit SLIP soit cSLIP suivant que vous voulez utiliser la compression ou non. Note : les deux extr�mit�s doivent �tre d'accord sur l'utilisation de la compression.
Vous avez peut-�tre une machine connect�e au r�seau et vous aimeriez que d'autres personnes puissent s'y connecter pour y chercher des services de r�seau, alors vous devez configurer votre machine comme serveur. Si vous voulez utiliser SLIP comme protocole de ligne s�rie, vous avez trois possiblit�s pour configurer votre machine Linux comme serveur SLIP. Ma pr�f�rence est la premi�re pr�sent�e, sliplogin, car elle semble la plus facile � configurer et � comprendre, mais je pr�senterai un r�sum� pour chacune, ainsi vous pourrez d�cider par vous-m�me.
sliplogin est un programme que vous pouvez utiliser � la place du shell normal de connexion pour les utilisateurs SLIP, et qui convertit la ligne terminal en ligne SLIP. Il vous permet de configurer votre machine Linux soit en serveur � adresse statique (les utilisateurs obtiennent toujours la m�me adresse � chaque connexion), soit en serveur � adresse dynamique (les utilisateurs obtiennent une adresse qui n'est pas forc�ment la m�me que lors de la connexion pr�c�dente).
L'appelant se connecte comme sur un terminal standard, en donnant son nom d'utilisateur et son mot de passe, mais au lieu d'avoir une invite de shell apr�s la connexion, sliplogin est ex�cut� et cherche dans son fichier de configuration une entr�e dont le nom correspond � celui de l'appelant. S'il en d�tecte une, il configure la ligne avec 8 bits de donn�es, et utilise un appel ioctl pour basculer celle-ci en ligne SLIP. Quand ce processus est fini, la derni�re �tape de la configuration prend place, sliplogin invoquant un script qui configure l'interface SLIP avec l'adresse IP ad�quate, ainsi que le masque de r�seau et positionne le routage appropri�. Ce script est appel� habituellement /etc/slip.login, mais tout comme getty, si certains appelants n�cessitent une initialisation sp�ciale, alors vous pouvez cr�er des scripts de configuration appel�s /etc/slip.login.loginname qui seront utilis�s � la place du script par d�faut.
Il y a quelques fichiers que vous devez configurer pour que sliplogin travaille pour vous. Je d�crirai comment et o� obtenir les logiciels et comment chacun est configur�. Ces fichiers sont :
/etc/passwd, pour l'acceptation des utilisateurs entrants;
/etc/slip.hosts, qui contient une information sp�cifique de chaque utilisateur entrant;
/etc/slip.login, qui s'occupe de la configuration du routage;
/etc/slip.tty, requis uniquement si vous configurez votre serveur avec allocation d'adresse dynamique : il contient une table des adresses � allouer.
/etc/slip.logout, qui contient les commandes de `nettoyage' apr�s une d�connexion volontaire ou intempestive.
Votre distribution contient peut-�tre d�j� le paquetage; si ce n'est pas le cas alors sliplogin peut �tre obtenu sur metalab.unc.edu. Le fichier tar contient � la fois les sources, les binaires pr�compil�s et une page de manuel.
Pour s'assurer que seuls les utilisateurs autoris�s pourront faire tourner le programme sliplogin, vous devez ajouter une entr�e dans votre fichier /etc/group similaire � la suivante :
.. slip::13:radio,fred .. |
Lorsque vous installez le paquetage sliplogin, Makefile change le groupe du programme sliplogin en slip, et cela signifie que seuls les utilisateurs qui appartiennent � ce groupe pourront l'ex�cuter. L'exemple donn� ci-dessus ne permet qu'aux utilisateurs radio et fred de pouvoir faire tourner le programme sliplogin.
Pour installer les binaires dans le r�pertoire /sbin et les pages de manuel dans la section 8, faites :
root# cd /usr/src root# gzip -dc .../sliplogin-2.1.1.tar.gz | tar xvf - root# cd sliplogin-2.1.1 root# <..�ditez le Makefile si vous n'utilisez pas les shadow passwords..> root# make install |
Si vous voulez recompiler les binaires avant de les installer, faites make clean avant de faire make install. Si vous voulez installer les binaires autre part, vous devez �diter le fichier Makefile et le modifier en cons�quence.
Normalement vous devez cr�er des noms d'utilisateurs sp�ciaux, pour ceux qui appellent avec SLIP, dans votre fichier /etc/passwd. Une convention souvent suivie est d'utiliser le nom d'utilisateur de l'appelant pr�fix�e avec la lettre capitale `S'. Ainsi, par exemple, si l'appelant s'appelle radio alors vous pouvez cr�er une entr�e dans le fichier /etc/passwd ressemblant � ceci :
Sradio:FvKurok73:1427:1:radio SLIP login:/tmp:/sbin/sliplogin |
Le nom du compte n'a pas r�ellement d'importance, du moment qu'il ait une signification pour vous.
Note : l'appelant n'a pas besoin de r�pertoire home sp�cial car il n'utilisera pas de shell sur la machine, d�s lors /tmp est un bon choix. Notez bien que sliplogin est utilis� � la place du shell de connexion normal.
Le fichier /etc/slip.hosts est le fichier o� sliplogin cherche les entr�es correspondant au nom de connexion pour obtenir les d�tails de configuration. C'est le fichier o� sont indiqu�s l'adresse IP et le masque de r�seau qui seront assign�s � l'appelant et configur�s pour leur usage. Des exemples d'entr�es pour deux utilisateurs, une statique pour radio et l'autre dynamique pour albert ressemblent � ceci :
# Sradio 44.136.8.99 44.136.8.100 255.255.255.0 normal -1 Salbert 44.136.8.99 DYNAMIC 255.255.255.0 compressed 60 # |
Les entr�es du fichier /etc/slip.hosts sont :
Le nom de connexion de l'appelant.
L'adesse IP de la machine serveur, donc de la machine contenant ce fichier.
L'adresse IP qui sera attribu�e � l'appelant. Si le champ vaut DYNAMIC alors l'adresse IP sera allou�e suivant les informations contenues dans le fichier /etc/slip.tty d�crit plus loin. Note : vous devez utiliser au moins la version 1.3 de sliplogin pour que cela fonctionne.
Le masque de r�seau assign� � la machine appelante, en notation d�cimale, par exemple 255.255.255.0 pour un masque de r�seau de classe C.
Un r�glage du mode SLIP qui active/d�sactive la compression. Les valeurs autoris�es sont "normal" et "compressed".
Un param�tre de d�lai qui sp�cifie combien de temps la ligne peut rester inactive (aucun datagramme re�u) avant une d�connexion automatique. Une valeur n�gative d�sactive cette possiblit�.
arguments optionnels.
Note : Vous pouvez mettre soit les noms d'h�tes soit les adresses IP en notation d�cimale point�e pour les champs 2 et 3. Si vous utilisez les noms d'h�tes, alors ces h�tes doivent �tre r�solubles, c'est � dire que votre machine est capable de d�terminer une adresse IP pour ces noms d'h�tes, sinon le script �chouera pendant l'appel. Vous pouvez le tester en faisant telnet vers un nom d'h�te : si vous obtenez le message `Trying nnn.nnn.nnn...' alors votre machine est capable de trouver une adresse ip pour ce nom d'h�te. Si vous obtenez le message `Unknown host', alors il n'en a pas. Dans ce cas essayez d'utiliser l'adress IP en notation d�cimale point�e, ou bien voyez du c�t� de votre configuration de solveur de noms (voir la section R�solution de noms).
Les modes les plus courants de SLIP sont :
mode SLIP normal non compress�.
mode avec compression van Jacobsen des en-t�tes (cSLIP)
Bien s�r ils sont mutuellement exclusifs, vous devez utiliser l'un ou l'autre. Pour plus d'informations sur les options disponibles, voir les pages de manuels.
Apr�s que sliplogin ait explor� le fichier /etc/slip.hosts et ait trouv� une entr�e qui convient, il essaye d'ex�cuter le fichier /etc/slip.login pour effectivement configurer l'interface SLIP avec son adresse IP et son masque de r�seau. L'exemple de fichier /etc/slip.login fourni avec le paquetage sliplogin ressemble � ceci :
#!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # fichier g�n�rique de connexion pour une ligne SLIP. Invoqu� par sliplogin # avec les param�tres: # $1 $2 $3 $4, $5, $6 ... # unit� SLIP vitesse pid arguments tir�s de slip.host # /sbin/ifconfig $1 $5 pointopoint $6 mtu 1500 -trailers up /sbin/route add $6 arp -s $6 <hw_addr> pub exit 0 # |
Notez que ce script utilise seulement les commandes ifconfig et route pour configurer le p�riph�rique SLIP avec sa propre adresse IP, l'adresse IP de l'h�te distant , le masque de r�seau puis cr�e une route vers l'adresse distante via le p�riph�rique SLIP. C'est-�-dire la m�me chose que si vous utilisiez la commande slattach.
Notez aussi l'utilisation de Proxy ARP pour s'assurer que les h�tes plac�s sur le m�me segment �thernet que la machine serveur sauront comment atteindre l'h�te qui s'est connect�. Le champ <hw_addr> doit �tre l'adresse mat�rielle de la carte Ethernet de la machine. Si votre machine serveur n'est pas sur un r�seau Ethernet, vous pouvez ignorer cette ligne.
Quand la connexion s'est arr�t�e, assurez-vous que le p�riph�rique s�rie soit revenu � son �tat normal de telle sorte que les appelants suivants puissent se connecter correctement. Ceci est accompli en utilisant le fichier /etc/slip.logout. Il est de format tr�s simple et est appel� avec le m�me argument que le fichier /etc/slip.login.
#!/bin/sh - # # slip.logout # /sbin/ifconfig $1 down arp -d $6 exit 0 # |
Tout ce qu'il fait est de `mettre � z�ro' l'interface qui supprimera la route pr�c�demment cr��e. Il utilise aussi la commande arp pour supprimer tout arp proxy en place, encore une fois vous n'avez pas besoin de la commande arp dans le script si votre machine serveur ne poss�de pas de port Ethernet.
Si vous utilisez une allocation d'adresse ip dynamique (tous les h�tes configur�s avec le mot-cl� DYNAMIC dans le fichier /etc/slip.hosts) alors vous devez configurer le fichier /etc/slip.tty pour afficher les adresses qui seront assign�es aux ports. Vous n'aurez besoin de ce fichier que si vous voulez que votre serveur alloue des adresses aux utilisateurs de mani�re dynamique.
Ce fichier est un tableau qui liste les p�riph�riques tty supportant les connexions SLIP entrantes et l'adresse ip qui sera assign�e aux utilisateurs se connectant � ceux-ci.
Son format est le suivant :
# slip.tty mappage d'adresses tty -> IP pour SLIP dynamique # format: /dev/tty?? xxx.xxx.xxx.xxx # /dev/ttyS0 192.168.0.100 /dev/ttyS1 192.168.0.101 # |
Ce que dit ce tableau est que les appelants qui se connectent sur le port /dev/ttyS0 et dont le champ adresse dans le fichier /etc/slip.hosts vaut sur DYNAMIC auront l'adresse 192.168.0.100.
De cette mani�re vous n'avez besoin d'allouer qu'une seule adresse par port pour tous les utilisateurs n'ayant pas besoin d'adresse fixe. Ceci vous permet d'avoir le nombre minimum d'adresses n�cessaires pour �viter du gaspillage.
Tout d'abord laissez-moi dire que certaines informations ci-dessous proviennent des pages de manuel de dip, o� la mani�re de faire tourner Linux comme serveur SLIP est bri�vement d�crite. Faites attention aussi que ce qui suit est fond� sur le paquetage dip337o-uri.tgz et ne s'applique vraisemblablement pas � d'autres versions de dip.
dip poss�de un mode de traitement des donn�es d'entr�e qui permet de localiser automatiquement un utilisateur entrant et qui configure la ligne s�rie comme lien SLIP suivant les informations trouv�es dans le fichier /etc/diphosts. Ce mode est activ� en invoquant dip avec diplogin. Voil� donc comment utiliser dip comme serveur SLIP, en cr�ant des comptes sp�ciaux o� diplogin est utilis� comme shell de connexion.
La premi�re chose � faire est de cr�er un lien symbolique comme suit :
# ln -sf /usr/sbin/dip /usr/sbin/diplogin |
Ensuite vous devez ajouter des entr�es � la fois dans vos fichiers /etc/passwd et /etc/diphosts. Les entr�es que vous devez y mettre sont format�es comme suit :
Pour configurer Linux comme serveur SLIP avec dip, vous devez cr�er quelques comptes SLIP sp�ciaux pour les utilisateurs, o� dip (en mode d'entr�e) est utilis� comme shell de connexion. Une convention sugg�r�e est d'avoir tous les comptes SLIP commen�ant avec la lettre `S' majuscule, par exemple `Sfredm'.
Un exemple d'entr�e dans /etc/passwd pour un utilisateur SLIP ressemble � ceci :
Sfredm:ij/SMxiTlGVCo:1004:10:Fred:/tmp:/usr/sbin/diplogin ^^ ^^ ^^ ^^ ^^ ^^ ^^ | | | | | | \_ _ diplogin comme shell de connexion | | | | | \_ _ _ _ R�pertoire personnel | | | | \_ _ _ _ _ _ _ Nom complet d'utilisateur | | | \_ _ _ _ _ _ _ _ _ GID | | \_ _ _ _ _ _ _ _ _ _ _ UID | \_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Mot de passe chiffr� \_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Nom de connexion Slip |
Apr�s la connexion de l'utilisateur, le programme login (s'il trouve et accepte l'utilisateur) ex�cute la commande diplogin. dip, lorsqu'il est invoqu� en tant que diplogin sait qu'il sera automatiquement utilis� comme shell de connexion. Quand il est d�marr� comme diplogin la premi�re chose qu'il fait est d'utiliser l'appel de la fonction getuid() pour obtenir l'identificateur de l'utilisateur appelant. Il regarde ensuite dans le fichier /etc/diphosts pour trouver la premi�re entr�e qui corresponde soit � l'utilisateur soit au p�riph�rique tty o� l'appel est entr� et se configure lui-m�me de mani�re appropri�e. Par un choix judicieux : soit de donner � l'utilisateur une entr�e dans le fichier diphosts, soit de laisser � l'utilisateur la configuration par d�faut, vous pouvez construire votre serveur de telle mani�re que vous puissiez faire cohabiter des utilisateurs ayant des adresses allou�es statiquement ou dynamiquement.
dip ajoutera automatiquement une entr�e `Proxy-ARP' si elle est invoqu�e en mode d'entr�e, aussi vous n'avez pas � vous soucier d'ajouter de telles entr�es manuellement.
/etc/diphosts est utilis� par dip pour examiner des configurations pr��tablies concernant des h�tes �loign�s. Ceux-ci peuvent �tre des h�tes se connectant sur votre machine, ou bien des machines sur lesquelles vous vous connectez.
Le format g�n�ral de /etc/diphosts est :
.. Suwalt::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006 ttyS1::145.71.34.3:145.71.34.2:255.255.255.0:Dynamic ttyS1:CSLIP,296 .. |
Les champs sont :
nom de connexion : comme retourn� par getpwuid(getuid()) ou bien le nom de tty.
inutilis� : pour compatibilit� avec passwd
Adresse distante : adresse IP de l'appelant, soit num�rique soit nominative
Adresse locale : adresse IP de cette machine, soit num�rique soit nominative.
Masque de r�seau : en notation d�cimale point�e
Commentaires : vous y mettez ce que vous voulez.
protocole : Slip, CSlip, etc.
MTU : nombre d�cimal
Un exemple d'entr�e /etc/net/diphosts pour un h�te distant peut �tre :
Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:SLIP,296 |
qui sp�cifie une liaison SLIP avec une adresse distante de 145.71.34.1 et un MTU de 296, ou :
Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006 |
qui sp�cifie une liaison compatible cSLIP avec une adresse distante de 145.71.34.1 et un MTU de 1006.
D�s lors, tous les utilisateurs � qui vous permettez d'avoir une connexion avec allocation d'adresse IP statique auront une entr�e dans /etc/diphosts. Si vous voulez que des utilisateurs qui appellent sur un port particulier aient leur adresse allou�e dynamiquement, vous devez avoir une entr�e pour le p�riph�rique tty, mais pas d'entr�e pour l'utilisateur lui-m�me. Vous devez vous souvenir de configurer au moins une entr�e pour chaque p�riph�rique tty que vos utilisateurs entrants utiliseront pour �tre s�rs qu'une configuration ad�quate soit disponible, ind�pendamment du modem sur lequel ils se connectent.
Quand un utilisateur se connecte, il recevra une invite normal de login et une demande de mot de passe, pour lesquels il devra entrer son identificateur SLIP et son mot de passe. Si tout est correct, l'utilisateur ne verra pas de message sp�cial, il devra juste basculer en mode SLIP chez lui et ensuite il sera connect� et configur� avec les param�tres contenus dans le fichier diphosts.
Matt Dillon <dillon@apollo.west.oic.com> a �crit un paquetage qui permet des liaisons SLIP non seulement entrantes mais aussi sortantes. Le paquetage de Matt est une combinaison de petits programmes et de scripts qui prennent en charge les connexions � votre place. Vous aurez besoin de tcsh car au moins l'un des scripts en a besoin. Matt fournit une copie binaire de l'utilitaire expect car il est aussi n�cessaire pour l'un des scripts. Il serait pr�f�rable d'avoir une certaine exp�rience de expect pour que ce paquetage soit utile pour vous, mais que cela ne vous d�courage pas.
Matt a �crit une bonne proc�dure d'installation dans le fichier README, aussi je ne me fatiguerai pas � la r�p�ter.
Vous pouvez r�cup�rer le paquetage dSLIP sur son site d'origine :
apollo.west.oic.com
/pub/linux/dillon_src/dSLIP203.tgz |
ou bien sur :
metalab.unc.edu
/pub/Linux/system/Network/serial/dSLIP203.tgz |
Lisez le fichier README et cr�ez les entr�es /etc/passwd et /etc/group avant de faire make install.
Les paragraphes suivants traitent de sujets sp�cifiques concernant des technologies li�es au r�seau. Les informations qui y sont contenues ne s'appliquent pas forc�ment aux autres types de technologies r�seau. Les sujets sont trait�s par ordre alphab�tique.
Les noms de fichier p�riph�riques de ARCNet sont `arc0e', `arc1e', `arc2e' ... ou bien `arc0s', `arc1s', `arc2s', etc. La premi�re carte d�tect�e par le noyau devient `arc0e' ou `arc0s' et les autres sont nomm�es en suivant dans l'ordre de leur d�tection. La lettre finale d�pend de votre choix : soit un format d'encapsulation de paquets Ethernet, soit un format de paquets suivant RFC1051.
Options de compilation du noyau :
Network device support ---> [*] Network device support <*> ARCnet support [ ] Enable arc0e (ARCnet "Ether-Encap" packet format) [ ] Enable arc0s (ARCnet RFC1051 packet format) |
Si vous avez construit convenablement votre noyau pour supporter votre carte Ethernet, alors la configuration de la carte est facile.
Typiquement vous devriez utiliser quelque chose comme ceci :
root# ifconfig arc0e 192.168.0.1 netmask 255.255.255.0 up root# route add -net 192.168.0.0 netmask 255.255.255.0 arc0e |
Merci de vous r�f�rer aux documents /usr/src/linux/Documentation/networking/arcnet.txt et /usr/src/linux/Documentation/networking/arcnet-hardware.txt pour d'autres informations.
Le support ARCNet fut d�velopp� par Avery Pennarun, apenwarr@foxnet.net. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
Le support Appletalk ne poss�de pas de noms de p�riph�riques sp�cifiques car il utilise les p�riph�riques r�seau existants.
Options de compilation noyau :
Networking options ---> <*> Appletalk DDP |
Le support Appletalk permet � votre machine Linux de dialoguer avec les r�seaux Apple. Son utilisation principale est de pouvoir partager des ressources, comme les imprimantes et les disques, entre vos ordinateurs Linux et Apple. Un logiciel suppl�mentaire est requis, il s'appelle netatalk. Wesley Craig netatalk@umich.edu repr�sente une �quipe appel�e le `Research Systems Unix Group' � l'universit� du Michigan. Celle-ci a �labor� le paquetage netatalk, qui fournit un logiciel impl�mentant la pile protocole Appletalk et quelques utilitaires. Soit ce paquetage netatalk vous a �t� fourni avec votre distribution Linux, soit vous pouvez le r�cup�rer par ftp depuis le site University of Michigan
Pour construire et installer le paquetage, vous faites :
user% tar xvfz .../netatalk-1.4b2.tar.Z user% make root# make install |
Vous pouvez �diter le fichier `Makefile' avant de faire appel � make, plus pr�cis�ment pour changer la valeur de la variable DESTDIR qui d�finit l'endroit o� les fichiers seront install�s plus tard. Le r�pertoire par d�faut, /usr/local/atalk, semble tr�s raisonnable.
La premi�re chose � faire pour que tout fonctionne est de v�rifier que les entr�es ad�quates sont pr�sentes dans le fichier /etc/services. Ces entr�es sont :
rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol |
L'�tape suivante consiste � cr�er les fichiers de configuration Appletalk dans le r�pertoire /usr/local/atalk/etc (ou bien � l'endroit o� vous avez install� le paquetage).
Le premier fichier � cr�er est /usr/local/atalk/etc/atalkd.conf. Initialement ce fichier ne n�cessite qu'une ligne qui indique le p�riph�rique supportant le r�seau sur lequel sont vos machines Apple :
eth0 |
Le programme d�mon Appletalk ajoutera d'autres d�tails quand il tournera.
Vous pouvez exporter des syst�mes de fichiers depuis votre machine Linux vers le r�seau en sorte qu'une machine Apple puisse les partager.
Pour cela vous devez configurer le fichier /usr/local/atalk/etc/AppleVolumes.system. Il y a une autre fichier de configuration appel� /usr/local/atalk/etc/AppleVolumes.default qui a exactement le m�me format et qui d�crit quels syst�mes de fichiers les utilisateurs connect�s pourront recevoir avec des privil�ges d'invit�s.
Tous les d�tails, qui vous diront comment configurer ces fichiers et avec quelles options, peuvent �tre trouv�s dans la page de manuel de afpd.
Un simple exemple :
/tmp Scratch /home/ftp/pub "Public Area" |
Ce qui exportera votre syst�me de fichiers /tmp comme volume AppleShare `Scratch' et votre r�pertoire public ftp comme volume AppleShare `Public Area'. Les noms de volume ne sont pas obligatoires, le programme d�mon pouvant les choisir pour vous, mais �a ne co�te rien de les sp�cifier quand m�me.
Partager votre imprimante Linux avec vos machines Apple est tr�s simple. Vous devez faire tourner le programme papd qui est le d�mon protocole d'acc�s aux imprimantes de Appletalk. Lorsque vous faites tourner ce programme il acceptera les requ�tes �manant de vos machines Apple et spoulera le travail d'impression vers votre d�mon local d'impression.
Vous devrez �diter le fichier /usr/local/atalk/etc/papd.conf pour configurer le d�mon. La syntaxe de ce fichier est la m�me que le fichier habituel /etc/printcap. Le nom que vous donnez � la d�finition de l'imprimante doit �tre conforme au protocole de d�signation Appletalk, NBP.
Un exemple de configuration ressemble � ceci :
TricWriter:\ :pr=lp:op=cg: |
Ce qui fera une imprimante nomm�e `TricWriter' disponible pour le r�seau Appletalk et tous les travaux accept�s seront imprim�s sur l'imprimante linux `lp' (telle que d�finie dans le fichier /etc/printcap) utilisant lpd. L'entr�e `op=cg' indique que l'utilisateur linux `cg' est l'op�rateur de l'imprimante.
Bon, vous devriez �tre pr�ts pour essayer cette configuration de base. Le fichier rc.atalk fourni avec le paquetage netatalk devrait vous convenir, alors vous faites ceci :
# /usr/local/atalk/etc/rc.atalk |
et tout devrait d�marrer et tourner sans probl�mes. Vous ne devriez voir aucun message d'erreurs et le programme devrait vous envoyer des messages sur la console indiquant chaque �tape qui d�marre.
Pour tester si le programme fonctionne correctement, allez sur une des machines Apple, d�roulez le menu Pomme, cliquez sur AppleShare, et votre bo�te Linux devrait appara�tre.
Vous aurez peut-�tre besoin de d�marrer votre support Appletalk avant de configurer votre r�seau IP. Si vous avez des probl�mes pour d�marrer vos programmes Appletalk, ou si apr�s les avoir d�marr�s vous avez des ennuis avec votre r�seau IP, essayez alors de mettre en route votre programme Appletalk avant de faire d�marrer /etc/rc.d/rc.inet1.
Le d�mon afpd (Apple Filing Protocol Daemon) SECOUE S�V�REMENT VOTRE DISQUE DUR. Derri�re les points de montage il cr�e deux r�pertoires appel�s .AppleDesktop et Network Trash Folder. Ensuite, pour chaque r�pertoire auquel vous acc�dez il cr�e un sous-r�pertoire .AppleDouble pour pouvoir stocker des fichiers de ressource, etc. R�fl�chissez bien avant d'exporter /, vous aurez besoin de pas mal de temps pour tout nettoyer.
Le programme afpd attend des mots de passe en clair venant des Macs. La s�curit� pouvant �tre un probl�me, soyez donc attentifs lors de l'utilisation de ce d�mon sur une machine connect�e sur l'Internet et ne vous en prenez qu'� vous-m�me si quelqu'un de mal intentionn� vous fait des mis�res.
Les outils de diagnostic existants tels que netstat et ifconfig ne supportent pas Appletalk. Les informations peuvent �tre trouv�es dans le r�pertoire /proc/net/ si vous en avez besoin.
Pour en savoir plus sur la configuration de Appletalk pour Linux, r�f�rez vous � la page de Anders Brownworth Linux Netatalk-HOWTO disponible � l'url thehamptons.com.
Werner Almesberger <werner.almesberger@lrc.di.epfl.ch> dirige un projet en vue de fournir un support Mode de Transfert Asynchrone (Asynchronous Transfer Mode) pour Linux. Les informations sur l'�tat du projet se trouvent sur : lrcwww.epfl.ch.
Les noms de p�riph�riques AX.25 sont `sl0', `sl1', etc. avec les noyaux 2.0.* ou `ax0', `ax1', etc. avec les noyaux 2.1.*.
Options de compilation du noyau :
Networking options ---> [*] Amateur Radio AX.25 Level 2 |
Les protocoles AX25, Netrom et Rose sont couverts par le document AX25-HOWTO. Ces protocoles sont utilis�s par les radio-amateurs du monde entier pour l'exp�rimentation packet-radio.
L'essentiel du travail d'impl�mentation de ces protocoles a �t� r�alis� par Jonathon Naylor, jsn@cs.nott.ac.uk.
Le support pour DECNet est en cours d'�laboration. Vous devriez le voir apparaitre dans l'un des prochains noyaux 2.1.*. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
Les noms de p�riph�riques FDDI sont `fddi0', `fddi1', `fddi2' etc. La premi�re carte d�tect�e par le noyau s'appelle `fddi0' et le reste est nomm� dans l'ordre de d�tection.
Larry Stefani, lstefani@ultranet.com, a d�velopp� un gestionnaire pour les cartes Digital Equipment Corporation FDDI EISA et PCI.
Options de compilation noyau :
Network device support ---> [*] FDDI driver support [*] Digital DEFEA and DEFPA adapter support |
Lorsque vous avez construit et install� votre noyau pour supporter le gestionnaire FDDI, la configuration de l'interface FDDI est presque identique � celle d'une interface Ethernet. Vous devez sp�cifier le nom de l'interface FDDI appropri�e dans les commandes ifconfig et route.
Les noms de p�riph�riques de `relais de trames' sont `dlci00', `dlci01' etc pour les syst�mes d'encapsulation DLCI et `sdla0', `sdla1' etc pour les FRAD(s) (Frame Relay Access Device).
Le relais de trames est une nouvelle technologie r�seau con�ue pour s'adapter au trafic de transmission de donn�es `par � coups' ou de nature intermittente. Vous vous connectez � un r�seau de ce type en utilisant un dispositif d'acc�s par relais de trames (FRAD). Les supports Linux relais de trames supportent IP par-dessus celui-ci comme d�crit dans la RFC-1490.
Options de compilation noyau :
Network device support ---> <*> Frame relay DLCI support (EXPERIMENTAL) (24) Max open DLCI (8) Max DLCI per device <*> SDLA (Sangoma S502/S508) support |
Mike McLagan, mike.mclagan@linux.org, a d�velopp� le support Frame Relay et les outils de configuration.
� l'heure actuelle le seul FRAD support� est, � ma connaissance, Sangoma Technologies S502A, S502E et S508. et Emerging Technologies. Leur site se trouve sur ici.
Je voudrais dire quelquechose. J'ai une exp�rience personnelle avec Emerging Technologies et je vous les recommande pas. Je les ai trouv�s absolument pas professionnels et tr�s grossiers. Si quelqu'un d'autre a eu une bonne exp�rience avec eux, faites le moi savoir. A leur d�charge, leur produit est souple d'utilisation et para�t stable.
Pour configurer les syst�mes FRAD et DLCI apr�s avoir reconstruit votre noyau, vous aurez besoin des outils de configuration. Ils sont disponibles sur ftp.invlogic.com.
Compiler et installer les outils est tr�s facile, mais le manque de fichier Makefile au premier niveau oblige � le faire � la main :
user% tar xvfz .../frad-0.15.tgz user% cd frad-0.15 user% for i in common dlci frad; make -C $i clean; make -C $i; done root# mkdir /etc/frad root# install -m 644 -o root -g root bin/*.sfm /etc/frad root# install -m 700 -o root -g root frad/fradcfg /sbin root# install -m 700 -o root -g root dlci/dlcicfg /sbin |
Notez que ces commandes utilisent la syntaxe du shell sh, et si vous utilisez csh (comme tcsh), la boucle for sera diff�rente.
Apr�s l'installation vous devez cr�er un fichier /etc/frad/router.conf Vous pouvez utiliser cet exemple, qui est une version modifi�e de l'un des fichiers donn� en exemple :
# /etc/frad/router.conf # C'est un mod�le de configuration pour relais de trames. # Tout y est inclus. Les valeurs par d�faut sont fond�es sur le code # fourni avec les gestionnaires DOS de la carte Sangoma S502A. # # Une ligne avec '#' est un commentaire # Les blancs sont ignor�s (vous pouvez utiliser des tabulations aussi). # Les sections [] inconnues et les entr�es inconnues sont ignor�es. # [Devices] Count=1 # nombre de p�riph�riques � configurer Dev_1=sdla0 # nom d'un p�riph�rique #Dev_2=sdla1 # nom d'un p�riph�rique # Ce qui est sp�cifie ici s'applique � tous les p�riph�riques, et peut �tre # mis � jour pour chaque carte individuelle. # Access=CPE Clock=Internal KBaud=64 Flags=TX # # MTU=1500 # Taille maximum de l'unit� de transfert 4096 par d�faut # T391=10 # valeur de T391 5 - 30, 10 par d�faut # T392=15 # valeur de T392 5 - 30, 15 par d�faut # N391=6 # valeur de N391 1 - 255, 6 par d�faut # N392=3 # valeur de N392 1 - 10, 3 par d�faut # N393=4 # valeur de N393 1 - 10, 4 par d�faut # On sp�cifie ici les valeurs par d�faut pour toutes les cartes # CIRfwd=16 # CIR forward 1 - 64 # Bc_fwd=16 # Bc forward 1 - 512 # Be_fwd=0 # Be forward 0 - 511 # CIRbak=16 # CIR backward 1 - 64 # Bc_bak=16 # Bc backward 1 - 512 # Be_bak=0 # Be backward 0 - 511 # # # Configurations sp�cifiques # # # # Sangoma S502E # [sdla0] Type=Sangoma # Type de p�riph�rique � configurer, actuellement seul # SANGOMA est reconnu # # Sp�cifique des types 'Sangoma' # # cartes S502A, S502E, S508 Board=S502E # # Le nom du logiciel de carte en essai pour Sangoma # Testware=/usr/src/frad-0.10/bin/sdla_tst.502 # # Le nom du logiciel de carte FR # Firmware=/usr/src/frad-0.10/bin/frm_rel.502 # Port=360 # Port pour cette carte particuli�re Mem=C8 # Adresse de fen�tre m�moire, A0-EE, d�pend de la carte IRQ=5 # num�ro d'IRQ, pas n�cessaire pour S502A DLCIs=1 # Nombre de DLCI attach�s � ce p�riph�rique DLCI_1=16 # num�ro du premier DLCI, de 16 � 991 # DLCI_2=17 # DLCI_3=18 # DLCI_4=19 # DLCI_5=20 # # Ce qui est sp�cifie ici s'applique au p�riph�rique seulement, # et remplace les valeurs par d�faut # # Access=CPE # CPE ou NODE, CPE par d�faut # Flags=TXIgnore,RXIgnore,BufferFrames,DropAborted,Stats,MCI,AutoDLCI # Clock=Internal # Externe ou Interne, Interne par d�faut # Baud=128 # D�bit sp�cifi� du CSU/DSU attach� # MTU=2048 # Taille maximum de l'unit� de transfert 4096 par d�faut # T391=10 # valeur de T391 5 - 30, 10 par d�faut # T392=15 # valeur de T392 5 - 30, 15 par d�faut # N391=6 # valeur de N391 1 - 255, 6 par d�faut # N392=3 # valeur de N392 1 - 10, 3 par d�faut # N393=4 # valeur de N393 1 - 10, 4 par d�faut # # Le second periph�rique est une autre carte # # [sdla1] # Type=FancyCard # Type de p�riph�rique � configurer. # Board= # Type de carte Sangoma # Key=Value # valeurs sp�cifiques pour ce type de p�riph�rique # # Param�tres de configuration DLCI par d�faut. # Peuvent �tre �cras�s par des configurations sp�cifiques # CIRfwd=64 # CIR forward 1 - 64 # Bc_fwd=16 # Bc forward 1 - 512 # Be_fwd=0 # Be forward 0 - 511 # CIRbak=16 # CIR backward 1 - 64 # Bc_bak=16 # Bc backward 1 - 512 # Be_bak=0 # Be backward 0 - 511 # # Configuration DLCI # Optionnel. La convention d'appellation est # [DLCI_D<devicenum>_<DLCI_Num>] # [DLCI_D1_16] # IP= # Net= # Mask= # Drapeaux d�finis par Sangoma: TXIgnore,RXIgnore,BufferFrames # DLCIFlags=TXIgnore,RXIgnore,BufferFrames # CIRfwd=64 # Bc_fwd=512 # Be_fwd=0 # CIRbak=64 # Bc_bak=512 # Be_bak=0 [DLCI_D2_16] # IP= # Net= # Mask= # Drapeaux d�finis par Sangoma: TXIgnore,RXIgnore,BufferFrames # DLCIFlags=TXIgnore,RXIgnore,BufferFrames # CIRfwd=16 # Bc_fwd=16 # Be_fwd=0 # CIRbak=16 # Bc_bak=16 # Be_bak=0 |
Lorsque vous avez construit votre fichier /etc/frad/router.conf, la seule �tape restante est de configurer les p�riph�riques eux-m�mes. C'est un tout petit peu plus compliqu� que la configuration normale d'un p�riph�rique r�seau; vous devez vous souvenir de monter le p�riph�rique FRAD avant les p�riph�riques d'encapsulation DLCI.
#!/bin/sh # Configure le materiel frad et les parametres DLCI /sbin/fradcfg /etc/frad/router.conf || exit 1 /sbin/dlcicfg file /etc/frad/router.conf # # Montage du dispositif FRAD ifconfig sdla0 up # # Configure les interfaces d'encapsulation DLCI et le routage ifconfig dlci00 192.168.10.1 pointopoint 192.168.10.2 up route add -net 192.168.10.0 netmask 255.255.255.0 dlci00 # ifconfig dlci01 192.168.11.1 pointopoint 192.168.11.2 up route add -net 192.168.11.0 netmask 255.255.255.0 dlci00 # route add default dev dlci00 # |
Le protocole IPX est la plupart du temps utilis� dans les environnements r�seaux locaux Novell NetWare(tm). Linux offre un support pour ce protocole, et peut �tre configur� pour agir comme extr�mit� r�seau, ou comme routeur pour les environnements r�seaux IPX.
Options de compilation du noyau :
Networking options ---i> [*] The IPX protocol [ ] Full internal IPX network |
Le protocole IPX et le NCPFS sont trait�s en d�tail dans le document IPX-HOWTO. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
Les noms de p�riph�riques NetRom sont `nr0', `nr1', etc.
Options de compilation du noyau :
Networking options ---> [*] Amateur Radio AX.25 Level 2 [*] Amateur Radio NET/ROM |
Les protocoles AX25, Netrom et Rose sont d�crits dans le document AX25-HOWTO. Ces protocoles sont utilis�s par les radio-amateurs dans le monde entier pour l'exp�rimentation du packet-radio.
L'essentiel du travail d'impl�mentation a �t� fait par Jonathon Naylor, jsn@cs.not.ac.uk. Ceci vous a int�ress�? Pourquoi ne pas donner 2,50 dollars?
Les noms de p�riph�riques Rose sont `rs0', `rs1', etc. . Rose est disponible dans la s�rie des noyaux 2.1.*.
Options de compilation du noyau :
Networking options ---> [*] Amateur Radio AX.25 Level 2 <*> Amateur Radio X.25 PLP (Rose) |
Les protocoles AX25, Netrom et Rose sont expliqu�s dans le AX25-HOWTO. Ces protocoles sont utilis�s par les op�rateurs radio-amateur du monde entier pour l'exp�rimentation du packet-radio.
L'essentiel du travail d'impl�mentation de ces protocoles a �t� r�alis� par Jonathon Naylor, jsn@cs.not.ac.uki.
SAMBA est une impl�mentation du protocole Session Management Block. Samba permet aux Syst�mes Microsoft et autres de monter et d'utiliser vos disques et imprimantes.
SAMBA et sa configuration sont d�crits en d�tail dans le SMB-HOWTO.
Les noms de p�riph�riques STRIP sont `st0', `st1', etc.
Options de compilation du noyau :
Network device support ---> [*] Network device support .... [*] Radio network interfaces < > STRIP (Metricom starmode radio IP) |
STRIP est un protocole con�u sp�cialement pour un certain type de modems radio Metricom dans le cadre d'un projet de recherche conduit par l'Universit� de Stanford appel� MosquitoNet Project. Il y a un tas de choses int�ressantes � lire, m�me si vous n'�tes pas directement concern� par le projet.
Les radios Metricom se connectent sur un port s�rie et emploient la technologie � large bande spectrale et peuvent aller jusqu'� 100kbps. Des informations sur ceux-ci sont disponibles sur : Le serveur web de Metricom.
� l'heure actuelle, les outils r�seau habituels ne supportent pas le gestionnaire STRIP, vous devez donc t�l�charger des outils personnalis�s � partir du serveur web MosquitoNet. Pour avoir des d�tails sur les logiciels � utiliser allez voir : MosquitoNet STRIP Page.
En r�sum� la configuration consiste � utiliser un programme slattach modifi� pour r�gler la discipline de ligne d'un p�riph�rique s�rie pour SLIP, puis � configurer le p�riph�rique `st[0-9]' r�sultant comme vous le feriez pour Ethernet avec une exception importante : pour des raisons techniques STRIP ne supporte pas le protocole ARP , vous devez alors configurer manuellement les entr�es ARP pour chacun des h�tes de votre sous-r�seau. Cela ne devrait pas �tre trop contraignant.
Le noms de p�riph�riques Token ring sont `tr0', `tr1' etc. Token Ring est un protocole LAN standard IBM en vue d'�viter les collisions en fournissant un m�canisme qui n'autorise qu'une seule station du LAN � transmettre � un moment donn�. Un `jeton' est d�tenu par une station � un moment donn�, et celle-ci est la seule autoris�e � �mettre. Lorque c'est fait, elle passe le jeton � la station suivante. Le jeton fait le tour de toutes les stations actives, d'o� le nom de `Token Ring' (anneau � jeton).
Options de compilation du noyau :
Network device support ---> [*] Network device support .... [*] Token Ring driver support < > IBM Tropic chipset based adaptor support |
La configuration de token ring est identique � celle de l'Ethernet � l'exception du nom de p�riph�rique r�seau � configurer.
X.25 est un protocole de circuit bas� sur la commutation de paquets d�fini par le C.C.I.T.T. (un groupe de normalisation reconnu par les compagnies de t�l�communications dans la plupart du monde). Une impl�mentation de X.25 et LAPB est en cours dans les noyaux r�cents 2.1.*.
Jonathon Naylor jsn@cs.nott.ac.uk dirige le d�veloppement et une liste de diffusion a �t� cr��e pour discuter des affaires relatives � X.25 pour Linux. Pour y souscrire, envoyez un message � : majordomo@vger.rutgers.edu avec le texte "subscribe linux-x25" dans le corps du message.
Les derni�res versions des outils de configuration peuvent �tre obtenues sur le site ftp de Jonathon � ftp.cs.nott.ac.uk.
Les noms de p�riph�riques Wavelan sont `eth0', `eth1', etc.
Options de compilation du noyau :
Network device support ---> [*] Network device support .... [*] Radio network interfaces .... <*> WaveLAN support |
La carte WaveLAN est une carte LAN sans-fil � large bande. Elle ressemble beaucoup en pratique � une carte Ethernet et se configure presque de la m�me mani�re.
Vous pouvez avoir des informations sur la carte Wavelan sur Wavelan.com.
Ceux qui sont habiles du fer � souder peuvent vouloir fabriquer leurs propres c�bles pour relier deux machines Linux. Les sch�mas de c�blage suivants pourront les y aider.
Tous les c�bles NULL modem ne se ressemblent pas. Une grosse partie d'entre eux ne font que faire croire � votre ordinateur que tous les signaux appropri�s sont pr�sents et �changent les donn�es de transmission et de r�ception. C'est bien, mais cela signifie que vous devez utiliser le contr�le de flux logiciel (XON/XOFF) qui est moins efficace que le contr�le de flux mat�riel. Le c�ble suivant donne la meilleure transmission de signal entre les deux machines et vous permet d'utiliser le contr�le de flux mat�riel (RTS/CTS).
Pin Name Pin Pin Tx Data 2 - - - - - - - - - - - - - - - -3 Rx Data 3 - - - - - - - - - - - - - - - -2 RTS 4 - - - - - - - - - - - - - - - -5 CTS 5 - - - - - - - - - - - - - - - -4 Ground 7 - - - - - - - - - - - - - - - -7 DTR 20 -\- - - - - - - - - - - - - - -8 DSR 6 -/ RLSD/DCD 8 - - - - - - - - - - - - - -/- 20 \- 6 |
Si vous avez l'intention d'utiliser le protocole PLIP entre deux machines alors ce c�ble vous conviendra ind�pendamment du type de port parall�le install�.
Pin Name pin pin STROBE 1* D0->ERROR 2 - - - - - - 15 D1->SLCT 3 - - - - - - 13 D2->PAPOUT 4 - - - - - - 12 D3->ACK 5 - - - - - - 10 D4->BUSY 6 - - - - - - 11 D5 7* D6 8* D7 9* ACK->D3 10 - - - - - - 5 BUSY->D4 11 - - - - - - 6 PAPOUT->D2 12 - - - - - - 4 SLCT->D1 13 - - - - - - 3 FEED 14* ERROR->D0 15 - - - - - - 2 INIT 16* SLCTIN 17* GROUND 25- - - - - - -25 |
Notes :
Ne pas connecter les broches marqu�es avec un ast�risque `*'.
Les masses suppl�mentaires sont 18,19,20,21,22,23 et 24.
Si le c�ble que vous utilisez poss�de un blindage, il doit �tre connect� � une des prises DB-25 et une seule extr�mit�.
Bien que l'on puisse utiliser des c�bles PLIP sur des longues distances, �vitez-le si possible. Les sp�cifications du c�ble permettent d'avoir une longueur d'environ 1 m�tre. Faites attention si vous utilisez de grandes longueurs, car les sources de champs magn�tiques �lev�s comme la foudre, les lignes de puissance et les �metteurs radio peuvent interf�rer et parfois endommager votre carte contr�leur. Si vous voulez vraiment connecter deux de vos ordinateurs sur une grande distance, utilisez plut�t des cartes Ethernet et un c�ble coaxial.
10base2 est un standard de c�blage Ethernet sp�cifiant l'utilisation d'un c�ble coaxial 50 ohms avec un diam�tre d'environ 5 mm. Il faut se souvenir d'un nombre important de r�gles quand on relie deux machines avec un c�blage 10base2. La premi�re est que vous devez utiliser des terminaisons � chaque extr�mit� du c�ble. Un terminateur est une r�sistance de 50 ohms qui sert � s'assurer que le signal est absorb� et non r�fl�chi � l'extr�mit� du c�ble. Sans terminaison � chaque extr�mit� vous pourriez trouver que l'Ethernet n'est pas fiable ou ne marche pas du tout. Normalement vous utilisez des `T' pour interconnecter les machines, en sorte que vous finirez par avoir quelque chose qui ressemble � ceci :
|==========T=============T=============T==========T==========| | | | | | | | | - - - - - - - - - - - - | | | | | | | | - - - - - - - - - - - - |
Les `|' � chaque extr�mit� repr�sentent une terminaison, les `======' repr�sentent une longueur de c�ble coaxial avec des prises BNC en bout et les `T' repr�sentent un connecteur en `T'. Gardez la longueur de c�ble entre les connecteurs en `T' et les cartes Ethernet aussi courte que possible, l'id�al �tant que ces connecteurs soient branch�s directement sur la carte Ethernet.
Si vous n'avez que deux cartes Ethernet avec paires torsad�es et que vous voulez les relier, vous n'avez pas besoin de r�partiteur. Vous pouvez c�bler les deux cartes directement ensemble. Un sch�ma montrant comment faire est inclus dans le document Ethernet-HOWTO
Ci-dessous une liste des termes les plus importants utilis�s dans ce document.
C'est l'acronyme de Address Resolution Protocol (protocole de r�solution d'adresses), permettant � une machine du r�seau d'associer une adresse IP � une adresse mat�rielle.
C'est l'acronyme de Asynchronous Transfer Mode (mode de transfert asynchrone). Un r�seau ATM enveloppe les donn�es en blocs de taille standard pour pouvoir les convoyer efficacement d'un point � un autre. ATM est une technologie r�seau � commutation de paquets.
C'est habituellement le morceau de logiciel d'un syst�me du c�t� o� se trouve l'utilisateur. Il y a des exceptions, par exemple, dans le syst�me de fen�tres X11 c'est en fait le serveur qui est avec l'utilisateur et le client qui est sur la machine distante. Le client est le programme ou l'extr�mit� d'un syst�me qui utilise le service fourni par un serveur. Dans le cas de syst�mes d'�gal � �gal tels que slip ou ppp le client se trouve � l'extr�mit� qui a initialis� la connexion, l'autre extr�mit�, �tant consid�r�e comme le serveur.
Un datagramme est un paquet discret de donn�es qui contient les adresses, et qui est l'unit� de base de transmission sur un r�seau IP. On peut aussi l'appeler `paquet'.
DLCI veut dire `Data Link Connection Identifier'(identifieur de connexion de liaison de donn�es), et est utilis� pour identifier une liaison virtuelle unique point � point via un r�seau � relais de trames (Frame Relay). Les DLCI sont normalement assign�s par le fournisseur de r�seau � relais de trames.
Frame Relay (Relais de trames) est une technologie r�seau id�ale lorsque l'on a un trafic de nature cahotique ou sporadique. Les co�ts peuvent �tre r�duits quand on a de nombreux clients partageant la m�me capacit� r�seau et on compte sur le fait que les clients utilisent le r�seau � des instants diff�rents.
C'est un nombre qui identifie de mani�re unique un h�te sur un r�seau physique au niveau de la couche acc�s. Par exemple : Adresses Ethernet et Adresses AX.25.
C'est l'acronyme de Integrated Services Digital Network(R�seau Num�rique � Int�gration de Services=RNIS). Il fournit des moyens standardis�s avec lesquels les compagnies de t�l�communications peuvent d�livrer soit de la voix soit des informations vers des clients. Techniquement c'est un r�seau de donn�es � commutation de paquets.
C'est l'acronyme de `Internet Service Provider' (fournisseur d'acc�s � l'Internet=FAI). Ce sont des organisations ou des soci�t�s qui fournissent une connexion r�seau � l'Internet au public.
C'est un nombre qui identifie de mani�re unique un h�te TCP/IP sur le r�seau. Cette adresse est cod�e sur 4 octets et se pr�sente habituellement sous la forme appel�e "notation d�cimale point�e", o� chaque octet est sous forme d�cimale, avec un point `.' entre chaque.
Le Maximum Segment Size (MSS) (Taille Maximum de Segment) est la plus grande quantit� de donn�es qui peut �tre transmise en une seule fois. Si vous voulez �viter des fragmentations MSS doit �tre �gal � l'en-t�te MTU-IP.
Le Maximum Transmission Unit (MTU) (taille maximum de l'unit� de transfert) est un param�tre qui d�termine le plus long datagramme pouvant �tre transmis par une interface IP sans avoir besoin d'�tre fragment� en unit�s plus petites. Le MTU doit �tre plus grand que le datagramme le plus grand que vous voulez transmettre sans �tre fragment�. Note : ceci prot�ge de la fragmentation uniquement de mani�re locale, d'autres liens sur le chemin peuvent avoir un MTU plus petit et les datagrammes seront fragment�s � cet endroit. Les valeurs typiques sont de 1500 octets pour une interface Ethernet, ou de 576 octets pour une interface SLIP.
La route est le chemin que les datagrammes suivent � travers le r�seau pour atteindre leur destination.
C'est habituellement le morceau de logiciel ou l'extr�mit� d'un syst�me �loign� de l'utilisateur. Le serveur fournit un service vers un ou plusieurs clients. Des exemples de serveurs sont ftp, Networked File System (NFS), ou Domain Name Server (DNS). Dans le cas de syst�mes �gal � �gal comme SLIP ou PPP le serveur est consid�r� comme �tant l'extr�mit� de la liaison qui est appel�e et l'extr�mit� appeleante est le client.
La fen�tre (window) est la plus grande quantit� de donn�es que l'extr�mit� r�ceptrice peut accepter � un certain moment.
Information de copyright
Les documents NET-3/4-HOWTO,NET-3 et Networking-HOWTO donnent des informations concernant l'installation et la configuration du support r�seau pour Linux. Copyright (c) 1997 Terry Dawson, 1998 Alessandro Rubini, 1999 & 2000 Joshua D. Drake {POET}/CommandPrompt, Inc - http://www.linuxports.com
Celui-ci est libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publi�e par la Free Software Foundation ; soit avec la version 2 de la license, soit (� votre guise) avec une version ult�rieure. Ce document est distribu� avec l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; ni m�me la garantie implicite de COMMERCIALISATION ou D'ADAPTATION DANS UN BUT PARTICULIER. Voir la GNU General Public License pour plus de d�tails. Vous devriez recevoir une copie de la GNU General Public License avec ce document ; si ce n'est pas le cas, �crivez � : Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Note du traducteur
Voir les autres HOWTO traduits en fran�ais. Lire �galement le livre �Administration r�seau sous Linux, �ditions O'Reilly�. Enfin voyez le site www.linux-france.com o� vous trouverez de tr�s bons articles d�crivant en d�tail diff�rents points �voqu�s dans ce document.