[precedente] PHP - Copertina - Indice [successivo]

Articolo


Emulazione Netware su Linux

Indice

  1. Introduzione
  2. Specifiche tecniche
  3. Installazione di RedHat-Linux dal CDROM
    1. Preparazione del dischetto di boot
    2. Installazione: primo stadio
    3. Installazione: secondo stadio
    4. Configurazione di base
  4. Configurazione di Linux
    1. Tabella delle inizializzazioni
    2. Creazione del gruppo marsnwe e degli utenti che utilizzeranno il server
    3. Configurazione dei moduli caricabili dinamicamente dal kernel.
    4. Configurazione del protocollo IPX
  5. Configurazione del mars-nwe
    1. Copia dei files necessari ai clienti
    2. Settaggio dei parametri
    3. Test di funzionamento via loopback
    4. Test e affinamento del sistema da remoto
  6. Note applicative
  7. Istruzioni per l'amministratore

1 Introduzione

Questa relazione descrive la procedura di installazione e configurazione del pacchetto mars-nwe-0.99.10 su sistema operativo Linux al fine di emulare Novell Netware v3.11. Si è deciso di adottare questo tipo di soluzione (del tutto gratuita senza limite di utenti) in quanto il distretto aveva a disposizione un pacchetto Novell Netware v3.12 originale con licenza per un massimo di 5 utenti mentre l'utilizzo normale presso gli Organi della Leva necessitava di almeno 8 utenti. Inoltre i clienti e gli archivi da gestire erano già configurati per funzionare con Netware v3.11 e le procedure per ottenere le licenze mancanti da Novell risultavano troppo difficoltose. La soluzione qui descritta va considerata come sperimentale e fonte di studio per successive implementazioni analoghe.

Si evidenzia che, poichè l'autore di questa sperimentazione conosceva in maniera soltanto approssimativa i sistemi Novell, è assolutamente possibile che alcune impostazioni scelte non siano ottimali, in particolare per quanto riguarda i trustees assegnati.

2 Specifiche tecniche

Sono necessari i seguenti componenti: L'installazione definitiva ha utilizzato in realtà un Intel Pentium 166MHz, 64Mb RAM, 1.6Gb HD EIDE UDMA.

3 Installazione di RedHat-Linux dal CDROM

Quanto descritto in questa fase consiste nell'installazione dei files necessari dal CDROM al disco rigido ed è spiegato più approfonditamente nel [RHManual].

3.1 Preparazione del dischetto di boot

L'installazione del sistema operativo inizia creando il dischetto di boot a partire dal CDROM. Infilando il CD in una qualunque macchina DOS/Windows, si entra nella directory D:\DOSUTILS dove si esegue il programma RAWRITE.EXE. Tale programma prende dal CD l'immagine di un dischetto e la trasferisce al dischetto stesso (bisogna mettere un dischetto vuoto nel drive!). Il programma chiede quale immagine deve copiare e dove la deve copiare, quindi bisogna rispondere D:\IMAGES\BOOT.IMG alla prima domanda e A: alla seconda. Terminata la procedura estrarre il dischetto ed etichettarlo RedHat Linux Installation Boot Disk.

3.2 Installazione: primo stadio

Si infilano il CDROM ed il dischetto appena preparato nel computer sul quale vogliamo eseguire l'installazione, poi lo si accende. Il sistema esegue il boot da dischetto e presenta una finestra nella quale si chiede quale tipo di installazione si desidera eseguire. Al prompt boot: scegliere l'installazione "esperta" digitando expert+INVIO.

Dopo un messaggio di benvenuto, dovranno essere effettuate alcune scelte:

  1. lingua da utilizzare durante il processo di installazione: italiano, ovviamente.
  2. il layout di tastiera: di solito va bene it
  3. il metodo di installazione: scegliere Local CDROM
  4. il tipo di CDROM. Notare che i lettori di CDROM in standard IDE-ATAPI vengono riconosciuti automaticamente dal sistema. Se tale riconoscimento fallisce allora bisognerà scegliere tra SCSI o altri tipi di driver.

