Esperienza su Linux Terminal Server (LTSP) |
|
|
|
Per la realizzazione di questo modulo useremo
Netkit4TIC
con la
connettività con la rete reale (leggere il file README).
Inoltre occorre procurarsi un hub e un paio di vecchi pc
con una scheda di rete ciascuno.
La rete con il relativo schema di numerazione assume
l'esistenza di una rete reale con numerazione 192.168.100.0/24
come illustrato
nella mappa
(pdf,
xml).
L'esperienza (tarball)
è limitata alla messa in funzione di un "fat" client
con la sola interfaccia a caratteri attraverso l'utilizzazione
della versione 3.0 del progetto
LTSP.
Nella vm sono stati già installati
ltsp-core-i386 e
ltsp-kernel-2.4.22-i386
scaricati dal sito termserv.berlios.de
e installati tramite apt.
Nel caso volessimo attivare la modalità grafica e perciò X
occorrerà installare
ltsp-x-core-i386,
ltsp-x-fonts-i386 e, ad esempio, nel caso di scheda
grafica Mach64
x-xserver-mach64-3.3.6-i386.
Dopo aver settato correttamente l'ambiente Netkit lancia lo script:
user@realHost$ ./lab start
che attiva e configura un macchina virtuale di nome lts
con i seguenti servizi:
dhcp: per l'assegnazione degli IP a partire dai MAC addresstftp: per il trasferimento del kernelnfs: per la condivisione del filesystemxinetd: per l'attivazione di tftp
Verifica funzionamento DHCP |
|
Per verificare il corretto funzionamento del server DHCP almeno sulla
rete 192.168.77.0/24 possiamo provare l'applicativo pump.
Per prima cosa assegniamo un particolare MAC (00:00:00:00:00:01)
address all'interfaccia tap0. Prima facciamo lo
shutdown dell'interfaccia e poi, dopo aver cambiato il MAC,
ritiriamo su l'interfaccia :
root@realHost# ifconfig tap0 down; \
ifconfig tap0 hw ether 00:00:00:00:00:01; \
ifconfig tap0 192.168.77.1
Configuriamo il servizio DHCP in modo tale che assegni a tale MAC address l'ip 192.168.77.1:
# /etc/dhcp3/dhcpd.conf
[...]
host test {
hardware ethernet 00:00:00:00:00:01;
fixed-address 192.168.77.1;
}
e ora possiamo sperimentare rispettivamente il leasing, il rinnovo (-R) e il rilascio (-r) di IP Address. Poichè non vogliamo cambiare la configurazione del default gateway e del name server del nodo specificheremo questa volontà nelle opzioni del comando:
root@realHost# export PARMS=--no-gateway --no-dns --no-gateway --no-resolvconf; \
pump -i tap0 $PARMS; \
pump -R -i tap0 $PARMS; \
pump -r -i tap0 $PARMS
Abbiamo registrato la cattura (File ACP) del traffico effettuata con il comando:
root@realHost# tcpdump -i any -n -s 1524 -w LTSP-dhcp udp
Verifica funzionamento TFTP |
|
Per verificare il funzionamento del trivial FTP ci poniamo nel realHost e diamo il comando get:
user@realHost$ tftp 192.168.77.2 tftp> get lts/vmlinuz-2.4.22-ltsp-2 Received 1731429 bytes in 6.2 seconds tftp> quit
Considerazioni sulla rete reale |
|
Nel caso assai probabile di utilizzo in una rete di laboratorio con una
numerazione
diversa da 192.168.100.0/24 occorre apportare delle modifiche ai
file /etc/exports, /etc/hosts.allow e
/etc/dhcp3/dhcpd.conf
segnalate di seguito in colore:
# /etc/hosts.allow [...] in.tftpd: 192.168.100. portmap: 192.168.100. mountd: 192.168.100.
# /etc/exports
/opt/ltsp/i386 192.168.100.0/255.255.255.0(ro,no_root_squash)
# /etc/dhcp3/dhcpd.conf [...] option broadcast-address 192.168.100.255; option routers 192.168.100.100; option domain-name-servers 192.168.100.100; [...] shared-network WORKSTATIONS { subnet 192.168.100.0 netmask 255.255.255.0 { } } group { use-host-decl-names on; option log-servers 192.168.100.100; # The following is _NOT_ a MAC address! option option-128 e4:45:74:68:00:00; host ws002 { hardware ethernet 00:10:a7:17:30:a5; fixed-address 192.168.100.2; filename "/tftpboot/lts/vmlinuz-2.4.22-ltsp-2"; } host ws102 { hardware ethernet 00:60:97:51:20:7e; fixed-address 192.168.100.3; filename "/tftpboot/lts/vmlinuz-2.4.22-ltsp-2"; # this is mandatory for ISA card: option option-129 "NIC=3c509"; } }
Esperienza |
|
La rete reale dove stanno le workstation è distinta dalla rete virtuale dove è installato il servizio Terminal con il server dhcp e quindi occorre attivare il servizio di dhcp relay nel "router" in modo che avvenga il forward verso il server:
root@realHost# dhcrelay3 192.168.77.2
Ora per ogni vecchio pc a disposizione occorre identificare la marca e il modello della scheda di rete e quindi punta il tuo browser sull'URL:
user@realHost$ firefox http://www.rom-o-matic.net/5.2.2/
e seleziona la scheda di rete appropriata, poi premi "Get ROM" e costruisci il dischetto di boot per il vecchio pc:
root@realHost# cat eb-5.2.2-tuaScheda.zdsk > /dev/fd0
Prendi un hub e collegalo al pc su cui è installato
Netkit4TIC e ora collega anche il vecchio pc all'hub.
Ora puoi inserire il floppy nel vecchio pc e accenderlo. La prima
cosa da fare è scoprire il MAC address della scheda
di rete. Per far questo basta visualizzare il file di log
del server (virtuale):
root@lts# tail -f /var/log/syslog [...] DHCPDISCOVER from 00:60:97:51:20:7e via 192.168.100.100
ma lo visualizza anche la stessa workstation al momento del boot
da floppy.
Inserisci il MAC nel file /etc/dhcpd.conf
e fai ripartire il server dhcp:
root@lts# /etc/init.d/dhcp3-server restart
A questo punto resettiamo il vecchio pc e poco dopo lo vedremo accettare il leasing dell'IP address, poi chiederà, attraverso tftp, il download del kernel che poi caricherà 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 e al termine apparirà il prompt della shell.
Ecco uno screenshot del desktop della macchina reale con il file di log e lo schema della rete.
Il live-{CD,USB} contiene una configurazione di Terminal Server che puoi provare in Knoppix Terminal server.
|
|
Sandro Doro (email me)