[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


119. Introduzione a NOS-KA9Q -- IPv4 per Dos

NOS è una sorta di sistema operativo per le reti IPv4 nato per soddisfare le esigenze dei radioamatori. Se si considerano l'età e il fatto che funziona perfettamente su un sistema operativo Dos, si tratta di un applicativo eccezionale quando si dispone di hardware molto vecchio. La sigla KA9Q è il nominativo da radioamatore dell'autore originale di questo programma, Phil Karn, e spesso si fa riferimento a questo software indifferentemente con le sigle KA9Q, NOS o qualcosa che termina per *NOS. *1*

Esistono diverse interpretazioni del sistema NOS-KA9Q; probabilmente il riferimento migliore per ottenere il materiale necessario sono i depositi Coast-net e Simtelnet, che ospitano una directory apposita per questo: ftp://ftp.cyberway.com.sg/pub/coast/msdos/ka9q/ e ftp://ftp.cdrom.com/pub/simtelnet/msdos/tcpip/. In particolare è necessario prelevare il file contenente l'eseguibile `NET.EXE', che potrebbe avere un nome simile a `e920603.zip' (dove il numero corrisponde alla data ed eventualmente potrebbe essere sostituito da una versione più recente) e poi conviene prelevare altri file per ottenere della documentazione: `intronos.zip', `ka9qbgn.zip' e `nos_slfp.zip' (quest'ultimo può essere utile soprattutto per vedere come potrebbe essere effettuata una connessione PPP attraverso la porta seriale e il modem).

La versione 920603, corrispondente al file `e920603.zip', è adatta ad architetture i86 di qualunque tipo (dal 8088 in su). Probabilmente questo vale anche per qualche versione più recente, ma si deve fare attenzione: la versione 951123 è fatta per i386 o superiori. Se non si riesce a trovare una versione del programma `NET.EXE' abbastanza vecchia, si può provare a usare quella contenuta nel pacchetto `nos_slfp.zip'. In questo capitolo si fa riferimento a una versione di NOS per architetture modeste (i286 o inferiori).

NOS, una volta avviato, prende il controllo del sistema e i comandi che si impartiscono sono interpretati da questo, senza passare per il Dos sottostante. Questa è anche la ragione per cui si introduce all'uso di questo programma in un capitolo separato, rispetto a quello già dedicato agli applicativi Dos (capitolo 117).

In questo capitolo vengono mostrate le caratteristiche «normali» di NOS, nel senso che di questo sistema di rete sono state realizzate un'infinità di varianti. Evidentemente, il NOS che si può trovare può corrispondere o meno alle caratteristiche che vengono descritte qui. Se il pacchetto NOS che si trova contiene qualche file di documentazione, conviene leggerlo per verificare che tutto corrisponda a quanto previsto.

119.1 Preparazione

Anche se non si intendono sfruttare a fondo tutte le possibilità di NOS, conviene creare tutte le directory previste da questo mini sistema di rete. Se non si vuole fare fatica nella configurazione, conviene predisporre quelle seguenti, che riguardano le versioni «normali» di NOS:

C:\SPOOL
C:\SPOOL\HELP
C:\SPOOL\MAIL
C:\SPOOL\MQUEUE
C:\SPOOL\RQUEUE
C:\SPOOL\NEWS

Come si può intuire, si tratta di spazi predisposti per la gestione della posta elettronica; cosa che comunque non verrà mostrata in questo capitolo.

Volendo utilizzare una posizione diversa, nello stesso disco o in un altro, occorre almeno mantenere la stessa struttura; per esempio come nel modo seguente, tenendo conto che occorre avviare il programma `NET.EXE' specificando questa variante nelle opzioni.

D:\NOS\SPOOL
D:\NOS\SPOOL\HELP
D:\NOS\SPOOL\MAIL
D:\NOS\SPOOL\MQUEUE
D:\NOS\SPOOL\RQUEUE
D:\NOS\SPOOL\NEWS

119.1.1 Configurazione con il file AUTOEXEC.NET

Nella directory utilizzata come punto di inizio della gerarchia del sistema NOS, va collocato il file di configurazione `AUTOEXEC.NET'. Questo rappresenta semplicemente una sequenza di comandi NOS da eseguire prima di mostrare l'invito all'utente. È abbastanza importante predisporre questo file, per non dover ogni volta ridefinire la configurazione delle interfacce e gli instradamenti relativi.

Ovviamente, per sapere come predisporre questo file occorre conoscere i comandi del sistema NOS. Per cominciare si tenga presente che sono ammessi i commenti prefissati dal simbolo `#' e terminati dalla fine della riga in cui appaiono; inoltre, se si utilizza un elaboratore appartenente alla famiglia «AT», cioè quelli che hanno un'architettura i286 o superiore, può essere utile indicare il comando `isat on'. Per il momento si osservi l'esempio seguente, che si riferisce all'uso di una scheda di rete gestita attraverso un driver di pacchetto di quelli descritti nel capitolo precedente ( 117).

# Se non si tratta di un elaboratore compatibile IBM AT (o superiore),
# la riga seguente deve essere commentata o eliminata.
#isat on

# Configurazione dell'interfaccia di rete utilizzando il
# riferimento al packet driver (il nome ethernet0 viene stabilito qui,
# e non si tratta di una convenzione di NOS).
attach packet 0x7e ethernet0 8 1500

# Definizione dell'indirizzo IP dell'interfaccia di rete.
ifconfig ethernet0 ipaddress 192.168.1.10
ifconfig ethernet0 netmask 255.255.255.0

# Instradamento.
route add 192.168.1.0/24 ethernet0
route add default ethernet0 192.168.1.254

# DNS
domain addserver 192.168.1.1
domain suffix brot.dg.

# Servizi abilitati.
start discard
start echo
start finger
start ftp

119.1.2 Driver di pacchetto

Il sistema NOS richiede per funzionare che le interfacce di rete da utilizzare siano controllate da un driver di pacchetto, tranne nei casi in cui è in grado di gestirsele da solo. NOS può utilizzare i driver di pacchetto già mostrati nel capitolo 117 e altri specifici, come nel caso del file `nos_slfp.zip' che contiene il necessario per gestire una connessione PPP partendo dal controllo della porta seriale e del modem.

Per non appesantire troppo la presentazione del sistema NOS, vengono mostrati solo esempi che fanno riferimento a una scheda di rete gestita attraverso un driver di pacchetto configurato in modo da utilizzare l'IRQ 0x7e per comunicare con le applicazioni. Volendo fare il solito esempio della scheda NE2000 configurata per usare l'IRQ 11 e la porta di I/O 0x300, si tratta di usare il comando seguente:

NE2000.COM 0x7e 0x0b 0x300

119.1.3 Avvio del sistema NOS (NET.EXE)

Tutto il sistema NOS è inserito in un solo eseguibile Dos: `NET.EXE'. All'avvio del programma può essere conveniente utilizzare qualche opzione.

NET [-b] [-s <n-porte>] [-d <directory-NOS>] [<file-configurazione>]

Dopo l'avvio, il sistema NOS mostra alcune informazioni riferite alla versione, e quindi l'invito a inserire dei comandi:

KA9Q NOS version 910618 -> 911007 (ghm/was)
Copyright 1990 by Phil Karn, KA9Q
net> _

Qui viene mostrata una versione particolarmente vecchia del programma; se si trattasse di un'edizione specifica per microprocessori i386 o superiori, tale informazione apparirebbe tra quelle che precedono l'invito.

Tutti i comandi che vengono descritti nelle sezioni successive devono essere impartiti al sistema NOS attraverso l'invito `net>', oppure possono essere collocati nel file di configurazione (di solito `AUTOEXEC.NET').

Opzioni e argomenti

-b

Con questa opzione si costringe NOS ad aggiornare lo schermo attraverso le funzioni del BIOS, anziché accedendo direttamente alla memoria video. Ciò rallenta le operazioni, ma può essere necessario in alcune circostanze, quando si vede che la visualizzazione sullo schermo non funziona come ci si aspetterebbe.

-s <n-porte>

In condizioni normali, NOS gestisce un massimo di 40 connessioni (un massimo di 40 porte). Se si vuole modificare questo valore si può intervenire con l'opzione `-s'.

-d <directory-NOS>

Se la struttura di directory che richiede NOS si trova a partire da una posizione differente dalla directory radice del disco `C:', l'opzione `-d' permette di indicarlo esplicitamente.

<file-configurazione>

Se si vuole indicare esplicitamente il file di configurazione (che di solito dovrebbe essere `<directory-NOS>\AUTOEXEC.NET'), questo può essere inserito come ultimo argomento della riga di comando, senza l'indicazione di un'opzione apposita.

Esempi

C:\> NET

Avvia il sistema NOS utilizzando la gerarchia che si articola a partire dalla directory radice del disco `C:' (`C:\SPOOL\*') e il file di configurazione `C:\AUTOEXEC.NET'.

C:\> NET -d C:\NOS

Avvia il sistema NOS utilizzando la gerarchia che si articola a partire dalla directory `C:\NET\' (`C:\NET\SPOOL\*') e il file di configurazione `C:\NET\AUTOEXEC.NET'.

C:\> NET -d C:\NOS C:\NOS.RC

Avvia il sistema NOS utilizzando la gerarchia che si articola a partire dalla directory `C:\NET\' (`C:\NET\SPOOL\*') e il file di configurazione `C:\NOS.RC'.

119.1.4 Conclusione del funzionamento del sistema NOS

Dal momento che il sistema NOS si comporta come una shell, si può intuire il modo attraverso il quale si conclude il suo funzionamento: attraverso il comando `exit':