3.3 Installazione: secondo stadio

Il sistema legge il CDROM ed entra nella seconda fase dell'installazione dove vengono scelte altre opzioni:
  1. Intallazione o Upgrade: scegliere installazione
  2. Classe di installazione: scegliere custom
  3. Presenza o meno di dispositivi SCSI. Se si risponde affermativamente o se il sistema ha rilevato automaticamente la presenza di dispositivi di questo tipo, allora sarà necessario selezionare l'opportuno driver e le relative opzioni.
  4. Creazione delle partizioni. Il sistema chiederà di scegliere tra i metodi disk druid e fdisk: scegliere disk druid. Verrà quindi presentata una finestra nella quale sono descritte le partizioni presenti sui vari dischi rigidi. Ogni riga rappresenta una partizione e la simbologia va interpretata in questo modo:
    1. con hda, hdb, hdc, etc. vengono chiamati i vari dischi rigidi IDE
    2. con sda, sdb, sdc, etc. vengono chiamati i vari dischi rigidi SCSI
    3. con hdxn e sdxn (dove x è una lettera e n un numero) vengono chiamate le varie partizioni sui vari dischi rigidi.
  5. Utilizzando questa finestra occorre cancellare tutte le eventuali partizioni presenti e procedere alla creazione di due partizioni:
    1. una partizione di swap della dimensione pari a circa una volta e mezza la quantità di RAM disponibile. Tale partizione deve essere etichettata come di tipo Linux swap, growable, con mount point in bianco.
    2. una partizione principale della dimensione massima possibile, etichettata come di tipo Linux native, growable e con mount point pari al simbolo "/"
  6. Una volta create le partizioni verrà presentata una finestra che chiede di inizializzare la partizione di swap. Selezionare il controllo dei "bad blocks" e procedere premendo OK.
  7. Ora bisogna formattare la partizione principale. Scegliere ancora il controllo dei "bad blocks".
  8. La procedura richiede a questo punto di scegliere quali pacchetti installare. Selezionando tutto vengono installati circa 700 Mbytes ma la parte realmente necessaria ai nostri scopi occupa molto meno, quindi scegliamo la voce "Selezionare i pacchetti singolarmente" e poi procediamo deselezionando ogni pacchetto prescelto per default e selezionando invece soltanto i seguenti (che rappresentano il minimo indispensabile ai nostri scopi, pari a circa 92 Mbytes):
    1. Applications/Editors: joe
    2. Base: locales-it
    3. Networking/Daemons: mars-nwe
    4. Networking/Utilities: ipxutils, ncpfs
La procedura di installazione formatta la partizione principale e vi installa i pacchetti richiesti (occorrono alcuni minuti).

3.4 Configurazione di base

