Linux, come sistema operativo freeware costituisce la scelta ottimale, se non altro dal punto di vista economico, per la realizzazione di reti locali. Ma anche il recupero di vecchia tecnologia può essere di grande aiuto. Il vecchio hardware basato su i286 può essere introdotto in una rete TCP/IP per servizi classici quali telnet, ftp e altro.
È da tenere presente che è in corso la realizzazione del progetto Free-DOS che potrebbe giustificare ancora meglio questo tipo di ragionamento ( www.freedos.org).
Negli esempi che seguono si immagina di avere una piccola rete locale con due computer.
Il secondo computer è quello che si vuole utilizzare con i programmi descritti in questa sezione.
Per poter comunicare attraverso un computer con sistema operativo Dos in una rete TCP/IP occorre un così detto packet driver.
Una raccolta di packet driver organizzata da Crynwr e distribuita (almeno inizialmente) con la licenza GNU-GPL può essere ottenuta presso Simtel.Net all'indirizzo seguente.
www.simtel.net/pub/simtelnet/msdos/pktdrvr/pktd11.zip
All'interno della raccolta si può trovare un lungo elenco di driver per vari modelli di schede di rete Ethernet. In questa sezione mi riferisco solo al driver per schede NE2000 compatibili, perché sono le schede con cui ho potuto fare i miei esperimenti.
Questo driver deve essere avviato con i parametri necessari per poter comunicare con la scheda di rete e con le applicazioni.
ne2000.com
[<IRQ-software>]
[<IRQ-della-scheda>]
[<I/O-della-scheda>]
La scelta dell'indirizzo IRQ software è la parte più delicata. L'indirizzo 0x7e dovrebbe andare bene. Supponendo di avere installato una scheda configurata con IRQ 11 (0x0b) e indirizzo di I/O 0x300, si dovrà avviare il driver nel modo seguente:
ne2000.com 0x7e 0x0b 0x300
Sarebbe il caso di aggiungere questa riga all'interno del file autoexec.bat.
Si tratta di un web browser a caratteri, ma relativamente completo, da utilizzare insieme a un packet driver per il TCP/IP. Può essere ottenuto presso la sua origine, University of Kansas, all'indirizzo seguente.
ftp2.cc.ukans.edu/pub/WWW/DosLynx/
Prima di poter essere utilizzato occorre predisporre il file doslynx.cfg.
© The University of Kansas (doslynx@lark.cc.ukans.edu).
Freeware.
Il programma si chiama doslynx.exe e si avvia senza l'indicazione di particolari parametri. Risponde all'uso del mouse.
Si tratta di un file di testo contenente l'indicazione della configurazione di doslynx. Per prima cosa deve essere definito l'indirizzo IP e la maschera della sottorete (subnet mask).
my_ip=192.168.1.2
netmask=255.255.255.0
Quindi occorre indicare l'indirizzo del router (gateway) e del name server anche se in realtà possono non esistere nella rete locale che si utilizza.
gateway=192.168.1.1
nameserver=192.168.1.1
Viene specificato quindi il dominio e il nome del computer locale.
domainslist="zigozago.dg"
hostname=pippo
Per il resto, questo file di configurazione viene già fornito con un esempio molto ben commentato.
Si tratta di una piccola raccolta di programmi da utilizzare insieme a un packet driver per il TCP/IP. Può essere ottenuta presso Simtel.Net all'indirizzo seguente.
www.simtel.net/pub/simtelnet/msdos/ncsatlnt/
Nelle sezioni seguenti vengono descritti solo alcuni dei programmi di questa raccolta. Prima di poter essere utilizzati occorre predisporre il file config.tel.
Public domain.
Il programma si chiama finger.exe e permette di ottenere informazioni sugli utenti connessi in un determinato computer host.
ftp si può avviare attraverso il file ftp.bat, oppure direttamente con ftpbin.exe.
Il programma si chiama lpq.exe e permette di interrogare la coda di stampa di un server di stampa.
Il programma si chiama lpr.exe e permette di stampare uno o più file utilizzando un server di stampa.
Il programma si chiama lprm.exe e permette di eliminare la coda di stampa in un server di stampa.
Per utilizzare telnet correttamente occorre prima modificare il file telnet.bat in modo da specificare il computer host predefinito. Il programma vero e proprio si chiama telbin.exe.
Si tratta di un file di testo contenente l'indicazione della configurazione del gruppetto di programmi NCSA Telnet. Per prima cosa deve essere definito l'indirizzo IP e la maschera della sottorete (subnet mask).
myip=192.168.1.2
netmask=255.255.255.0
Quindi occorre definire le caratteristiche del packet driver utilizzato, che a loro volta dipendono dal tipo di scheda di rete. Nel caso del packet driver Crynwr per la scheda ne2000 (ne2000.com 0x7e 0x0b 0x300):
hardware=packet
interrupt=11
ioaddr=0x7e
Seguono una serie di altre informazioni, in particolare sono interessanti le seguenti.
myname=pippo.zigozago.dg
termtype="vt100"
keyfile=".\keymap.tel"
services=".\services.tel"
ftp=yes
ftpwrt=yes
passfile=".\password.tel"
Quindi vengono richieste le informazioni sui computer host che possono essere contattati. Vengono inizialmente indicate delle caratteristiche generali predefinite, quindi i dati particolari di determinati host.
name=default
# Seguono una serie di caratteristiche predefinite
# ...
# Inizia la definizione del computer ``topolino.zigozago.dg''
name=topolino.zigozago.dg
hostip=192.168.1.1</tt>
gateway=0 # Non è un router
nameserver=0 # Non è un Name Server
# Inizia la definizione dell'alias ``topolino''
name=topolino
copyfrom=topolino.zigozago.dg
È il file di definizione della tastiera.
È il file delle password e viene creato attraverso telpass.exe.
È il file dei servizi di rete ed è analogo al file /etc/services ( services).
Si tratta di un programma che, insieme a un packet driver per il TCP/IP, permette di trasformare un vecchio PC in un server di stampa lpd. Può essere ottenuto presso Simtel.Net all'indirizzo seguente.
http://www.simtel.net/pub/simtelnet/msdos/lan/pprd200.zip
Prima di poter essere utilizzato, deve essere preparato il file di configurazione wattcp.cfg.
© Ken Yap (ken@syd.dit.csiro.au).
Artistic License ( licenza-artistic ).
Per utilizzare pprd.exe correttamente occorre prima modificare il file wattcp.cfg. Quindi sarà sufficiente avviare il programma e il sistema sarà trasformato in un server di stampa.
Si tratta di un file di testo contenente l'indicazione della configurazione TCP/IP del programma pprd.exe.
Per prima cosa deve essere definito l'indirizzo IP, il nome corrispondente e la maschera di rete (o sottorete).
MY_IP = 192.168.1.2
HOSTNAME = pippo
NETMASK = 255.255.255.0
Quindi occorre indicare il name server, il nome del proprio dominio e il router (gateway).
NAMESERVER = 192.168.1.1
DOMAINLIST = zigozago.dg
GATEWAY = 192.168.1.1
Infine la dimensione dei buffer di trasmissione e ricezione.
TXBUFSIZE=8192
RXBUFSIZE=8192
Gli altri parametri non servono per l'uso normale.
Nel computer Linux dal quale si vogliono inviare le stampe occorre sistemare il file /etc/printcap in modo adeguato. Quello che segue è un esempio in cui:
#======================================================================
# /etc/printcap
#======================================================================
lp:\
:lp=:\
:sd=/var/spool/lp1:\
:rm=192.168.1.2:\
:rp=lpt1:\
:mx#0:\
:sf:\
:sh:
#
ps:\
:lp=/dev/null:\
:sd=/var/spool/postscript:\
:lf=/var/spool/postscript/log:\
:if=/var/spool/postscript/input-filter:\
:sh:\
:sf:\
:mx#0:
#
tx:\
:lp=/dev/null:\
:sd=/var/spool/text:\
:lf=/var/spool/text/log:\
:if=/var/spool/text/input-filter:\
:sh:\
:sf:\
:mx#0:
Segue lo script usato come filtro di input per la stampa in PostScript. Lo script riceve i dati dallo standard input e attraverso GhostScript lo trasforma in un file adatto per la stampa su una stampante a nove aghi tipo IBM-EPSON e dirige l'output verso la stampante predefinita, cioè quella remota.
#!/bin/sh
#======================================================================
# /var/spool/postscript/input-filter
#======================================================================
grep -v '(%%' | gs -q -dNOPAUSE -sPAGESIZE=letter -sDEVICE=eps9high \
-sOutputFile=- - | lpr
Segue lo script usato come filtro di input
per la stampa dei file di testo.
Lo script riceve i dati dallo standard input
e attraverso il programma unix2dos
lo trasforma in un file di testo in cui
ogni riga è terminata dalla sequenza
#!/bin/sh
#======================================================================
# /var/spool/text/input-filter
#======================================================================
cat | /usr/local/bin/unix2dos | lpr
1997.10.26 - Scritto da Daniele Giacomini daniele@calion.com (vedi copyright: Appunti Linux).