Pseudo Windows Terminal Services virtuale per Linux ~ mini-Howto

(Un'altra virtualizzazione è possibile)

Augusto Scatolini (webmaster@comunecampagnano.it)

V1.0, gennaio 2007

Abstract

Introduzione

Installare Linux Ubuntu su un hard disk esterno

Installare VMPlayer (virtualizzazione)

Installare Win2k3 o Windows XP pro sp2

Configurare Win2k3

Configurare Windows XP pro sp2

Configurare RDesktop sui client Linux


Uno dei problemi più grossi che impediscono la diffusione di Linux Desktop (a livello SOHO - Small Office Home Business - per gli utenti in reti lan aziendali medio-piccole), oltre alla ingiustificata diffidenza e alla presunta difficoltà, è causato proprio dalla limitata diffusione di Linux a livello desktop.  

Questa scarsa diffusione (mercato) frena gli investimenti delle Software House nello sviluppo di  applicativi "gestionali" per linux o a convertire (porting) quelli che hanno già sviluppato per piattaforme windows.

La scelta di queste "miopi" politiche aziendali crea grossi problemi agli amministratori (sys admin) che convinti della validità dei sistemi con codice aperto (Open Source), come le centinaia di distribuzioni Linux, sia per l'aspetto della maggiore sicurezza informatica che per il non trascurabile risparmio economico, non possono progettare nè pianificare una migrazione di massa delle workstation della rete perchè nel sistema informatico aziendale "gira" un applicativo importante che presuppone obbligatoriamente la presenza di windows su tutte le postazioni.

** Per esempio applicazioni che richiedono, sul lato client, la presenza di MS Word o il Runtime di MS Access.

L'obiettivo di questo documento è dimostrare che per modificare le politiche aziendali delle Software House l'unico modo è ampliare il parco delle installazioni Linux nelle reti lan aziendali in modo tale da rendere economicamente interessante sviluppare applicazioni gestionali per Linux (lato client). Quindi bisogna fare tutto il possibile per convertire le workstation aziendali da windows a Linux. A qualunque costo.

Se, per abbassare i costi, questa migrazione/conversione può avvenire tramite un processo di virtualizzazione è ancora meglio.

 

1. Introduzione

L'obiettivo finale di questo progetto è la fornitura di uno Pseudo Terminal Services, da parte di una macchina virtuale dove è installato Win2k3 o WinXPpro sp2, a una rete lan di macchine Linux.  La particolarità di questo progetto è che sia la distribuzione Linux (Ubuntu 6.10) che la macchina virtuale Windows risiedono su un hard-disk esterno USB e quindi il sistema finale risulta assolutamente non-invasivo.

In questo modo, quando le postazioni client Linux avranno bisogno della famosa applicazione esclusivamente windows potranno accedere, contemporaneamente, tramite "rdesktop" al desktop remoto della macchina virtuale "server windows".

Requisiti:

2. Installare Linux Ubuntu su un hard disk esterno

La scelta della distribuzione Linux Ubuntu 6.10 "The Edgy Eft" è dovuta alla sua innegabile semplicità di installazione, di gestione e di manutenzione, oltre al fatto di aver trovato una guida per l'installazione su hard disk esterno USB consultabile presso http://www.webalice.it/lorenzo.chiodi/usbdisk/index.html e alla quale rimando chi volesse cimentarsi in questa operazione.
Ribadisco che l'installazione su disco esterno è assolutamente opzionale, va benissimo anche installare Ubuntu su hard disk sia in modo esclusivo che in coabitazione (GRUB) con M$ Winzoz.

Il sito ufficiale per scaricare l'immagine iso internazionale da masterizzare è http://www.ubuntu.com/
Il sito italiano per scaricare l'immagine iso in lingua italiana da masterizzare è http://ubuntu-it.crealabs.it/
Il sito italiano per il supporto a Ubuntu è http://www.ubuntu-it.org/

3. Installare VMPlayer (virtualizzazione)

VMware Player è un programma gratuito capace di "lanciare" macchine virtuali. Una macchina virtuale è un computer a tutti gli effetti che esiste solo a livello software, vi si può installare virtualmente qualsiasi sistema operativo, si possono avere n macchine virtuali sullo stesso PC/disco e si possono far girare più macchine virtuali contemporaneamente. (memoria RAM permettendo)

** ad ogni macchina virtuale va riservata un'adeguata quantità di RAM a discapito della RAM della macchina fisica ospite. LA macchina utilizzata per questo progetto è un AMD 1800 Hz con 1 GB di RAM e un disco esterno USB da 80 GB.

VMPlayer si può scaricare gratuitamente da http://www.vmware.com/download/player/

Esistono altri virtualizzatori come http://www.microsoft.com/italy/windows/virtualpc/default.mspx
o come http://www.xensource.com/  

ma VMPlayer è l'unica soluzione che permette di bypassare la difficoltà della preparazione delle varie macchine virtuali fornendo gratuitamente una serie infinita di macchine virtuali già pronte da scaricare da questa pagina http://www.vmware.com/vmtn/appliances/directory/  

** particolarmente utile è la macchina virtuale Generic LiveCD Virtual Machine scaricabile da  http://dl.vmwarez.com/virtual-machines/vmwarez.com-Generic-LiveCD-Virtual-Machine.zip

** il file è di soli 4kb ma include un drive virtuale da 2gb perchè alcuni LiveCD  necessitano di tale spazio.


Una volta decompresso il file zippato saranno disponibili 4 file:

  1. livecd.iso
  2. vmwarez.com-Generic-LiveCD-Virtual-Machine.nvram
  3. vmwarez.com-Generic-LiveCD-Virtual-Machine.vmdk
  4. vmwarez.com-Generic-LiveCD-Virtual-Machine.vmx
Ora, sostituendo il file livecd.iso, presente nella macchina pronta, con l'immagine iso di un qualsiasi live cd si potrà lanciare qualsiasi live cd senza dover fare il boot della macchina reale perchè il boot sarà fatto dalla macchina virtuale.

Stressando questa particolarità, se la macchina virtuale fa il boot per lanciare il live cd, farà il boot anche per un cd di installazione di Windows (sia 2k3 che XP). Ed infatti lo fa! L'unico limite è la misura del disco virtuale di 2 GB che può non essere sufficiente per una installazione completa. A prescindere dalla possibilità di installare  versioni ridotte di Windows come TinyXP (112 MB) o Winlite (307 MB) la preparazione di un disco virtuale più capiente può essere fatta sotto linux con il programma Qemu ed esattamente con il comando

qemu-img create -f vmdk WindowsXPPro.vmdk 4G

per installare XP su un disco da 4 GB
oppure

qemu-img create -f vmdk Windows2k3.vmdk 8G

per installare 2k3 su un disco da 8 GB

** comando per installare Quemu =                         sudo apt-get install qemu

4. Installare Win2k3 o Windows XP pro sp2

Una volta scaricato e installato VMPlayer,
scaricata la macchina Generic LiveCD Virtual Machine,
scaricato Qemu e
creato il disco virtuale da 4 o più GB, (il file vmdk)
sostituito il file livecd.iso con l'immagine iso della versione di windows desiderata,
lanciando il VMPlayer
mandando in esecuzione il file vmx
la macchina virtuale farà il boot a partire dal file livecd.iso e
l'installazione procederà come se avvenisse normalmente sul disco rigido

** normalmente con questa macchina virtuale non è disponibile il floppy-disk, e il CD-ROM virtuale sarà dedicato esclusivamente al file livecd.iso. Quindi se dovesse rendersi necessaria una fonte esterna (per esempio per installare Office) si dovranno utilizzare risorse di rete come dischi, cartelle e CD-ROM condivisi.

5. Configurare Win2k3

Nel titolo è scritto "Pseudo Windows Terminal Services" perchè affinchè diversi utenti possano accedere contemporaneamente allo stesso server windows, ognuno con il proprio profilo e password, non è necessario installare alcun servizio (ruolo) aggiuntivo come "Terminal Services"
Win2k3 supporta nativamente il desktop remoto multiplo e contemporaneo agli utenti della macchina Windows senza dover necessariamente installare Domini, Active Directory nè Terminal Server.

** questo alleggerisce in maniera drastica il server windows soprattutto in fase di avvio.

Di seguito la procedura dettagliata per creare gli utenti e abilitarli al Desktop Remoto

start --> programmi --> strumenti di amministrazione --> gestione computer --> utenti e gruppi locali --> users --> click destro

****** da ripetere per ciascun utente remoto
nuovo utente --> nome utente: nomeutente1 --> password: paswordutente1 --> conferma password:  paswordutente1
togliere il flag a "cambiamento obbligatorio password all'accesso successivo" --> crea
*********************************************

click destro su risorse computer --> proprietà --> connessione remota
flag su "consenti agli utenti di connettersi in remoto al computer" --> seleziona utenti remoti

****** da ripetere per ciascun utente remoto
aggiungi --> digitare il nome dell'utente --> OK
*********************************************

6. Configurare Windows XP pro sp2

Se non si ha a disposizione un CD di installazione di win2k3 originale (non è facile) si può optare per win XP pro sp2 (più diffuso). Si obietterà che XP non supporta i Desktop Remoti multipli contemporaneamente. E' vero, ma si può addomesticare.

In sostanza si deve sostituire una libreria presente in C:\Windows\System32 e precisamente il file termsrv.dll e poi  modificare le policy degli utenti permettendo n connessioni di desktop remoto contemporaneamente.

Primo passo: scaricare la libreria alternativa da http://sig9.com/files/termserv.zip

poi si deve riavviare windows in modalità provvisoria seguendo i seguenti passi:

Start --> esegui --> msconfig --> boot.ini --> flag su /SAFEBOOT --> OK --> riavvia

si rinomina C:\Windows\System32\termsrv.dll in C:\Windows\System32\termsrv.dl_

si rinomina C:\Windows\System32\dllcache\termsrv.dll in C:\Windows\System32\dllcache\termsrv.dl_

si copia il file scaricato termsrv.dll in C:\Windows\System32\

Start --> esegui --> gpedit.msc --> configurazione computer --> modelli amministrativi --> componenti di windows --> servizi terminal --> abilitare "limita il numero di connessioni" e specificare il numero massimo di connessioni

Start --> esegui --> msconfig --> boot.ini --> togliere il flag su /SAFEBOOT --> OK --> riavvia

** se qualcosa va storto ripristinare la vecchia termsrv.dl_ cancellando quella modificata

7. Configurare RDesktop sui client Linux

Su Ubuntu (lato client) è molto comodo Gnome-RDP da configurare come segue:

nuovo --> session name : (nome utente) --> computer : (IP del server virtuale) --> user name: (nome utente) --> password : (password utente) --> RDP --> Remote Desktop Size : (800x600) -->  colors : (16 bit) --> OK

Infine cliccando sul nome "session name" l'utente client accederà tramite RDP al server virtuale windows.

** La virtualizzazione di questo servizio può rivelarsi molto utile per la mobilità del server (basta copiare la cartella vmwarez.com-Generic-LiveCD-Virtual-Machine) indistintamente su una macchina Windows o su una macchina Linux, in questo modo risulta molto semplice fare un backup di sicurezza dell'intero server.

Seguono due screenshot:
l'avvio del server win2k3 su Ubuntu e
l'avvio di rdesktop su Ubuntu client

 

FINE

questo documento è rilasciato con licenza CopyLeft - (tutti i rovesci sono riservati) - ovvero fatene quello che vi pare!

altre miniguide