Terminata la copia dei pacchetti sul disco rigido, la procedura di installazione procederà a configurare i parametri fondamentali per il funzionamento di base del sistema, e cioè:
  1. di quale tipo di mouse si dispone (è opzionale! non occorre che il sistema sia dotato di un mouse!) ed eventualemente su quale porta seriale è connesso. Normalmente la procedura di installazione è in grado di determinare automaticamente questi parametri e quindi le scelte proposte per default dovrebbero essere esatte.
  2. se si vuole configurare una connessione di rete permanente: rispondere affermativamente
  3. quale driver di rete utilizzare. Nel nostro caso funziona bene il NE2000 ma questo dipende dal tipo di scheda che si sta utilizzando. Il sistema chiederà poi se l'utente vuole che il sistema sondi automaticamente i parametri (indirizzo I/O, livello di interrupt etc.) o se vuole inserirli manualmente. L'impostazione automatica dei parametri funziona bene quando la scheda ha i jumpers nella configurazione originale di fabbrica.
  4. come il server dovrà determinare il proprio indirizzo IP: scegliere il metodo "Indirizzo IP statico"
  5. i parametri per il protocollo TCP/IP: Scegliere ad esempio i seguenti (quelle proposte sono impostazioni tipiche per le reti locali TCP/IP, basate su standardizzazioni internazionali. È comunque possibile variare questi parametri a piacimento visto che noi utilizzeremo soltanto il protocollo IPX):

  6. IP 192.168.0.1
    netmask 255.255.255.0
    gateway in bianco
    nameserver in bianco
  7. il nome di rete del nostro server: ad esempio scegliere leva.dmcomo.it con dominio dmcomo.it (lasciare in bianco le due righe relative ai nameserver secondari).
  8. il fuso orario: scegliere Europe/Rome
  9. la lista delle procedure che dovranno essere lanciate automaticamente ad ogni avvio del sistema: selezionare solamente le seguenti (che rappresentano il minimo indispensabile ai nostri scopi):
  10. una password di amministrazione di linux (che non coincide con la password di supervisor di Netware!). Tale password sarà associata al login root. Notare che durante la digitazione della password, nulla appare sullo schermo e per questo motivo è necessario inserirla due volte per conferma.
  11. se si vuole o meno generare un "custom bootdisk", che rappresenta una specie di disco di ripristino da utilizzare in casi di emergenza. Si può tranquillamente rispondere no.
  12. dove deve essere installato il bootloader, ovvero quel piccolo programmino di nome LILO che provvede a lanciare il sistema operativo all'accensione del computer: rispondere /dev/hda ovvero Master Boot Record.
  13. se si vogliono fornire parametri opzionali a LILO. Se il sistema non è in grado di rilevare tutta la RAM disponibile e si hanno a disposizione 64 Mbytes si può inserire ad esempio il parametro mem=64M. Nella maggioranza dei casi si può lasciare in bianco questa opzione.
La procedura di installazione termina qui e chiede di rimuovere il dischetto per eseguire il reboot.

4 Configurazione di Linux

Una volta installato il sistema operativo, è necessario ultimarne la configurazione come descritto più approfonditamente nella sezione System Administration del [RHManual], nella sezione System Administration del [GUMandrake] e nel [IPX-Howto].

4.1 Tabella delle inizializzazioni

Eseguiamo il login come root con la password impostata durante l'installazione ed editiamo il file /etc/inittab che contiene l'elenco delle azioni da intraprendere quando si entra/esce dai vari runlevels del sistema. In particolare al prompt del sistema digitiamo joe /etc/inittab per scartare le virtual consoles superflue e modifichiamo le righe della sezione "Run gettys in standard runlevels" come segue:

# Run gettys in standard runlevels
1:12345:respawn:/sbin/mingetty tty1
2:4:respawn:/sbin/mingetty tty2
3:4:respawn:/sbin/mingetty tty3
4:4:respawn:/sbin/mingetty tty4
5:4:respawn:/sbin/mingetty tty5
6:4:respawn:/sbin/mingetty tty6
poi modifichiamo il comportamento alla pressione dei tasti CTRL-ALT-DEL come segue:
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t10 -h now
per salvare premere CTRL-K X

4.2 Creazione del gruppo marsnwe e degli utenti che utilizzeranno il server.

Si tratta in pratica di modificare i file /etc/group e /etc/passwd. Al prompt del sistema digitiamo:
groupadd marsnwe
Poi per ognuno degli utenti che utilizzeranno il server (compreso supervisor) digitare:
useradd -G marsnwe <loginutente>
dove al posto di <loginutente> bisogna mettere di volta in volta i vari identificativi degli utenti. Notare che non è stata scelta nessuna password, in questo modo alla console tutti i login risultano disabilitati. Ora abilitiamo al login locale l'utente supervisor digitando:
passwd supervisor
e inserendo una opportuna password quando richiesto. Notare che la password che si sta immettendo non deve essere necessariamente eguale a quella che si userà eseguendo il login da un cliente. La password che si imposta qui vale soltanto per eseguire il login a linux dalla console (la schermata con il pinguino) e non viene utilizzata dal pacchetto mars_nwe. A questo punto tutti gli utenti hanno una loro entrata nel database di linux, anche se solo root e supervisor possono eseguire il login dalla console e ancora niente è stato fatto per configurare mars-nwe. Nel nostro caso dobbiamo creare gli utenti supervisor, leva1, leva2, consi1, consi2, nusele1, nusele2, numedi1, numedi2, ricono.

