Laboratorio

Modulo 7 - Sistemi operativi di rete

Copyright Creative Commons License 2003, 2004, 2005, 2006 Sandro Doro

Esperienza su Knoppix Terminal Server

Per la realizzazione di questo modulo useremo Netkit4TIC con la connettività con la rete reale (leggere il file README).
I materiali necessari sono due pc di cui uno fungerà da server e l'altro da client. Quest'ultimo può essere una macchina economica anche senza lettore CD.
La connessione minimale delle due macchine può evitare l'uso di un hub utilizzando un cavo "incrociato" che collega le due schede (l'utilizzo del Terminal Server su una rete locale è stata testato con esito positivo con l'utilizzo del server DHCP locale ma con il vincolo che non sia presente un server PXE).
Questa esperienza ha lo scopo di illustrare le potenzialità del meccanismo Terminal Server mostrando come, a partire da un computer avviato con il live-{CD,USB} Netkit4TIC, sia possibile eseguire rapidamente il boot di altri pc che si autoconfigurano come clone della macchina server.
L'esperienza viene completata attraverso la verifica di connettività di due macchine virtuali residenti su Terminal differenti.

Ecco la mappa (pdf, xml) della rete dell'esercizio con il relativo schema di numerazione. Scarica il tarball (2KB) contenente lo script lab che genera la vm nell'host TerminalServer e lo script lab-c che genera la vm nell'host TerminalClient.

Configurazione TerminalServer server

Il live-{CD,USB} contiene una configurazione di Terminal Server attivabile seguendo TUX menu icon > Servizi > Start KNOPPIX Terminal Server ( 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16 ). Per la configurazione occorre decidere se usare il servizio DHCP della rete in cui siamo (eventualmente) ospitati o attivarlo sul nostro nodo (io ho scelto la seconda ipotesi).
Dopo aver risposto a tutte le domande con OK tranne che per il servizio DHCP e spuntando le selezioni di sicurezza nel pannello 14, la procedura termina con il lancio dei servizi TFTP, DHCP e NFS esattamente come nell'esperienza virtuale LTSP.

Configurazione TerminalServer client

Dal lato client possiamo usare lo stesso metodo usato per l'esperienza virtuale LTSP e cioè un Etherboot boot floppy con la ROM scaricata da www.rom-o-matic.net. Quindi punta il tuo browser sull'URL:

user@TerminalServer$ firefox http://www.rom-o-matic.net/5.2.6/

e seleziona la scheda di rete appropriata, poi premi "Get ROM" e costruisci il dischetto di boot per il Terminal Client:

root@TerminalServer# cat eb-5.2.6-tuaScheda.zdsk > /dev/fd0

Ora puoi inserire il floppy nel vecchio pc e accenderlo. Dopo poco vedrai il messaggio:

KNOPPIX Terminalserver Client started, booting in 30 seconds.

e dando invio parte la sequenza di boot. Poco dopo vedremo il leasing dell'IP address, poi il trasferimento attraverso tftp, il download del kernel e il suo caricamento in memoria. In seguito, dopo aver identificato la scheda di rete lo script di inizializzazione compierà una seconda richiesta di leasing dhcp.
Come ultimo passo verrà montato via NFS una parte del filesystem situato nel CDROM e lo startup del display manager.

Ecco uno screenshot del desktop del Terminal Server dove nel lato destro ci sono le applicazioni che risiedono nel Terminal Server e nel lato sinistro le corrispondenti applicazioni in esecuzione sul Terminal Client (visualizzate nel dekstop del Terminal Server tramite l'impostazione della variabile DISPLAY e l'uso del comando xhost).

Comunicazione tra vm

Ora mostriamo la capacità di connessione delle macchine virtuali. Attiviamo l'esperienza nel Terminal Server:

terminalServer$ sudo tunctl -u knoppix
terminalServer# ifconfig tap0 192.168.77.1; \
                echo "1" > /proc/sys/net/ipv4/ip_forward; \
                route add -net 192.168.88.0/25 gw 192.168.0.250
terminalServer$ ./lab start

Per attivare l'esperienza nel Terminal Client dobbiamo averne una copia in locale e allo scopo sfruttiamo il già attivo servizio tftp:

knoppix@terminalServer$ cp KTS.tgz /tftpboot
knoppix@terminalClient$ tfpt 192.168.0.1
tftp> binary
tftp> get KTS.tgz
tftp> quit
knoppix@terminalClient$ tar zxf KTS.tgz
knoppix@terminalClient$ cd KTS

Attiviamo l'esperienza nel Terminal Client:

terminalServer$ sudo tunctl -u knoppix
terminalServer# ifconfig tap0 192.168.88.1; \
                echo "1" > /proc/sys/net/ipv4/ip_forward; \
                route add -net 192.168.77.0/25 gw 192.168.0.1
terminalServer$ ./lab-c start

Ora possiamo provare la connettività tra le due macchine virtuali residenti su Terminal diversi:

root@vm-s# ping 192.168.88.2

con la cattura del traffico effettuata sulla eth0 del TerminalServer.

Configurazione di NX

Se vuoi provare NX client/server segui le istruzioni.

Creative Commons License FREE THE MOUSE Valid HTML! Sandro Doro (email me)
Ultima modifica: $Date: 2007-02-10 08:07:29 $