net> exit

119.1.5 Guida interna

Come suggerisce lo stesso NOS quando si inserisce un comando errato, è disponibile una mini guida interna costituita dall'elenco dei comandi. Si ottiene con `help', oppure semplicemente con `?'. Non è molto, dal momento che non viene mostrata la sintassi rispettiva, comunque è sempre meglio di nulla.

net> help

119.2 Interfacce, instradamento e nomi

Le cose più importanti da fare per poter utilizzare il sistema NOS, sono la definizione delle interfacce, l'instradamento e la risoluzione dei nomi. Le interfacce vengono «attaccate» attraverso il comando `attach', quindi vengono configurate attraverso `ifconfig', alla fine l'instradamento viene definito attraverso il comando `route'. NOS non ha funzionalità di DNS, a parte la possibilità di risolvere alcuni nomi di dominio per conto proprio, ma si può avvalere di un DNS esterno attraverso il comando `domain'.

I comandi che vengono descritti in queste sezioni sono usati generalmente per la configurazione attraverso il file `AUTOEXEC.NET'. Ciò dovrebbe essere intuitivo dato il tipo di operazioni che si svolgono con questi.

119.2.1 Comandi attach e detach

Attraverso il comando `attach' si possono definire le interfacce utilizzate. Di solito l'eseguibile `NET.EXE' è predisposto per la gestione delle porte seriali (`asy') e per l'uso di un driver di pacchetto esterno.

