Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/irlab/doc/library/linux/AppLinux/al134.htm
Äàòà èçìåíåíèÿ: Tue Sep 21 18:08:45 1999 Äàòà èíäåêñèðîâàíèÿ: Sat Dec 22 13:23:40 2007 Êîäèðîâêà: Ïîèñêîâûå ñëîâà: m 63 |
Come sistema operativo libero, GNU/Linux 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 FreeDOS che potrebbe giustificare ancora meglio questo tipo di ragionamento (http://www.freedos.org). |
Negli esempi che seguono si immagina di avere una piccola rete locale con due elaboratori.
192.168.1.1 dinkel.brot.dg
con il sistema GNU/Linux
192.168.1.15 dos.brot.dg
con il sistema Dos
Il secondo elaboratore Õ quello che si vuole utilizzare con i programmi Dos descritti in questo capitolo. Alla fine del capitolo viene presentato il programma PCroute, e in quel caso si utilizzeranno indirizzi differenti.
Prima di proseguire, Õ importante evitare di farsi illusioni: si tratta di programmi molto deboli, utili solo per IPv4 e a volte incapaci di attraversare i router. |
Per poter comunicare attraverso un elaboratore con sistema operativo Dos in una rete TCP/IP occorre un cosiddetto driver di pacchetto (packet driver), ovvero un driver software in grado di fornire un minimo servizio basato sul protocollo IP. La raccolta di driver di pacchetto piÛ comune Õ quella della Crynwr (http://www.crynwr.com).
I programmi che si intendono utilizzare devono essere predisposti per il tipo di driver di pacchetto a disposizione.
Una raccolta di driver di pacchetto organizzata da Crynwr e distribuita, almeno inizialmente, con la licenza GNU-GPL, puÐ essere ottenuta presso Simtelnet (la nota distribuzione di software shareware e freeware per Dos e MS-Windows) all'indirizzo ftp://ftp.cdrom.com/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 particolare, vale la pena di soffermarsi sui driver per le schede Ethernet NE2000 e per la connessione PLIP attraverso la porta parallela.
NE2000.COM
Si tratta del driver adatto per la connessione attraverso schede Ethernet compatibili NE2000. Questo programma deve essere avviato con i parametri necessari per poter comunicare con la scheda di rete e con le applicazioni.
NE2000.COM [<opzioni>] [<IRQ-software>] [<IRQ-della-scheda>] [<I/O-della-scheda>] |
Le schede NE2000 vengono configurate, attraverso ponticelli o software di configurazione, predisponendo un IRQ e un indirizzo di I/O. Oltre a queste indicazioni, Õ necessario specificare un indirizzo IRQ aggiuntivo che viene utilizzato per la comunicazione tra i programmi e il driver stesso. La scelta di questo 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 |
õ opportuno aggiungere questa riga all'interno del file AUTOEXEC.BAT
.
PLIP.COM
Si tratta del driver adatto per la connessione attraverso la porta parallela con un cavo PLIP. Questo programma deve essere avviato con i parametri necessari per poter comunicare con la scheda di rete e con le applicazioni.
PLIP.COM [<opzioni>] [<IRQ-software>] [<IRQ-della-porta>] [<I/O-della-porta>] |
Come nel caso delle schede NE2000, Õ necessario specificare un indirizzo IRQ aggiuntivo che viene utilizzato per la comunicazione tra i programmi e il driver stesso. L'indirizzo 0x7e dovrebbe andare bene. Supponendo di avere a disposizione una porta parallela che utilizza IRQ 7 (0x07) e indirizzo di I/O 0x378, si dovrÞ avviare il driver nel modo seguente:
PLIP.COM 0x7e 0x07 0x378 |
õ opportuno aggiungere questa riga all'interno del file AUTOEXEC.BAT
.
Si tratta di un programma di navigazione a caratteri, ma relativamente completo, da utilizzare insieme a un driver di pacchetto per il TCP/IP. PuÐ essere ottenuto presso la sua origine, University of Kansas, all'indirizzo ftp://ftp2.cc.ukans.edu/pub/WWW/DosLynx/. Per quanto possibile, questo applicativo Õ molto accurato, per esempio permette l'uso del mouse.
L'eseguibile Õ precisamente DOSLYNX.EXE
che si avvia senza l'indicazione di argomenti particolari; ma prima di poter essere utilizzato occorre predisporre il file DOSLYNX.CFG
.
Figura 105.1:
La guida interna di DosLynx.
DosLynx permette anche l'invio di messaggi di posta elettronica, ma non la loro ricezione o lettura.
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 di rete (netmask).
my_ip=192.168.1.15 netmask=255.255.255.0 |
Quindi occorre indicare l'indirizzo del router (gateway) e del server DNS 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 dell'elaboratore locale.
domainslist="brot.dg" hostname=dos |
Per il resto, questo file di configurazione viene giÞ fornito con un esempio molto ben commentato. Vale comunque la pena di indicare:
l'attivazione del collegamento con l'esterno;
il proprio indirizzo di posta elettronica, che viene utilizzato come mittente per i messaggi inviati;
l'indicazione dell'elaboratore a cui fare riferimento per l'inoltro dei messaggi (SMTP) inviati;
l'indicazione dell'elaboratore a cui fare riferimento per l'accesso a NNTP (news).
networked=YES mailaddr=daniele@dinkel.brot.dg smtphost=192.168.1.1 nntphost=192.168.1.1 |
Si tratta di una piccola raccolta di programmi da utilizzare insieme a un driver di pacchetto per il TCP/IP. PuÐ essere ottenuta presso Simtelnet all'indirizzo ftp://ftp.cdrom.com/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
.
L'ultima versione di questa raccolta dovrebbe essere la 2.3.08 che perÐ sembra avere qualche problema, in particolare non puÐ essere utilizzata quando si abilita il Path MTU discovery durante la compilazione del kernel Linux. La versione 2.3.07.4 (precedente) dovrebbe essere esente da questo difetto. Inoltre, alcune versioni precedenti alla 2.3.08, compresa la 2.3.07.4, contengono piÛ programmi di utilitÞ accessori, come un programma per il ping e uno per il tracciamento dell'instradamento (traceroute). Per trovare la versione 2.3.07.4 si puÐ utilizzare http://ftpsearch.lycos.com effettuando una ricerca per il file |
CONFIG.TEL
Õ un file di testo contenente l'indicazione della configurazione del gruppetto di programmi che compongono il Telnet di NCSA. Per prima cosa deve essere definito l'indirizzo IP e la maschera di rete (netmask).
myip=192.168.1.15 netmask=255.255.255.0 |
Quindi occorre definire le caratteristiche del driver di pacchetto utilizzato, che a loro volta dipendono dal tipo di scheda di rete. L'esempio seguente riguarda il caso del driver di pacchetto Crynwr per la scheda NE2000 (NE2000.COM 0x7e 0x0b 0x300
). Occorre fare attenzione alla voce ioaddr=
che non si riferisce a un indirizzo di I/O, ma all'IRQ software del driver di pacchetto.
hardware=packet interrupt=11 ioaddr=0x7e |
Seguono una serie di altre informazioni, in particolare sono interessanti le seguenti.
myname=dos.brot.dg termtype="vt100" keyfile=".\keymap.tel" services=".\services.tel" ftp=yes ftpwrt=yes passfile=".\password.tel" |
Quindi vengono richieste le informazioni sui nodi che possono essere contattati. Vengono inizialmente indicate delle caratteristiche generali predefinite, quindi i dati particolari di determinati nodi.
name=default # Seguono una serie di caratteristiche predefinite # ... # Inizia la definizione dell'elaboratore «dinkel.brot.dg» name=dinkel.brot.dg hostip=192.168.1.1 gateway=0 # Non Õ un router nameserver=1 # õ un Name Server # Inizia la definizione dell'alias «dinkel» name=dinkel copyfrom=dinkel.brot.dg |
All'interno del file CONFIG.TEL
, con la voce keyfile=
, viene dichiarato il nome e la collocazione di un file di configurazione della tastiera. Lo scopo di questo file Õ definire una corrispondenza tra tasti premuti e segnali inviati. Telnet NCSA fornisce giÞ questo file e ha il nome KEYFILE.TEL
Per poter conoscere i codici a cui corrispondono i tasti della propria tastiera, si puÐ utilizzare il programma SCANCHEK.EXE
.
In generale, non conviene modificare il file originale, piuttosto, Õ meglio tentare diversi tipi di configurazione di terminale assegnando un valore opportuno alla variabile di ambiente TERM
di GNU/Linux o alla voce termtype=
del file CONFIG.TEL
. si possono provare, in particolare, i valori vt100
e vt220
.
Il programma TELBIN.EXE
puÐ funzionare anche come un semplice server FTP per accessi singoli.
*1*
Per questo, Õ necessario definire un file contenente informazioni sugli utenti e sui loro permessi di accesso. Il nome e la posizione di questo file viene definito all'interno di CONFIG.TEL
, con la voce passfile=
, e di solito si tratta di PASSWORD.TEL
.
Per crearlo o modificarlo, conviene utilizzare il programma TELPASS.EXE
, per esempio nel modo seguente. Il programma stesso suggerisce le operazioni da compiere.
C:\NCSATELN>
telpass password.tel
SERVICES.TEL
Õ il file dei servizi di rete ed Õ analogo al file /etc/services
(
77.2.1). Viene giÞ fornito configurato correttamente.
TELBIN [<host>] |
Il programma TELBIN.EXE
Õ il piÛ importante di questo gruppo, ed Õ quello che permette di attivare una connessione Telnet con un elaboratore GNU/Linux o un altro Unix. Se il programma non riesce a connettersi con l'elaboratore indicato come argomento, o se questo non viene indicato, si avvia come server FTP e accetta una sola connessione alla volta.
Quando si vuole utilizzare TELBIN.EXE
come server FTP occorre predisporre il file degli utenti, solitamente PASSWORD.TEL
.
FTPBIN [<host>] |
FTPBIN.EXE
Õ il secondo programma come importanza. Si tratta di un semplice client FTP abbastanza funzionante. I comandi che mette a disposizione sono i soliti per questo tipo di programma, e per ottenere aiuto si puÐ utilizzare il punto interrogativo (?
).
FINGER [<utente>]@<host> |
Il programma FINGER.EXE
permette di ottenere informazioni sugli utenti connessi in un determinato elaboratore (host). Il risultato di questa interrogazione Õ analogo a quello del suo omonimo negli ambienti Unix.
Si tratta di una piccola raccolta di programmi per la gestione di un server di stampa secondo lo stile del demone lpd
. Nelle situazioni in cui il sistema riesce a funzionare, permette di riutilizzare un vecchio PC, anche un XT, per questo scopo. PuÐ essere ottenuto presso Simtelnet all'indirizzo ftp://ftp.cdrom.com/pub/simtelnet/msdos/lan/pprd200.zip.
Prima di poter essere utilizzato, deve essere preparato il file di configurazione WATTCP.CFG
.
WATTCP.CFG
Õ il file di testo contenente la 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.15 HOSTNAME = dos NETMASK = 255.255.255.0 |
Quindi occorre indicare il server DNS, il nome del proprio dominio e il router (gateway).
NAMESERVER = 192.168.1.1 DOMAINLIST = brot.dg GATEWAY = 192.168.1.1 |
Infine la dimensione della memoria tampone (buffer) di trasmissione e ricezione.
TXBUFSIZE=8192 RXBUFSIZE=8192 |
Gli altri parametri non servono per l'uso normale.
pprd [<opzioni>] |
Il programma PPRD.EXE
viene avviato normalmente senza l'indicazione di alcuna opzione; Õ sufficiente una corretta configurazione attraverso il file WATTCP.CFG
.
Salvo una diversa configurazione, il programma offre la stampante (o le stampanti) con un nome corrispondente a quello usato dal Dos per identificare il dispositivo: lpt1
, lpt2
, ...
Nell'elaboratore GNU/Linux dal quale si vogliono inviare le stampe occorre sistemare il file /etc/printcap
in modo adeguato. Quello che segue Õ un esempio in cui:
la stampante predefinita punta direttamente alla stampante remota, il cui nome Õ lpt1
;
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;
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/lpd/lp:\ :rm=192.168.1.15:\ :rp=lpt1:\ :mx#0:\ :sf:\ :sh: # ps:\ :lp=/dev/null:\ :sd=/var/spool/lpd/postscript:\ :lf=/var/spool/lpd/postscript/log:\ :if=/var/spool/lpd/postscript/input-filter:\ :sh:\ :sf:\ :mx#0: # tx:\ :lp=/dev/null:\ :sd=/var/spool/lpd/text:\ :lf=/var/spool/lpd/text/log:\ :if=/var/spool/lpd/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 /bin/grep -v '(%%' | /usr/bin/gs -q -dNOPAUSE -sPAPERSIZE=letter \ -sDEVICE=eps9high -sOutputFile=- - | /usr/bin/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 /bin/cat | /usr/bin/unix2dos | /usr/bin/lpr |
POPMail Õ un ottimo programma per la gestione della posta elettronica attraverso la connessione con un servizio POP2 o POP3. PuÐ essere ottenuto presso Simtelnet all'indirizzo ftp://ftp.cdrom.com/pub/simtelnet/msdos/pktdrvr/popml322.zip.
La configurazione viene fatta attraverso il programma stesso e non richiede la preparazione di alcun file.
Figura 105.2:
La composizione di un messaggio di posta elettronica attraverso POPMail.
popmail |
POPMail si compone di un unico eseguibile monolitico: POPMAIL.EXE
. Tutte le sue funzionalitÞ sono incorporate in questo, compresa la configurazione. Appena si avvia il programma si ottiene un'interfaccia amichevole che permette l'uso del mouse.
La configurazione del programma si definisce attraverso le funzioni del menu Setup
. In particolare Õ importante la voce Network
, attraverso cui si accede a una maschera per la definizione degli indirizzi e dei nomi utilizzati. In questa fase, Õ importante stabilire il tipo di protocollo che si intende utilizzare. Questo lo si fa attraverso l'indicazione della porta di comunicazione. Quella predefinita Õ 109 corrispondente a POP2, altrimenti si puÐ utilizzare la porta 110 in modo da collegarsi a un servizio POP3.
Figura 105.3:
La finestra principale della configurazione di POPMail. Si puÐ osservare che il nodo Õ quello che fornisce il servizio SMTP, mentre subito sotto Õ indicato l'indirizzo dell'elaboratore locale.
Figura 105.4:
Selezionando il pulsante Advanced
dalla finestra principale di configurazione, si ottiene questa finestra di informazioni aggiuntive. La selezione del tipo di protocollo dipende dal numero di porta selezionato. In questo caso, essendo il numero 110, si utilizza il protocollo POP3.
Una volta definita la configurazione, si puÐ iniziare a utilizzare il programma per ricevere e spedire posta. Esistono tre finestre: una per la composizione dei messaggi, un'altra per la loro lettura e l'ultima per il taglia-copia-incolla. Per passare da una finestra all'altra, occorre richiamare questo menu.
Il menu dell'applicazione, quello precedente a File
, permette di accedere a funzionalitÞ aggiuntive e molto utili. Si puÐ utilizzare una finestra Telnet, si puÐ ottenere la risoluzione di indirizzi IP e si puÐ eseguire il ping.
Figura 105.5:
Una sessione Telnet attraverso POPMail.
Figura 105.6:
La presenza di una funzione di ping completa l'applicativo POPMail.
PCroute permette di trasformare un vecchio PC (i286 o inferiore) in un router. PuÐ essere ottenuto presso Simtelnet all'indirizzo ftp://ftp.cdrom.com/pub/simtelnet/msdos/network/pcrte224.zip.
Nell'archivio che viene distribuito, Õ presente il sorgente e diverse versioni compilate, per l'uso delle schede di rete piÛ comuni nel passato. Tra queste versioni giÞ pronte ne esiste una in grado di utilizzare i driver di pacchetto mostrati all'inizio di questo capitolo. Gli esempi che verranno mostrati qui si riferiscono all'utilizzo dei driver di pacchetto.
Se si decide di utilizzare la versione giÞ compilata per i driver di pacchetto, cioÕ PKTPKT.EXE
, Õ necessario prima configurare i driver di pacchetto, poi si puÐ pensare alla configurazione di PCroute.
La versione precompilata, PKTPKT.EXE
, prevede l'utilizzo di due interrupt software per comunicare con i driver di pacchetto, 0x60 e 0x61, dove il primo si riferisce alla prima interfaccia e l'altro alla seconda.
Supponendo di utilizzare schede di rete compatibili NE2000, e che utilizzino rispettivamente le risorse IRQ 10, I/O 0x280, e IRQ 11, I/O 0x300, la configurazione dei driver di pacchetto dovrebbe essere la seguente:
ne2000 0x60 0x0a 0x280 ne2000 0x61 0x0b 0x300 |
Per fare funzionare PCroute Õ necessario l'eseguibile PCROUTE.EXE
, nel nostro caso si tratta di PKTPKT.EXE
a cui viene cambiato nome in questo modo, e CONFIG.EXE
, che serve a generare il file di configurazione di PCroute.
Si suppone che la prima scheda sia inserita nella rete 192.168.1.0 e che abbia l'indirizzo 192.168.1.254; inoltre si suppone che la seconda sia nella rete 192.168.2.0 con l'indirizzo 192.168.2.254. Non si prevede la necessitÞ di indicare altri instradamenti per mezzo di altri router.
C:\PCROUTE>
CONFIG
[Invio]
This program creates/edits the pcroute.cfg file |
Inizia una configurazione interattiva, a cominciare dalle indicazioni riferite alla prima interfaccia, cioÕ quella collegata al driver di pacchetto attraverso l'IRQ 0x60.
Configuring an interface |
Address for the interface [0.0.0.0] ?
192.168.1.254
[Invio]
Subnet mask for the interface [255.255.255.0] ?
255.255.255.0
[Invio]
Flag Meanings (if set) Bit 0 (1h) - Don't send routing updates out this interface Bit 1 (2h) - Don't listen to routing updates from this interface Bit 2 (4h) - Proxy Arp for all subnets Bit 3 (8h) - Turn off directed broadcasts Bit 4 (10h) - Turn off the issuing of ICMP redirects Bit 5 (20h) - Broadcast using old (0's) format |
Flags (HEX) for the interface [0H] ?
0H
[Invio]
Routing Metric (HEX) for the interface [1H] ?
1H
[Invio]
A questo punto si passa alla configurazione della seconda interfaccia, cioÕ quella collegata al driver di pacchetto attraverso l'IRQ 0x61.
Configuring an interface |
Address for the interface [0.0.0.0] ?
192.168.2.254
[Invio]
Subnet mask for the interface [255.255.255.0] ?
255.255.255.0
[Invio]
Flag Meanings (if set) Bit 0 (1h) - Don't send routing updates out this interface Bit 1 (2h) - Don't listen to routing updates from this interface Bit 2 (4h) - Proxy Arp for all subnets Bit 3 (8h) - Turn off directed broadcasts Bit 4 (10h) - Turn off the issuing of ICMP redirects Bit 5 (20h) - Broadcast using old (0's) format |
Flags (HEX) for the interface [0H] ?
0H
[Invio]
Routing Metric (HEX) for the interface [1H] ?
1H
[Invio]
Gli instradamenti sulle reti cui sono connesse le interfacce vengono definiti in modo automatico. Si decide di non indicare altri instradamenti particolari.
If you wish to configure static routes do so here. To stop type a '.' Flag Meanings (if set) Bit 0 (1h) - Local route, do not propagate it Bit 1 (2h) - Transient route, subject to RIP protocol |
Network [0.0.0.0] ?
.
[Invio]
Da questo punto non si seleziona alcuna opzione particolare.
If you wish to forward bootp packets please enter the address of the address to forward it to. This address can be a directed broadcast. 0.0.0.0 means don't forward |
Address to forward bootp packets [0.0.0.0] ?
0.0.0.0
[Invio]
Once PCroute boots up, it sends all log messages to a network host running a BSD UNIX syslogd daemon. To disable logging enter 0.0.0.0 |
Host to send loging info to [0.0.0.0] ?
0.0.0.0
[Invio]
Mask Meanings (0 = Log, 1 = Don't log) Bit 0 (1h) - System Bit 1 (2h) - Routing Bit 2 (4h) - Monitor Bit 3 (8h) - Localtalk |
Logging mask for this router [0H] ?
0H
[Invio]
There are 8 routing 'levels' supported 0 - Emergency 1 - Alert 2 - Critical 3 - Error 4 - Warning 5 - Notice 6 - info 7 - Debug Only messages with a level less than the logging level are sent |
Logging level [0H] ?
0H
[Invio]
A questo punto la configurazione termina e ne viene generato il file PCROUTE.CFG
.
PCroute, per funzionare richiede solo l'avvio dell'eseguibile (PCROUTE.EXE
), che ha la necessitÞ di trovare il file PCROUTE.CFG
nella directory corrente. Dopo l'avvio, l'elaboratore risulta bloccato, essendo destinato esclusivamente alla funzione di instradamento.
La documentazione di PCroute spiega meglio come gestire le varie opzioni che nell'esempio sono state semplicemente evitate, e anche come sfruttare la possibilitÞ di monitorare il funzionamento di PCroute attraverso il registro di sistema di un elaboratore come GNU/Linux.
The valuable DOS freeware page
---------------------------
Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ pluto.linux.it
1.) Non Õ il caso di fare affidamento su questa funzionalitÞ di TELBIN.EXE
perchÈ non Õ perfettamente funzionante.