4.3 Configurazione dei moduli caricabili dinamicamente dal kernel.

Si tratta in pratica di modificare il file /etc/conf.modules per disabilitare il caricamento del modulo appletalk che non serve ai nostri scopi. In particolare al prompt del sistema digitiamo joe /etc/conf.modules e aggiungiamo la riga:
alias net-pf-5 off
per salvare si preme CTRL-K X

4.4 Configurazione del protocollo IPX

Si tratta in pratica di modificare i file:

/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifup-ipx
Iniziamo digitando netconf al prompt e selezionando "IPX interface setup". Nella finestra che apparirà occorre selezionare "Enable IPX networking", "Autoconfigure primary", "Frame type 802.3", e deselezionare "Autoconfigure interfaces frame types" e "Frame type 802.2". Quando si esce verrà chiesto se attivare subito le variazioni, rispondere affermativamente.

Ora dobbiamo correggere un piccolo baco, quindi editiamo l'ultimo file digitando al prompt joe /etc/sysconfig/network-scripts/ifup-ipx e modificando l'ultima parte come segue:

 
frametype in 802_2 802_3 ETHERII SNAP ; do
   # Yes, this kind of evaluation is really necessary to do this.
   # Welcome to shell programming...  No, we were not smoking some
   # particularly good floppies while we wrote this.  :-)
   case $(eval echo $(echo \$`echo IPXACTIVE_$frametype`)) in
     yes|true)
        case $(eval echo $(echo \$`echo IPXPRIMARY_$frametype`)) in
         yes|true) primary=-p ;;
         *) primary= ;;
        esac
        # ------ inizio modifica ------
        case $frametype in
          802_2) /usr/bin/ipx_interface add $1 $primary 802.2 \
              $(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
              ;;
          802_3) /usr/bin/ipx_interface add $1 $primary 802.3 \
              $(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
              ;;
          *)    /usr/bin/ipx_interface add $1 $primary $frametype \
              $(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
              ;;
        esac
        # ------ fine modifica ------
        ;;
    esac
done

exit 0
Occorre fare attenzione perchè i caratteri "\" che compaiono al termine di alcune righe devono essere veramente l'ultimo carattere della riga (non ci devono essere spazi dopo!). Come solito salvare con CTRL-K X.

Ora il sistema IPX è correttamente configurato, e per verificarlo possiamo eseguire al prompt i comandi:


sh /etc/rc.d/init.d/network restart
ifconfig
che ci permettono di far ripartire il supporto di rete e di verificarne le nuove impostazioni. Dovremmo ottenere un output di questo tipo:

lo       Link encap:Local Loopback
         inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
         UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0

eth0     Link encap:Ethernet  HWaddr 00:40:C7:57:D0:BA
         inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
         IPX/Ethernet 802.3 addr:0040C757D0BA
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0
         Interrupt:3 Base address:0x300
dove vengono descritte le configurazioni associate al Local Loopback (un dispositivo di rete fittizio) e della scheda di rete eth0. Notiamo che l'indirizzo di rete IPX, avendo l'unica esigenza di essere diverso da quelli di tutte le altre macchine sulla LAN, è stato determinato automaticamente a partire dal MAC address (HWaddr) della scheda di rete. Se il sistema non è già connesso ad una rete locale, potranno comparire periodicamente dei messaggi che avvertono di ipotetici problemi al cavo, del tipo:
eth0: Tx timed out, cable problem? TSR=0x0, ISR=0x0, t=12004.
questi messaggi spariranno non appena il sistema verrà fisicamente connesso ad una LAN.

Notiamo inoltre che il sistema sta cercando inultimente di configurare una rete interna IPX che a noi non serve, quindi per motivi puramente estetici possiamo risolvere il probelma digitando il comando joe /etc/sysconfig/network ed aggiungendo la riga:

IPXINTERNALNET="off"
salviamo con CTRL-K X poi editiamo allo stesso modo il file /etc/rc.d/init.d/network che modifichiamo in 2 punti come segue:

    case "$IPX" in
      yes|true)
        /sbin/ipx_configure --auto_primary=$IPXAUTOPRIMARY \
                            --auto_interface=$IPXAUTOFRAME
        # ------ inizio prima modifica ------
        case "$IPXINTERNALNET" in
          yes|true)
            /sbin/ipx_internal_net add $IPXINTERNALNETNUM \
               $IPXINTERNALNODENUM
            ;;
        esac
        # ------ fine prima modifica ------
      ;;
    esac

    touch /var/lock/subsys/network
    ;;
  stop)
    for i in $interfaces; do
      ./ifdown $i boot
    done
    # ------ inizio seconda modifica ------
    case "$IPXINTERNALNET" in
    # ------ fine seconda modifica ------
      yes|true)
        /sbin/ipx_internal_net del
        ;;
    esac