attach asy <I/O> <IRQ> { ppp | slip } <nome-interfaccia> <dim-buffer> <mtu> <bps> [c][r][v]

attach packet <IRQ> <nome-interfaccia> <coda-trasmissione> <mtu>

Quello che si vede rappresenta la sintassi per la definizione di un'interfaccia seriale (PPP, SLIP, o altre che non sono state indicate) e per un'interfaccia comandata da un driver di pacchetto esterno.

Nel caso del tipo `asy', cioè della connessione seriale, il numero di IRQ e l'indirizzo di I/O si riferiscono a quelli della porta seriale stessa; inoltre, gli ultimi argomenti sono la velocità espressa in bps e una stringa facoltativa dove possono apparire le lettere `c', `r' e `v'. Queste lettere rappresentano tre modalità: se appare la `c' si utilizza il protocollo RTS/CTS; se appare la `r' si abilita la sensibilità al segnale CD (Carrier Detect); se appare la `v' si abilita la compressione Van Jacobson delle intestazioni TCP/IP, ma solo per le connessioni SLIP.

Con le interfacce gestite da un driver di pacchetto esterno diventa tutto più facile, dal momento che la cosa più importante è solo l'indicazione del'indirizzo IRQ software (quello che serve a individuare il driver).

Per eliminare un'interfaccia si utilizza invece il comando `detach' secondo la sintassi seguente:

detach <interfaccia>
Esempi

attach packet 0x7e ethernet0 8 1500

Utilizza un driver di pacchetto per gestire una scheda Ethernet. L'indirizzo IRQ per comunicare con il driver è 0x7e; viene definito il nome `ethernet0' per fare riferimento a questa scheda; si pone il limite di otto pacchetti per la coda di trasmissione; si stabilisce l'unità massima di trasmissione in 1500 byte.

attach asy 0x3f8 4 slip sl0 1024 256 9600

