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.
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".
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.
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
.
Dans la version 1.2.13
du 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.
# cd /usr/src
# tar xvfz mars_nwe-0.96.pl2.tgz
Cette opération est très simple. En premier lieu, éditez et modifiez
le fichier config.h
si 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
.
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
Pour démarrer le serveur vous n'aurez qu'à taper la commande suivante :
# mwserv
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.
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.
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.
Le paquetage lwared peut être construit pour n'importe quel noyau
supérieur à la version 1.2.0
, je vous recommande
d'utiliser la version 1.2.13
pour laquelle
aucun patch n'est nécessaire. Certaines fonctionnalités ont changé avec
la version 1.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
Ce qui devrait ressembler à :
#cd /usr/src #tar xvpfz lwared-0.95.tar.gz
Si vous utilisez un noyau alpha 1.3.*
vous devriez essayer d'utiliser
la version 1.3.17
ou une plus récente car les patches
fournis ont été faits
pour celles-là. Les noyaux 1.3.*
plus anciens que
1.3.17
né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 fichier
INSTALL
du paquetage). Pour installer les patches pour la
version 1.3.17
du
noyau ou plus récent, vous devrez essayer la commande suivante:
# make patch
La 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é.
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 install
Le 'make depend
' se plaint de ne pas trouver le fichier float.h
sur
mon système mais tout semble fonctionner tout de même. J'ai aussi
découvert que lors des compilations avec gcc 2.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 /sbin
et 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 fichiers
Makefile
correspondant.
Voici la partie la plus amusante !
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
,
EtherII
etc.) 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éseau 23a91300
et 23a91301
et ayant une adresse
de réseau interne bdefaced
ressemblera à :
# ipx_internal_net add BDEFACED 1 # ipx_interface add eth0 802.3 23a91300 # ipx_interface add eth1 etherii 23a91301
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
Deux fichiers sont à configurer manuellement pour que les utilisateurs puissent se loger sur votre serveur. Il s'agit de :
/etc/lwpasswd
Il 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/lwpasswd
ressemble à :
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/lwpasswd
doit aussi être présent dans
/etc/passwd
et seul l'utilisateur root
peut changer le mot de
passe d'un autre utilisateur. Si vous êtes logé comme
root
, 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/lwvtab
Il 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/exports
pour 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 volume
SYS
pour 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
volume SYS
dans le répertoire déclaré
comme volume SYS
. 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 volume SYS
.
# 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 sera
linux00
.
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 SYS
d'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.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre