Page suivante Page précédente Table des matières
9. Configurer votre machine Linux en serveur NCP
Il existe deux distributions permettant à Linux de fournir les fonctions d'un serveur de fichiers Novell. Toutes deux permettent de partager des fichiers de la machine Linux entre les utilisateurs utilisant un client Novell Netware. Les utilisateurs peuvent relier et utiliser des systèmes de fichiers Novell comme des volumes locaux à leurs machines comme s'ils provenaient d'un serveur de fichiers Novell. Je vous propose d'essayer les deux paquetages afin de voir celui qui correspond le plus à vos objectifs.
9.1 L'ensemble mars_nwe
Martin Stover
<mstover@freeway.de>a développé mars_nwe pour permettre à Linux de fournir des services fichiers et impression pour des clients Netware.mars_nwe signifie "Martin Stovers Netware Emulator".
Possibilités offertes par mars_nwe
mars_nwe fournit un sous-ensemble de la spécification Novell NCP pour les services fichiers, pour les connexions aux disques et aussi pour les services d'impressions. Il est probable qu'il contienne des bogues.
Acquérir mars_nwe
Vous pouvez récupérer mars_nwe à l'adresse linux01.gwdg.de. La version à jour lors de l'écriture de ce document est :
mars_nwe-0.96.pl2.tgz.
Compiler l'ensemble mars_nwe
- Compilez un noyau Linux supportant les appels Ethernet et IPX.
Dans la version
1.2.13du noyau, vous devrez juste vérifier que vous avez répondu oui (Yà 'The IPX Protocol' comme suit :... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ...Pour les noyaux plus récents, un procédé similaire est utilisé lors de la construction du noyau. La question posée peut légèrement changer.Assurez-vous aussi d'un choix approprié pour votre carte ethernet. Si vous ne savez pas comment procéder, je vous conseille de lire l'Ethernet-HOWTO. Ethernet-HOWTO.
Vous pouvez maintenant procéder à la compilation de votre noyau. Une fois cette étape finie, n'oubliez pas de lancer lilo afin d'installer le nouveau noyau.
- Décompressez le paquetage mars_nwe.
# cd /usr/src # tar xvfz mars_nwe-0.96.pl2.tgz
- Installer mars_nwe.
Cette opération est très simple. En premier lieu, éditez et modifiez le fichier
config.hsi nécessaire. Il vous permet de configurer certains point tels que le répertoire d'installation, le nombre maximum de sessions et de volumes que le serveur pourra supporter. Une fois ceci terminé tapez:# make # make install
Ces commandes compileront les différents serveurs et les installeront dans un répertoire approprié. Le fichier script d'installation installe aussi le fichier de configuration
/etc/nwserv.conf.
- Configuration du serveur.
Celle-ci est simple. Il faut éditer le fichier
/etc/nwserv.conf. Le format de ce fichier peut vous sembler assez flou à un premier abord, mais il est en fait bel et bien ordonné. Chaque ligne de ce fichier correspond à un point de configuration. Chacune de ces lignes est terminée par le caractère espace et débute par un nombre. Chaque caractère précédé du caractère '#' est considéré comme étant un commentaire et de ce fait est ignoré. Martin fournit un fichier d'exemple de configuration dans son paquetage, cependant, je vous donne ce que je considère comme étant une version simplifiée de ce fichier, et ce, afin que vous puissiez mieux le comprendre.# VOLUMES (max. 5) # Seul le volume SYS est obligatoire. Le repertoire contenant le volume # SYS doit contenir les repertoires: LOGIN, PUBLIC, SYSTEM, MAIL. # L'option 'k' convertit toutes les requetes de nom de fichier # en minuscules # Par defaut ils sont en majuscules. # Syntaxe: # 1 <Nom du volume> <Chemin du volume> <Options> 1 SYS /home/netware/SYS/ # SYS 1 DATA /home/netware/DATA/ # DATA # Nom du serveur # Si cette option n'est pas mise le nom du serveur linux sera converti # en majuscule et utilise # Syntaxe: # 2 <Nom du serveur> 2 LINUX_FS01 # NUMERO DE RESEAU INTERNE (pas encore implementee) # Syntaxe: # 3 <adresse interne du reseau> [<Numero de noeud>] # PERIPHERIQUES RESEAU # Cette option configure votre reseau IPX. Si votre reseau IPX est deja # configure, vous n'en aurez pas besoin. # Syntaxe # 4 <Numero de reseau IPX> <Nom de peripheriques> <Type de standard> [<ticks>] # Types de standards : ethernet_ii, 802.2, 802.3, SNAP 4 0x39a01010 eth0 802.3 1 # SAUVEGARDE DES ROUTES IPX APRES EXTINCTION DU SERVEUR. # Syntaxe: # 5 <drapeau> # 0 = ne pas sauver les routes, 1 = sauver les routes. 5 0 # VERSION DE NETWARE # Syntaxe: # 6 <version> # 0 = 2.15, 1 = 3.11 6 0 # DROITS MINIMUM EN FONCTION DES GID ET UID # Les permissions qui sont appliquees lors de rattachements sans login # Syntaxe: # 10 <gid> # 11 <uid> # <gid> <uid> sont ceux donnees dans /etc/passwd et /etc/groups 10 200 11 201 # Mot de passe du SUPERVISOR # Doit etre enleve une fois le serveur demarre. Le serveur encryptera cette # information dans le fichier de liaison apres son lancement. # Syntaxe: # 12 <Login du supervisor> <Nom d'utilisateur UNIX> [<mot de passe>] 12 SUPERVISOR root secret # COMPTE DES UTILISATEURS # Permet d'associer les comptes NETWARE aux comptes UNIX. Les mots de # passe sont en option. # Syntaxe: 13 <Login utilisateur> <Nom d'utilisateur UNIX> [<mot de passe>] 13 TERRY terry 13 MAR mar # QUEUES D'IMPRESSION # Permet d'associer des imprimantes Netware a des imprimantes UNIX.Les # repertoire de queues d'impression doivent etre creees manuellement # avant de permettre toute impression. # Syntaxe: # 21 <Nome de queue> <repertoire de queue> <commande d'impression UNIX> 21 EPSON SYS:/PRINT/EPSON lpr -h 21 LASER SYS:/PRINT/LASER lpr -Plaser # DRAPEAUX DE DEBOGUAGE # Syntax: # <point de deboguage> <drapeau de deboguage> # # 100 = IPX KERNEL # 101 = NWSERV # 102 = NCPSERV # 103 = NWCONN # 104 = use NWCLIENT # 0 = supprime le deboguage, 1 = active le deboguage 100 0 101 0 102 0 103 0 104 0 # LANCE LE SERVEUR NETWARE EN TACHE DE FOND ET UTILISER UN FICHIER DE LOG # Syntaxe: # 200 <drapeau> # 0 = Lance NWSERV en avant plan et pas de fichier de log # 1 = Lance NWSERV tache de fond et utiliser le fichier de log 200 1 # NOM DU FICHIER DE LOG # Syntaxe: # 201 <Fichier de log> 201 /tmp/nw.log # ENRICHIR OU REECRIRE LE FICHIER DE LOG # Syntaxe: # 202 <drapeau> # 0 = enrichir le fichier de log existant # 1 = reecrire le fichier de log existant 202 1 # EXTINCTION DU SERVEUR # Ce point modifie le delai entre l'affichage d'extinction du serveur et # l'extinction reelle du serveur # Syntaxe: # 210 <temps> # en secondes. (par default 10) 210 10
- Démarrer le serveur
Pour démarrer le serveur vous n'aurez qu'à taper la commande suivante :
# mwserv
- Tester le serveur
Pour tester le serveur vous devrez tout d'abord vous connecter et entrer par login, grâce à un client Netware sur votre réseau. Vous pouvez alors faire un
CAPTUREà partir de votre client et essayer d'imprimer. Si ces deux actions sont couronnées de succès, votre serveur fonctionne.
9.2 L'ensemble lwared
Ales Dryak
<A.Dryak@sh.cvut.cz>a développé lwared pour permettre à Linux de fonctionner comme un serveur de fichiers NCP de base.Lwared est l'abréviation de LinWare Daemon.
Possibilités offertes par lwared
Le serveur lwared est capable de fournir un sous-ensemble de services d'un serveur Novell NCP. Le système de messageries a été inclus mais il fournit pas de facilités d'impression. De plus il ne fonctionne pas bien avec des clients pour Windows 95 ou Windows NT. Ce serveur s'appuie sur des programmes extérieurs pour construire et maintenir le routage IPX et les tables SAP. Le mauvais comportement d'un client peut causer le "plantage" du serveur. Il est aussi important de savoir que la retranscription des noms de fichiers (minuscules/majuscules) n'a pas non plus été incluse.
Ce serveur ne fonctionne pas pour des couches NETX et VLM Netware.
Récupérer lwared
Le paquetage lwared peut être construit pour n'importe quel noyau supérieur à la version
1.2.0, je vous recommande d'utiliser la version1.2.13pour laquelle aucun patch n'est nécessaire. Certaines fonctionnalités ont changé avec la version1.3.*du noyau, ce qui signifie que des patches sont nécessaires pour ces versions afin de faire fonctionner ce serveur de manière correcte. Des patches appropriés sont inclus pour les nouvelles versions de noyau, ainsi si vous devez absolument utiliser un de ces noyaux, vous serez toujours en mesure de faire fonctionner lwared correctement.On trouve lwared sur klokan.sh.cvut.cz, Sunsite, ou sur un site miroir. La version à jour lors de l'écriture de ce document était :
lwared-0.95.tar.gz
Compiler et installer lwared
- Décompressez l'ensemble lwared
Ce qui devrait ressembler à :
#cd /usr/src #tar xvpfz lwared-0.95.tar.gz
- Compilez le noyau avec le support ethernet et IPX
Si vous utilisez un noyau alpha
1.3.*vous devriez essayer d'utiliser la version1.3.17ou une plus récente car les patches fournis ont été faits pour celles-là. Les noyaux1.3.*plus anciens que1.3.17nécessiteront d'être modifiés à la main pour pouvoir installer lwared. ( quelques indications sur la manière d'opérer ce genre de modifications sont données dans le fichierINSTALLdu paquetage). Pour installer les patches pour la version1.3.17du noyau ou plus récent, vous devrez essayer la commande suivante:# make patchLa prochaine chose que vous devrez faire après avoir appliqué le patch, le cas échéant, sera de vérifier que votre noyau à bien été compilé avec le support IPX actif. Dans la version
1.2.13, vous n'aurez qu'à répondre oui (Y) à la question 'The IPX protocol' de la manière suivante :... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ...Pour les noyaux plus récents, la question peut varier un peu, mais le procédé reste fondamentalement le même.Enfin, vous devrez vous assurer du choix approprié du driver de votre carte Ehernet. Si vous ne savez pas comment procéder, je vous conseille vivement de vous reporter à Ethernet-HOWTO.
Vous pouvez maintenant procéder à la compilation de votre noyau. N'oubliez pas de lancer lilo une fois la compilation finie, pour que le nouveau noyau soit correctement installé.
- Compiler et installer lwared
Pour compiler lwared vous devez en premier lieu vérifier et éditer si nécessaire le fichier
server/config.h. Ce fichier contient les éléments nécessaires pour piloter votre serveur et déterminer son comportement lorsqu'il fonctionnera. Le fichier par défaut est raisonnablement bien écrit mais vous pourrez tout de même vérifier si les répertoires de fichiers de log et le fichier de configuration conviennent à votre système.# make depend # make # make installLe '
make depend' se plaint de ne pas trouver le fichierfloat.hsur mon système mais tout semble fonctionner tout de même. J'ai aussi découvert que lors des compilations avec gcc2.6.3, il fallait modifier la ligne :#include <net/route.h>en#include <net/if_route.h>dans le fichier
lib/ipxkern.c. Ceci étant dû au fait que le fichier change parfois de nom.Le '
make install' tentera d'installer le serveur et les démons de routage dans le répertoire/usr/sbin, le programme lwpasswd dans le répertoire/usr/bin, les programmes utilitaires IPX seront copiés dans le répertoire/sbinet les pages de manuel dans la structure de répertoire/usr/man. Si un de ces endroits ne correspond pas à votre système, vous devrez éditer et modifier les fichiersMakefilecorrespondant.
Configurer et utiliser lwared
Voici la partie la plus amusante !
- Configurer le réseau IPX
La première chose à faire est de configurer vos cartes Ethernet pour qu'elles puissent supporter les réseaux IPX de votre serveur. Pour atteindre ce but, vous aurez besoin de connaître les adresses des réseaux IPX pour chacun des segments du réseau, quel périphérique ethernet (
eth0,eth1, etc.) est en relation avec quel segment, quel type de standard est utilisé pour chacun des segments (802.3,EtherIIetc.) et quelle adresse de réseau interne votre serveur doit utiliser (ce qui est vraiment nécessaire si votre serveur doit fournir des services sur plusieurs segments). Par exemple, une configuration plausible d'un serveur étant sur deux segments IPX ayant pour adresse réseau23a91300et23a91301et ayant une adresse de réseau internebdefacedressemblera à :# ipx_internal_net add BDEFACED 1 # ipx_interface add eth0 802.3 23a91300 # ipx_interface add eth1 etherii 23a91301
- Démarrer les démons de routage
Le matériel logiciel du noyau permet de faire du suivi de paquet IPX comme il le fait pour les paquets IP, cependant le noyau requiert un programme additionnel pour gérer la mise à jour des tables de routage. Dans le cas d'IPX, deux démons sont nécessaires et tous deux sont fournis avec lwared: ipxripd gère le routage IPX de l'information et ipxsapd gère les informations SAP. Pour faire démarrer les démons vous n'aurez qu'à spécifier l'endroit où vous voulez qu'ils écrivent les messages de log :
# ipxripd /var/adm/ipxrip # ipxsapd /var/adm/ipxsap
- Configurer le serveur lwared
Deux fichiers sont à configurer manuellement pour que les utilisateurs puissent se loger sur votre serveur. Il s'agit de :
/etc/lwpasswdIl s'agit du fichier dans lequel les informations sur les utilisateurs de LinWare sont gardées. Le programme lwpasswd permet de le maintenir à jour. Dans sa forme la plus simple, le fichier
/etc/lwpasswdressemble à :ales: terryd: guest:Son format est une simple liste de noms de login suivis par le caractère ':' puis de la version encryptée du mot de passe de login. Il faut cependant noter deux choses importantes : Si les mots de passe ne sont pas encryptés cela signifie qu'il n'y a pas de mot de passe. D'autre part, chaque utilisateur de LinWare présent dans/etc/lwpasswddoit aussi être présent dans/etc/passwdet seul l'utilisateurrootpeut changer le mot de passe d'un autre utilisateur. Si vous êtes logé commeroot, vous pourrez par exemple taper la commande suivante pour changer le mot de passe d'un utilisateur :# lwpasswd rodg Changing password for RODG Enter new password: Re-type new password: Password changed.
/etc/lwvtabIl s'agit des tables des volumes LinWare où sont stockées les informations sur les répertoires à partager entre les utilisateurs de LinWare (Ce fichier comporte des similitudes avec le fichier
/etc/exportspour NFS). Un exemple simple de son format est :SYS /lwfs/sys DATA /lwfs/data HOME /homeCe format est simple: Nom du volume puis le répertoire Linux à exporter séparés par le caractère espace. Vous devez avoir, au minimum, une entrée dans ce fichier pour le volumeSYSpour que le serveur puisse démarrer. Si vous voulez que vos utilisateurs basés sous DOS puissent accéder à votre serveur LinWare comme à leur serveur primaire, vous devrez alors installer une arborescence de volumeSYSdans le répertoire déclaré comme volumeSYS. Les fichiers devant être présents dans ces répertoires sont ceux de Novell et sont soumis à leurs copyright. Si vos utilisateurs utilisent un serveur de fichiers Novell comme serveur de base, vous n'aurez pas besoin du volumeSYS.
- Démarrer le serveur lwared
# lwaredRien n'est plus simple n'est-ce pas? Mais quelques questions subsistent comme par exemple le nom du serveur de fichiers. Si vous démarrez le serveur LinWare de la façon exposée ci-dessus, son nom sera celui retourné par la commande hostname de Linux (le nom d'hôte). Si vous voulez modifier le nom du serveur LinWare, il suffit de le spécifier dans la ligne de lancement de lwared comme ci-dessous par exemple :# lwared -nlinux00Ici le nom du serveur LinWare seralinux00.
- Tester le serveur lwared
La première chose à faire est de vérifier que votre serveur LinWare apparaît bien dans une slist d'un client DOS sur votre réseau. Le programme slist est stocké dans le volume
SYSd'un serveur de fichier Novell donc il vous faudra réaliser cette opération à partir d'une machine déjà logée sur un serveur. Si la manipulation ne donne pas de bon résultat, vérifiez que ipxsapd et lwared soient lancés en même temps sur la machine linux. Si la slist est bonne vous pouvez essayer de connecter et de mapper un volume:C:> attach linux00/ales ... ... C:> map l:=linux00/data: C:> l:Vous devriez maintenant être en mesure d'utiliser le nouveau volume comme tout autre volume Novell. Les permissions de fichiers sont basées sur celles données par le serveur Linux en fonction de votre compte utilisateur.
Page suivante Page précédente Table des matières