Questo esempio è tratto dalla documentazione di NOS e si riferisce a una connessione SLIP attraverso la porta seriale individuata dall'indirizzo di I/O 0x3f8 e dall'IRQ 4. Il nome che viene attribuito è `sl0'; viene definito un buffer di ricezione di 1024 byte; la dimensione massima dei pacchetti trasmessi è di 256 byte; la velocità della porta seriale è di 9600 bps.

attach asy 0x3f8 4 ppp pp0 4096 1500 9600 r

Anche questo esempio è tratto dalla documentazione di NOS e si riferisce a una connessione PPP attraverso la porta seriale individuata dall'indirizzo di I/O 0x3f8 e dall'IRQ 4. Il nome che viene attribuito è `pp0'; viene definito un buffer di ricezione di 4096 byte; la dimensione massima dei pacchetti trasmessi è di 1500 byte; la velocità della porta seriale è di 9600 bps; viene abilitato il controllo della linea CD del modem.

detach ethernet0

Elimina l'interfaccia `ethernet0'.

119.2.2 Comando ifconfig

Attraverso il comando `ifconfig' si possono configurare le interfacce definite in precedenza con il comando `attach'. Il comando può assumere diverse forme, ma in particolare sono importanti gli schemi seguenti:

ifconfig [<nome-interfaccia>]

ifconfig <nome-interfaccia> ipaddress <indirizzo-IP>

ifconfig <nome-interfaccia> netmask <maschera-IP>

Utilizzando il comando da solo, senza argomenti, si ottiene la visualizzazione dello stato di tutte le interfacce di rete, comprese quelle predefinite; se si specifica il nome di un'interfaccia, il risultato si limita allo stato di questa. La seconda e la terza modalità servono invece per abbinare un indirizzo IP e una maschera di rete all'interfaccia.

Esempi

ifconfig ethernet0

Mostra lo stato dell'interfaccia `ethernet0', che in precedenza era stata dichiarata con questo nome.

ifconfig ethernet0 ipaddress 192.168.1.10

Abbina all'interfaccia l'indirizzo IP 192.168.1.10.

ifconfig ethernet0 netmask 255.255.255.0

Abbina all'interfaccia la maschera IP 255.255.255.0.

119.2.3 Comando route

Il comando `route' permette di definire gli instradamenti attraverso le interfacce di rete configurate precedentemente, specificando eventualmente anche i router necessari a raggiungere le reti esterne.

route

route add <indirizzo-IP>/<n-bit-maschera> <nome-interfaccia> [<router>]

route add default <nome-interfaccia> [<router>]

La sintassi mostrata rappresenta una semplificazione del comando necessario a definire un instradamento. La coppia <indirizzo-IP>/<n-bit-maschera> è un modo per rappresentare l'indirizzo di una rete in modo compatto: il numero di bit rappresenta quanti bit iniziali devono essere posti a uno nella maschera di rete.

Per eliminare un instradamento si utilizza la forma seguente:

route drop <indirizzo-IP>/<n-bit-maschera>

route drop default
Esempi

route

Mostra l'instradamento delle interfacce.

route add 192.168.1.0/24 ethernet0

Definisce l'instradamento per la rete identificata dagli indirizzi 192.168.1.* attraverso l'interfaccia `ethernet0'.

route add default ethernet0 192.168.1.254

Definisce l'instradamento predefinito attraverso il router 192.168.1.254.

119.2.4 Comando domain

Il comando `domain' permette di definire quali sono i servizi DNS a cui il sistema NOS può rivolgersi; permette anche di configurare il loro utilizzo e di definire eventualmente una risoluzione locale per alcuni indirizzi. Qui viene mostrato solo come dichiarare l'uso dei servizi DNS e il dominio predefinito.

domain addserver <indirizzo-IP-DNS>

domain suffix [<suffisso-predefinito>]
Esempi

domain addserver 192.168.1.1
domain addserver 192.168.1.2

Dichiara l'uso del servizio DNS collocato presso i nodi 192.168.1.1 e 192.168.1.2.

domain suffix brot.dg.

Dichiara che in caso di nomi di dominio incompleti viene aggiunto il suffisso `brot.dg'.

domain suffix

Mostra il suffisso predefinito per i nomi di dominio.

119.3 Gestione delle sessioni