al solito salvare con CTRL-K X. in questo modo spariranno i messaggi di errore riguardanti la rete interna IPX.

5 Configurazione del mars-nwe

Quanto descritto in questa fase consiste nella modifica dei files riguardanti il pacchetto mars-nwe ed è spiegata più approfonditamente nel [IPX-Howto] e nella documentazione [MarsNwe]

5.1 Copia dei files necessari ai clienti

Per prima cosa bisogna far sì che i clienti abbiano a disposizione degli eseguibili DOS per effettuare il login e il logout, e che l'utente supervisor abbia a disposizione degli strumenti per amministrare il sistema da remoto. A questo scopo procuriamoci da una vera installazione Novell Netware v3.11 i seguenti files che metteremo su un dischetto (separandoli opportunamente in due directory di nome login e public):

SYS:LOGIN\LOGIN.EXE
SYS:LOGIN\SLIST.EXE
SYS:LOGIN\CONSOLE.COM
SYS:LOGIN\TOKEN.RPL
SYS:PUBLIC\LOGIN.EXE
SYS:PUBLIC\LOGOUT.EXE
SYS:PUBLIC\SYSCON.EXE
SYS:PUBLIC\FCONSOLE.EXE
SYS:PUBLIC\FILER.EXE
SYS:PUBLIC\$RUN.OVL
SYS:PUBLIC\CMPQ$RUN.OVL
SYS:PUBLIC\IBM$RUN.OVL
SYS:PUBLIC\NBACKUP.OVL
SYS:PUBLIC\SELDIBI.OVL
SYS:PUBLIC\SYS$ERR.DAT
SYS:PUBLIC\NET$LOG.DAT
SYS:PUBLIC\DIBI$DRV.DAT
SYS:PUBLIC\SYS$HELP.DAT
SYS:PUBLIC\SYS$MSG.DAT
ora infiliamo il dischetto così preparato nel server che stiamo configurando ed eseguiamo i seguenti comandi:
mount /mnt/floppy
cp /mnt/floppy/login/* /var/mars_nwe/sys/login
cp /mnt/floppy/public/* /var/mars_nwe/sys/public
umount /mnt/floppy
È importante che i files appena introdotti nel sistema abbiano il nome scritto con lettere minuscole, altrimenti il sistema non funzionerà. Per verificare se è tutto ok usiamo i comandi:
ls -l /var/mars_nwe/sys/login
ls -l /var/mars_nwe/sys/public
e se i file hanno lettere maiuscole per rinominarli usiamo i comandi:

mv /var/mars_nwe/sys/login/VECCHIONOME /var/mars_nwe/login/nuovonome
mv /var/mars_nwe/sys/public/VECCHIONOME /var/mars_nwe/public/nuovonome
applicandoli singolarmente ad ogni file.

5.2 Settaggio dei parametri

Questa fase corrisponde ad editare il file /etc/nwserv.conf. Informazioni più dettagliate si possono trovare nella documentazione [MarsNwe] e nel [IPX-Howto].

Procediamo fermando il programma mars-nwe, che si trova attualmente in esecuzione, digitando il comando

sh /etc/rc.d/init.d/mars-nwe stop
poi cancelliamo i file di bindery attualmente esistenti
rm -rf /var/mars_nwe/bindery/*
quindi eseguiamo una copia del file di default /etc/nwserv.conf con il comando:
cp /etc/nwserv.conf /etc/nwserv.conf.orig
e procediamo a modificarlo come segue (notare che il file originale è ricco di commenti che possono agevolare la comprensione della sintassi e l'utilità dei vari parametri impostati):

#
# Configurazione di mars-nwe personalizzata per Organi della Leva
# Distretto Militare di Como - Nucleo Elaborazione Dati
# by C.le Piunno Simone 7° sca 1998, maggio 1999
# =========================================================================
# Section 1: volumes (required)
1       SYS     /var/mars_nwe/sys       kt
# =========================================================================
# Section 2: servername (optional)
2       MASTERLINUX
# =========================================================================
# Section 3: Number of the internal network (required)
3       auto    1
# =========================================================================
# Section 4: IPX-devices (strongly recommended)
4       0x10     eth0       802.3    1
# =========================================================================
# Section 5: Saving of ipx-routes (required)
5       0
# =========================================================================
# Section 6: version-"spoofing"
6       1
# =========================================================================
# Section 7: password handling of DOS-clients (required)
7       0
# Section 10: UID and GID with minimal rights
# =========================================================================
10      99
11      99
# =========================================================================
# Section 12: supervisor-login (required)
12  SUPERVISOR   supervisor   a-secret-password
# =========================================================================
# Section 13: user-logins (optional)
# =========================================================================
# Section 15: automatic mapping of logins (decision required)
15   1     top-secret
# =========================================================================
# Section 16: Tests on startup
16      1
# --------------------------------------------------------
# You usally don't want to change anything below this line
# --------------------------------------------------------
# Sections 100-106: amount of debug-information
100     0               # debug IPX KERNEL (0 | 1)
101     1               # debug NWSERV
102     1               # debug NCPSERV
103     1               # debug NWCONN
104     0               # debug (start) NWCLIENT
105     0               # debug NWBIND
106     0               # debug NWROUTED
# Sections 200-202: logging of "nwserv"
200     1               # 0 = no logfile and dont daemonize nwserv/nwrouted
                        # 1 = daemonize nwserv/nwrouted and use logfile
201     /var/log/mars_nwe.log     # filename of logfile
202     0               # 1=creat new logfile, 0=append to logfile
# Sections 210,211: timing
210     5               # 1 .. 600  (default 10) seconds after server
                        # really goes down after a down command
211     60              # 10 .. 600 (default 60) broadcasts every x seconds
# Sections 300-302: logging of routing-information
300     1               # > 0 print routing info to file every x broadcasts.
                        # ( normally minutes )
301     /var/run/mars_nwe.routes  # filename of logfile
302     1               # 1 = creat new routing info file
                        # 0 = append to this file
# Section 310: watchdogs
310     7               # send wdog's only to device net < x ticks.
# Section 400:
# station file for special handling of stations.
400  /etc/nwserv.stations  # for syntax see file in the examples directory.
# Section 401: nearest server
#
# for special handling of the 'get nearest server request'.
401     0       # 0 = ignore entry 400, get nearest response ever enabled.
Salvare con CTRL-K X. In sostanza il file mostrato setta il comportamento di mars-nwe in modo che:
  1. il volume SYS è associato alla directory /var/mars_nwe/sys con i parametri "k" e "t", ovvero permettendo l'uso di files con lettere minuscole ed abilitando i trustees
  2. il server mars-nwe è stato denominato MASTERLINUX
  3. la rete interna IPX è stata settata come automatica e di nodo 1
  4. il server è stato associato all'interfaccia eth0 con frame 802.3 e numero di rete 0x10
  5. è stato richiesto al software di simulare Novell Netware v3.11
  6. i diritti di supervisione sono stati assegnati all'utente supervisor con password iniziale a-secret-password
  7. sono stati mappati nel bindery gli utenti presenti in /etc/passwd con password iniziale "top-secret"

5.3 Test di funzionamento via loopback

Ora siamo pronti per lanciare mars-nwe e quindi digitiamo:
sh /etc/rc.d/init.d/mars-nwe start
se tutto è a posto il programma risponderà con:
Starting NetWare emulator-server: nwserv

Mars_nwe V0.99pl10 started using /etc/nwserv.conf.
If you have problems, please read mars_nwe/doc/BUGS !
Errors/warnings will be reported in /var/log/mars_nwe.log
ora possiamo verificare che il sistema sia in grado di ``vedere se stesso'' attraverso il loopback digitando il comando slist e ottendo un output del tipo:
Known NetWare File Servers                          Network   Node Address
--------------------------------------------------------------------------
MASTERLINUX                                         00000010  000000000001
Inoltre possiamo verificare che il server ha correttamente impostato l'indirizzo di rete interna al valore 0x00000010 usando il comando ifconfig ed ottenendo un output del tipo:
lo       Link encap:Local Loopback
         inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
         UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0

eth0     Link encap:Ethernet  HWaddr 00:40:C7:57:D0:BA
         inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
         IPX/Ethernet 802.3 addr:00000010:0040C757D0BA
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0
         Interrupt:3 Base address:0x300
Un'altra prova che si può fare è auto-condividere la directory gestita da mars-nwe utilizzando il comando:
ncpmount -S MASTERLINUX -U supervisor /mnt
e digitando la password comoleva appena richiesta. Verifichiamo che la condivisione sia avvenuta con successo digitando il comando mount e ottendo un output del tipo:
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
MASTERLINUX/SUPERVISOR on /mnt type ncpfs (rw)
ora chiudiamo la condivisione con ncpumount /mnt.

5.4 Test e affinamento del sistema da remoto

In questa fase è stato utilizzato un secondo PC configurato come client DOS e sono state simulate le connessioni al server come se si trattasse di un normale server Novell Netware. Per maggiori informazioni su queste procedure si può consultare il [Netware]

Proviamo ad eseguire il login come supervisor da un cliente. Se ci sono problemi a questo stadio dobbiamo verificare la posizione degli eseguibili DOS installati al punto 5.1, oppure la configurazione dei clienti. Se il login è avvenuto con successo, prepariamo le ultime impostazioni tramite l'utility FILER.EXE, ovvero creiamo le directory SYS:COMO e SYS:LEVA alle quali poi consentiamo l'accesso a tutti quanti (gruppo everyone) con flags RWCEMFA, poi variamo i trustees della directory SYS:PUBLIC in modo che sia accessibile al gruppo everyone con flags RF. Per finire utilizzando l'utility SYSCON.EXE cambiamo la password d'accesso di supervisor e di tutti gli altri clienti.

Ora possiamo provare ad eseguire il login con un cliente diverso da supervisor e verificare se sia possibile creare, leggere, cancellare i files nelle directory SYS:COMO e SYS:LEVA.

6 Note applicative

  1. sono state effettuate numerose prove di login, logout, copia e cancellazione di files impersonando di volta in volta i diversi accessi impostati (leva1, ricono etc.). A questo stadio si è notato che il down del sistema provoca il blocco del cliente e ne rende necessario il reboot. A prima vista sembra un baco del software di connessione dei clienti. Lo stesso succede se durante un'operazione di copia di file il cavo di rete viene temporaneamente interrotto. I clienti che non eseguono correttamente il logout lasciano aperta un'istanza nella lista delle connessioni al server e non sembra ci sia un modo per forzare la cancellazione di questa istanza (con Novell Netware originale si usa tipicamente il tasto CANC dalla finestra delle connessioni presentata dal modulo MONITOR.NLM). Al momento questo problema è irrisolto.
  2. Il sistema installato in questo modo accetta al massimo 10 clienti in contemporanea ma questa limitazione si può superare facilmente ricompilando i sorgenti con un opportuno parametro variato. Per maggiori infomazioni su dove recuperare i sorgenti di mars-nwe e su come effettuarne la ricompilazione, consultare il [IPX-Howto].
  3. è stato testato il funzionamento delle varie utility di amministrazione remota: SYSCON.EXE, FILER.EXE, FCONSOLE.EXE e si è rilevato un funzionamento non completo (alcune funzioni particolari risultano disabilitate) ma sufficiente ai nostri scopi.
  4. Installando come qui descritto si effettua il massimo risparmio di spazio sul disco rigido, tuttavia se non ci sono problemi di questo tipo è consigliabile duplicare interamente le directory SYS:LOGIN, SYS:PUBLIC e SYS:SYSTEM in modo da avere a disposizione anche l'help in linea.
  5. Nel funzionamento non sono state notate sostanziali differenze di prestazioni, in termini di velocità, tra la soluzione qui adottata e un server Novell originale.

7 Istruzioni per l'amministratore

Ciò che l'amministratore di un simile sistema deve conoscere è:
  1. come si amministra un normale server Novell Netware originale da un cliente (ovvero facendo finta che invece di linux si stia utilizzando un vero pacchetto Novell Netware!). Da notare che nella versione "linuxizzata" non esiste una console locale come per il Netware vero e non funziona neanche il modulo caricabile MONITOR.NLM. In ogni caso tutto quello che serve si può fare eseguendo il login come supervisor ed utilizzando i comandi FCONSOLE.EXE, SYSCON.EXE, FILER.EXE. In particolare la lista dei clienti connessi che normalmente viene esaminata dalla console tramite il module MONITOR.NLM nel nostro caso può essere esaminata da un cliente tramite l'utility FCONSOLE.EXE. Per questo argomento si rimanda ai relativi manuali [Netware].
  2. come si amministra un normale server Linux dalla sua console. Questo interessa soltanto il caso in cui debbano essere eseguite operazioni del tutto particolari e quindi per ogni evenienza si rimanda alla documentazione relativa reperibile su Internet o sul CD di installazione. Per le normali operazioni tutto ciò che interessa è che prima dello spegnimento è necessario premere la combinazione di tasti CTRL-ALT-DEL e attendere che il sistema completi la procedura di shutdown fino al comparire della scritta ``System halted''.

Bibliografia

    [RHManual]:
      Manuale di Installazione di RedHat-Linux, reperibile in formato HTML sul CDROM di installazione nella directory \DOC\RHMANUAL\MANUAL
    [GUMandrake]:
      Guida Utente Mandrake, reperibile sul CDROM in formato HTML nella directory \DOC\MANDRAKE\EN\MDKUSERGUIDE
    [IPX-Howto]:
      IPX-HOWTO che è reperibile sul CDROM nella nella directory \DOC\HOWTO
    [MarsNwe]:
      Documentazione del pacchetto mars-nwe, reperibile sul disco rigido del server installato, nella directory /usr/doc/mars-nwe-0.99pl10
    [Netware]:
      Manuale d'Uso di Novell Netware v3.12,

[precedente] PHP - Copertina - Indice [successivo]