Capitolo successivo Capitolo precedente Indice

63. DOS TCP/IP

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.

  1. 192.168.1.1 topolino.zigozago.dg
  2. 192.168.1.2 pippo.zigozago.dg

Il secondo computer è quello che si vuole utilizzare con i programmi descritti in questa sezione.

63.1 Packet driver

Per poter comunicare attraverso un computer con sistema operativo Dos in una rete TCP/IP occorre un così detto packet driver.

Crynwr Packet Driver Collection

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.

ne2000.com

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.

63.2 DosLynx

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.

Copyright e Licenza

© The University of Kansas (doslynx@lark.cc.ukans.edu).

Freeware.

doslynx.exe

Il programma si chiama doslynx.exe e si avvia senza l'indicazione di particolari parametri. Risponde all'uso del mouse.

doslynx.cfg

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.

63.3 NCSA Telnet

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.

Copyright e Licenza

Public domain.

finger

Il programma si chiama finger.exe e permette di ottenere informazioni sugli utenti connessi in un determinato computer host.

ftp

ftp si può avviare attraverso il file ftp.bat, oppure direttamente con ftpbin.exe.

lpq

Il programma si chiama lpq.exe e permette di interrogare la coda di stampa di un server di stampa.

lpr

Il programma si chiama lpr.exe e permette di stampare uno o più file utilizzando un server di stampa.

lprm

Il programma si chiama lprm.exe e permette di eliminare la coda di stampa in un server di stampa.

telnet

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.

config.tel

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

keyfile.tel

È il file di definizione della tastiera.

password.tel

È il file delle password e viene creato attraverso telpass.exe.

services.tel

È il file dei servizi di rete ed è analogo al file /etc/services ( services).

63.4 PPRD Network LPD printer server

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.

Copyright e Licenza

© Ken Yap (ken@syd.dit.csiro.au).

Artistic License ( licenza-artistic ).

pprd.exe

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.

wattcp.cfg

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.

printcap e filtri.

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:

  1. la stampante predefinita punta direttamente alla stampante remota, il cui nome predefinito è lpt1;
  2. la stampante ps utilizza un filtro che trasforma un documento PostScript in un file adatto alla stampante remota e poi lo ridirige alla stampante predefinita;
  3. la stampante tx utilizza un filtro che trasforma un file di testo in stile Unix in un file di testo in stile Dos e poi lo ridirige alla stampante predefinita.

#======================================================================
# /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 <CR><LF> come richiesto dalle stampanti normali. L'output viene quindi diretto verso la stampante predefinita, cioè quella remota.

#!/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).


Capitolo successivo Capitolo precedente Indice