Il sistema NOS può gestire diverse sessioni di lavoro, corrispondenti ad altrettante attività che implicano l'instaurarsi di una connessione. Per esempio si possono gestire diverse connessioni Telnet simultaneamente, e lo stesso dicasi per l'utilizzo dell'FTP. Tutto questo funziona in modo paragonabile al sistema delle console virtuali di GNU/Linux: con il sistema NOS c'è una finestra per la modalità di comando, dove si trova l'invito, attraverso la quale si impartiscono i comandi, e le finestre delle sessioni che vengono aperte automaticamente in base al tipo di comando che viene dato.

Quando ci si trova a interagire con una sessione è possibile tornare alla finestra della modalità di comando attraverso il tasto [F10] (vale solo per il NOS che si basa sul Dos), e poi da lì è possibile tornare a una sessione attraverso il comando `session'. Da questo si comprende che le sessioni sono numerate, e questo avviene in modo automatico. Una di queste è anche la sessione attiva, ovvero quella a cui si potrebbe fare riferimento quando non se ne specifica il numero.

119.3.1 Comando session

session [<n-sessione>]

Il comando `session' permette di tornare a una sessione ancora attiva, specificandone il numero. Se questo non viene indicato, si ottiene l'elenco delle sessioni esistenti.

Esempi

session

Elenca le sessioni esistenti.

session 1

Torna alla prima sessione.

119.3.2 Comando close

close [<n-sessione>]

Il comando `close' interrompere una connessione TCP attraverso l'invio di un pacchetto FIN (che serve a chiudere una connessione del genere). Il risultato che si ottiene di solito è che la sessione corrispondente termina.

Esempi

close

Interrompe la connessione della sessione corrente.

close 1

Interrompe la connessione della prima sessione.

119.3.3 Comando reset

reset [<n-sessione>]

Il comando `reset' interrompere una connessione TCP attraverso l'invio di un pacchetto RST. Il risultato che si vuole ottenere è la conclusione della sessione corrispondente, ma dal momento che il metodo dell'invio di un pacchetto RST non garantisce l'ottenimento di ciò, sarebbe preferibile utilizzare il comando `close' al suo posto.

119.3.4 Comando abort

abort [<n-sessione>]

Il comando `abort' permette di interrompere un'operazione di carico o scarico dati attraverso una sessione FTP. La sessione in questione non viene chiusa.

Esempi

abort

Interrompe le operazioni di carico-scarico nella sessione corrente, purché di FTP.

abort 1

Interrompe le operazioni di carico-scarico nella prima sessione, purché sia di FTP.

119.4 Attività nel sistema locale

Dal momento che non è possibile intervenire direttamente sul sistema operativo sottostante senza interrompere le connessioni che eventualmente fossero state instaurate, NOS deve incorporare alcune funzionalità che non hanno attinenza con la rete, ma che sono indispensabili a livello pratico.

119.4.1 Directory

I percorsi delle directory possono essere indicati utilizzando sia le barre oblique inverse (`\') che quelle normali (`/') per la separazione dei nomi che li compongono.

cd [<percorso>]

Permette di cambiare la directory corrente nel sistema sottostante. Se viene utilizzato senza l'indicazione del percorso, si ottiene la visualizzazione della directory corrente.

pwd

Mostra quale sia la directory corrente.

dir [<percorso>]

Elenca il contenuto della directory corrente.

mkdir [<percorso>]

Crea una directory nel sistema operativo sottostante.

rmdir [<percorso>]

Elimina una directory nel sistema operativo sottostante.

119.4.2 File

more <file>...

Scorre il testo di uno o più file del sistema operativo sottostante, facendo una pausa tra le schermate.

rename <file-origine> <file-destinazione>

Rinomina o sposta un file del sistema operativo sottostante.

delete <file>...

Elimina i file indicati negli argomenti dal sistema operativo sottostante.

119.4.3 Varie

! | shell

Sospende il funzionamento di NOS per aprire una shell del sistema operativo sottostante (`COMMAND.COM').

119.5 Gestione della rete e delle connessioni

Oltre a quanto visto inizialmente per quanto riguarda la definizione delle interfacce, la loro configurazione, l'instradamento e la risoluzione dei nomi, ci sono una serie di comandi e di funzionalità che riguardano la gestione della rete.

119.5.1 Indirizzi IP e indirizzi MAC

arp

arp flush

Il comando `arp' permette di conoscere il contenuto della tabella di trasformazione degli indirizzi IP in indirizzi fisici e viceversa. Questa viene costruita automaticamente dal sistema, durante il suo funzionamento. Sono disponibili degli argomenti particolari per inserire a forza delle voci in questa tabella, anche se questa operazione non dovrebbe essere necessaria. In particolare, il comando `arp flush' svuota la tabella attuale, costringendo il sistema NOS a ricominciare a costruirsela.

119.5.2 Ping e instradamento

Attraverso il comando `ping' si può inviare una richiesta di eco utilizzando il protocollo ICMP. Questo è il modo consueto per verificare che sia presente un certo nodo nella rete. In generale conviene utilizzare soltanto la sintassi seguente, con la quale viene inviata un'unica richiesta.

ping <host>

Per verificare il percorso dei pacchetti lungo la rete si può utilizzare il comando `hop'. Il comando normale si articola nel modo seguente:

hop check <host>

Tuttavia, si può intervenire su alcuni parametri di funzionamento di questo comando: il TTL (Time To Live),

hop maxttl <max-salti>

l'attesa massima,

hop maxwait <n-secondi>

e il numero di pacchetti di prova che vengono inviati a ogni nodo.

hop queries <n-pacchetti>

Infine, è possibile abilitare o meno la visualizzazione di informazioni aggiuntive:

hop trace [on|off]

119.5.3 Varie

hostname [<nome>]

Attraverso il comando `hostname' è possibile definire o visualizzare il nome attribuito al nodo. Questo dovrebbe corrispondere alla parte finale del nome di dominio, ma in ogni caso serve solo nei messaggi di presentazione del sistema.

socket [<n-porta>]

Attraverso il comando `socket' è possibile conoscere lo stato delle porte. Utilizzandolo senza argomenti si ottiene l'elenco delle porte utilizzate, generalmente quelle dei servizi in ascolto ed eventualmente anche quelle gestite dalle sessioni in cui si utilizzano dei clienti di qualche tipo, mentre specificando una porta precisa si ottengono le statistiche sul traffico intrattenuto.

119.6 NOS come cliente

L'uso più importante del sistema NOS è quello di cliente in grado di utilizzare i servizi fondamentali di una rete TCP/IP. Si tratta principalmente di Telnet e FTP.

119.6.1 Cliente Telnet

Il sistema NOS permette di attivare una sessione Telnet verso un altro sistema che offra la possibilità di accedere attraverso questo tipo di protocollo. Purtroppo, il tipo di terminale corrispondente alla sessione Telnet è molto modesto, tanto che nelle versioni più limitate di NOS non si possono usare nemmeno i tasti freccia.

telnet <host>

Quando si utilizza questo tipo di Telnet per accedere a un nodo corrispondente a un elaboratore GNU/Linux, il tipo di terminale che si vede nella variabile `TERM' è `network', che però non corrisponde ad alcuna voce nel sistema Terminfo o nel sistema Termcap. Eventualmente si può cambiare questo nome con `ansi', o `ansi-mono' se si preferisce.

Da una sessione Telnet è possibile tornare alla modalità di comando premendo il tasto [F10]. Per ritornare alla sessione con Telnet, si potrà poi utilizzare il comando `session'.

119.6.2 Cliente FTP

Il sistema NOS permette di attivare una sessione FTP. Una volta avviata, si ha a disposizione un cliente FTP tradizionale, con comandi molto simili a quelli del programma `ftp' dei sistemi Unix (se ne trova la descrizione nella sezione 102.3.1).

ftp <host>

L'unico vero difetto sta nel sistema operativo sottostante: utilizzando il Dos i nomi dei file che vengono salvati sono ridotti al modello «8.3».

È importante ricordare di modificare sempre il tipo di trasferimento dati, in modo che sia di tipo binario (image): `type i'.

119.7 NOS come servente

I servizi offerti da NOS sono limitati, e comunque dipendono dalla versione di questo sistema. Questi servizi devono essere abilitati attraverso il comando `start'. Dal momento che dipende dalla versione di NOS se un tipo di servizio è disponibile o meno, attraverso il comando `start ?' si ottiene l'elenco di questi.

In generale non conviene avere grandi pretese; probabilmente è il caso di attivare sempre i servizi `discard', `echo', `ftp' e `finger' (ammesso che quest'ultimo possa avere senso).

start discard
start echo
start finger
start ftp

Per converso, volendo disattivare un servizio basta utilizzare il comando `stop' nello stesso modo.

119.7.1 Registrazione degli eventi

NOS permette di annotare gli accessi in un registro abbastanza semplificato. Si attiva questa funzionalità attraverso il comando `log':

log [stop | <file-delle-registrazioni>]

Per esempio, per attivare la registrazione degli accessi nel file `C:\ACCESSI.LOG', si può usare il comando seguente:

log c:\accessi.log

Come si può intuire, il comando `log stop' termina l'attività di registrazione degli accessi, senza interferire con gli accessi stessi. Infine, il comando `log' senza argomenti permette di sapere se questo sia attivo e in tal caso su quale file vengono fatte le annotazioni.

119.7.2 Servente FTP

Per abilitare il servizio FTP, oltre che usare il comando `start ftp', occorre predisporre un file di autorizzazioni: `ftpusers' collocato nella directory radice del servizio NOS. Il file deve contenere delle righe scomposte in quattro campi separati da uno o più spazi, e si possono indicare anche dei commenti che si introducono con il simbolo `#'.

<utente> <password> <percorso> <permessi>

I quattro campi sono obbligatori e il significato è intuitivo:

  1. <utente>   serve a specificare il nome dell'utente che può accedere;

  2. <password>   rappresenta la password in chiaro necessaria per l'accesso -- se si utilizza un asterisco (`*'), viene accettata qualunque password;

  3. <percorso>   indica la directory a partire dalla quale si concede l'accesso all'utente;

  4. <permessi>   è un numero che esprime i permessi consentiti all'utente.

I permessi non sono indicati secondo la tradizione Unix, quindi occorre fare attenzione. I permessi sono espressi con un solo numero ottenuto sommandone altri, che comunque si riferiscono alla directory di partenza e a tutte le sottodirectory: uno rappresenta un permesso di lettura; due rappresenta un permesso di creazione (di aggiunta di file senza poter sovrascrivere o eliminare quelli esistenti); quattro rappresenta un permesso in scrittura (o di sovrascrittura). Si osservi l'esempio seguente:

tizio tazza \home\tizio 7
caio capperi \home\caio 7
semproni sempre \progetto 3
ftp * \pub 1
anonymous * \pub 1

Gli utenti `tizio' e `caio' hanno una loro directory personale in cui possono fare quello che vogliono; l'utente `semproni' partecipa a un lavoro che si trova nella directory `\PROGETTO\' e lì ha la possibilità di immettere file, senza cancellare o sovrascrivere quelli presenti. Infine, gli utenti `ftp' e `anonymous' accedono con una password qualunque alla directory `\PUB\', con il solo permesso di lettura.

119.8 NOS come router

NOS funziona perfettamente come router se l'elaboratore in cui si utilizza dispone di più interfacce di rete. A titolo di esempio viene mostrato in che modo potrebbero essere utilizzate due schede di rete compatibili NE2000. Supponendo che queste utilizzino rispettivamente le risorse IRQ 10, I/O 0x280, e IRQ 11, I/O 0x300, la configurazione del driver di pacchetto (si fa riferimento a quanto descritto nella sezione 117.1) potrebbe essere quella seguente:

NE2000 0x60 0x0a 0x280
NE2000 0x61 0x0b 0x300

Supponendo che queste due schede servano a connettere le reti 192.168.1.* e 192.168.2.*, e supponendo anche che l'instradamento predefinito passi per il router 192.168.1.254, il file di configurazione di NOS potrebbe contenere in particolare le righe seguenti:

# Configurazione delle interfacce di rete.
attach packet 0x60 ethernet0 8 1500
attach packet 0x61 ethernet1 8 1500

# Definizione degli indirizzi IP.
ifconfig ethernet0 ipaddress 192.168.1.10
ifconfig ethernet0 netmask 255.255.255.0
ifconfig ethernet1 ipaddress 192.168.2.10
ifconfig ethernet1 netmask 255.255.255.0

# Instradamento.
route add 192.168.1.0/24 ethernet0
route add 192.168.2.0/24 ethernet1
route add default ethernet0 192.168.1.254

Non c'è bisogno di fare altro: l'attraversamento dei pacchetti da un'interfaccia all'altra avviene automaticamente (purché gli instradamenti siano corretti).

---------------------------

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


1.) NOS è disponibile in varie versioni per diversi sistemi operativi: PMNOS per Presentation Manager (OS/2), AmigaNOS per Amiga, e TNOS per GNU/Linux! L'attenzione di questo capitolo è comunque rivolta alle versioni di NOS per Dos.


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]