Thinclient via LTSP + RDP

Escenari

Dependències policia local Inca. uns 15 PC, 1 servidor.

Equips : 

  • Windowx 2000/XP
  • Paquet ofimàtic
  • Aplicatiu de gestió policial (part client)

Servidor sobre plataforma ESXi Vmware

  • Windows 2003 server
  • BBDD SQL  server
  • llicències terminal server infrautilitzades

Proposta de millora

Es vol optimitzar els recursos que es disposen per tal de fer el sistema actual, més senzill de gestionar i mantenir. El nombre d’equips no és gran, pero el seu servei és 24×7

Solució a emprar

Es crearà un servidor amb Ubuntu 10.04, al qual se li instal·larà el linux terminal server project (LTSP).

Els equips dels usuaris, arrancaran via xarxa amb el protocol PXE i aquest iniciaran via xarxa una sessió al server LTSP, el qual enlloc de servir un escriptori gnome, kde, lxce … enllaçarà amb el servidor de terminal server (RDP) i ens mostrarà per pantalla una sessió d’inici de widnows.

En resum, el usuari arrancarà l’ordinador i aquest en uns 10 segons li mostrarà per pantalla el login i password característic d’un equip windows.

Instal·lació LTSP

A la maquina que tenim per server linux a consola :

Instal·lació del servei LTSP

aptitude install ltsp-server-standalone

instal·lació del client LTSP. Pot tardar una bona estona.

 sudo ltsp-build-client --arch i386

Un cop fet actualitzem

sudo ltsp-update-kernels && sudo ltsp-update-sshkeys && sudo ltsp-update-image --arch i386

Un cop fet, haurem de modificar el fitxer

/etc/ltsp/dhcpd.conf

Modifiquem tot el que fa referencia a les IP i el rang de la nostra xarxa

 # Default LTSP dhcpd.conf config file.
 #
 authoritative;
 subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.20 192.168.0.250;
 option domain-name "example.com";
 option domain-name-servers 192.168.0.1;
 option broadcast-address 192.168.0.255;
 option routers 192.168.0.1;
 # next-server 192.168.0.1;
 # get-lease-hostnames true;
 option subnet-mask 255.255.255.0;
 option root-path "/opt/ltsp/i386";
 if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
 filename "/ltsp/i386/pxelinux.0";
 } else {
       filename "/ltsp/i386/nbi.img";
 }
 }
NOTA : Si volem que el servidor LTSP també sigui servidor DHCP, haurem d’instalar el servidor adient. isc-dhcp-server i configurar posteriorment el fitxer /etc/dhcp3/dhcpd.conf
 

Terminals LTSP – Gnome

Un cop arribat aqui, ja tendriem el servidor de LTSP activat, si iniciessim un ordinador via xarxa, aquest trobaria el servidor i iniciaria una sessió LTSP monstran-nos un escriptori complet Gnome (és el que hem instal·lat per defecte)

Fins aqui, ja podriem veure com tenim una primera pasa realitzada, com que volem que enlloc del escriptori gnome se’ns llanci una conexió al servidor RDP de windows farem les seguents modificacions.

Modificacions a LTSP

creem el  fitxer

/var/lib/tftpboot/ltsp/i386/lts.conf

i adins hi fiquem el seguent codi

[default]

# desactivem la detecció automatica de la pantalla, sino, per el RDP
# ens donaria problemes de resolució

XRANDR_DISABLE = True

# resolució del terminal, és la manera com veure el RDP a la sessió de
# linux, entendra que és un ordinador a 1024x768
X_MODE_0 = 1024x768

# parametres per al RDP "-a 15" 15 bits de color de profunditat
#   "-k es" seleccionem teclat espanyol
#  "-f" ens indica que executarem el rdp en pantalla completa RDP_OPTIONS = "-a 15 -k es -f" servidor RDP terminal server al qual ens connectem
RDP_OPTIONS = "-a 15 -k es -f"
RDP_SERVER = 192.168.0.3

# pantalla de la sessió que emprem per el rdesktop
SCREEN_02 = rdesktop

NOTA : si volguessim alguna configuració especial per algun equip en concret, hauriem de posar la seva MAC address al fitxter i els parametres que volguessim personalitzats.

En aquest exemple veiem com la maquina que te aquesta MAC es connecta a un servidor RDP distint al que es connectarien per defecte la resta de màquines.

[00:50:56:c0:00:01]
# servidor RDP terminal server al qual ens connectem
RDP_SERVER = 10.0.0.5

Resultat final

Un cop tenim aquest fitxer realitzat, es guarda i veurem com a iniciar el thinclient, aquest un cop connectat al LTSP es connectarà al RDP.

D’aquesta manera tenim centralitzada la gestió d’aplicacions i el manteniment dels equips clients es veu reduïda dràsticament , a part de poder emprar màquines totalment desfassades, nomes necessiten uns 64 MB de RAM i una tarja de xarxa amb protocol PXE.

En aquest video podeu veure part del proces de la creació del thinclient, si voleu veure el resultat final, aneu al temps marcat com 3m 54s

Bug de teclat

Hem detectat que hi ha un bug de teclat, el qual no ens deixava tenir pitjada la tecla de “Blocks Majus”, a les hores, per solventar aquest problema al Ubuntu 10.04 s’ha de editar el fitxer

nano /usr/share/rdesktop/keymaps/common

es localitza la linia

Caps_Lock 0×0 inhibit

i com que jo no soc d’esborrar res, la deixarem comentada.

Solucions a error detectats

Pantalla negra on hi diu “Negotiation:”

Solució : sudo /etc/init.d/ndb-server restart

Suposo que reiniciar el servidor hagués estat la mateixa solució.

Bibliografia 

Aquesta entrada s'ha publicat en GNU/linux i etiquetada amb , , , . Afegiu a les adreces d'interès l'enllaç permanent.

13 respostes a Thinclient via LTSP + RDP

  1. Joan ha dit:

    Otras, moltissímes gràcies.
    Al principi el boot del client se m’aturaba al prompt (initramfs). Al servidor LTSP he fet un update i un upgrade (he trobat un foro a on s’explicaba):
    chroot /opt/ltsp/i386
    apt-get update
    apt-get upgrade
    I m’ha carregat el gnome
    Encara no he arribat a l’escriptori GNOME, perquè m’està demanant credencials per a iniciar sessió (??).

    • Tomeu F. Sastre ha dit:

      hola Joan, gracies per el teu comentari.

      t’ho esta demanat sense carregar interficie gràfica ? és a dir des de consola ?

      Es molt extrany, encara que sempre passen coses molt rares, sempre hi ha solució. No obstant et recomano que facis les proves amb màquines virtuals, per la flexibilitat de anar envant/enrrera si ens equivoquem o ens trobem a un cul de sac.

      Per altra banda també et puc recomanar que provis (nosaltres ho tenim a un aula de formació) el Edubuntu, al instal·lar ja el mateix assistent s’encarrega de tot per montar el LTSP.

      be, ja ens diras quelcom !

  2. Joan ha dit:

    Hola Tomeu
    Al final he iniciat sessió amb un dels usuaris del servidor UBUNTU/LTSP. Tot i que he tingut problemes amb “la rata”, i l’escriptori GNOME s’em quedava clavat-penjat, pens que serà una bona manera de reutilitzar molts ordinador que fins ara teníem descartats com a recanvi per peces. He decidit fer-te cas i provaré EDUBUNTU (ja m’ho estic descarregant).
    Efectivament, el servidor si que el tinc virtualitzat amb VMWARE (més còmode i pots fer “snapshots” per a revertir si tens un problema). Però les proves les he fetes amb PCs directament a la xarxa de producció (con dos co…!). Quan vaig instal•lar l’Ubuntu/LTSP vaig mirar de no activar el DHCP (tinc la xarxa amb NT i un dels servidors 2k3 amb DHCP), pensava que ho tenia tot controlat, però… ahir alguns usuaris van començar a trucar-me dient que no podien accedir a una sèrie de servidors… ops! NSLOOKUP als PCs donava un servidor DNS incorrecte. Amb una utilitat per a detectar servidors_dhcp vaig descobrir que l’Ubuntu/LTSP donava servei de DHCP. Un al servidor, faig “service –atatus-all” i veig “isc-dhcp-server” un mini DHCP lligat al LTSP, ho desinstal i tot bé una altra vegada. Moraleja: fes servir VMAWARE per a les proves 🙂 .

  3. Joan ha dit:

    Hola tomeu, a veure si t’has trobat aquest problema i me pots ajudar:
    He instal•lat l’Edubuntu 12.04 amb LTSP, i l’he configurat per a que els Thin Clients facin un autologin amb un usuari i que s’executi rdesktop.
    Arranca el Thin Client, fa autologin l’usuari configurat, però la pantalla es queda en negre i amb el cursor. Si trec l’opció de executar rdesktop, els usuaris inicien correctament a l’escriptori gnome.
    Tens cap idea?

  4. Tomeu F. Sastre ha dit:

    hola que tal ?
    això em va passar també a mi, és degut a que no troba el nom o adreça del server RDP. Revisa-ho

    Amb la versió que em vaig trobar el problema va ser la 11.10 d’Edubuntu, suposo que la 12.04 passa el mateix.

    Un altre prova que pots fer, es des de una sessió LTSP amb Gnome, iniciar un terminal i veure si el rdesktop t’obre la sessió de RDP (rdesktop )

    També pots mirar-te aquesta modificació del fitxer : /var/lib/tftpboot/ltsp/i386/lts.conf
    en especial les linies finals
    DNS_SERVER = 192.168.200.29 -> servidor DNS
    RDP_SERVER = 192.168.200.35 -> servidor Terminal Server

    === /var/lib/tftpboot/ltsp/i386/lts.conf ===========================
    [default]

    # desactivem la detecció automatica de la pantalla, sino, per el RDP
    # ens donaria problemes de resolució

    XRANDR_DISABLE = True
    XkbSymbols = “es(pc105)”
    XkbModel = “pc105”
    XkbLayout = “es”

    # resolució del terminal, és la manera com veure el RDP a la sessió de
    # linux, entendra que és un ordinador a 1024×768
    X_MODE_0 = 1024×768

    # parametres per al RDP “-a 15” 15 bits de color de profunditat
    # “-k es” seleccionem teclat espanyol
    # “-f” ens indica que executarem el rdp en pantalla completa RDP_OPTIONS = “-a 15 -k es -f” servidor RDP terminal server al qual ens connectem
    RDP_OPTIONS = “-a 15 -k es -f -u ””

    DNS_SERVER = 192.168.200.29
    RDP_SERVER = 192.168.200.35
    # pantalla de la sessió que emprem per el rdesktop
    SCREEN_02 = rdesktop

  5. Joan ha dit:

    Mel d’abella! M’ha funcionat. És fantàstic, els usuaris no fan res, no inicien sessió al GNOME del servidor UBUNTU i automàticament els hi apareix el logon del Terminal Server.

    SEDES (potser t’interessa)
    Tinc altres 2 sedes conectades per TUNEL (diferents xarxes IP), volia estalviar-me haver de tenir 1 server UBUNTU amb LTSP en cada sede: vaig motar un TFTP server amb els fitxers que hi ha al TFTP de l’UBUNTU, vaig configurar les opcions 17, 66 i 67 del DHCP dels Windows 2k3 Server que ja tenia (cada xarxa te el seu propi Domain Controller i serveis com DHCP estan allotjats en aquests servidors Windows), i finalment vaig editar el fitxer “default” ubicat al TFTP /ltsp/i386/pxelinux.cfg/ afegint la IP del servidor UBUNTU (ubicat a una xarxa IP diferent de les de les sedes). Quedaría així:


    default ltsp
    label ltsp
    kernel vmlinuz
    append ro initrd=initrd.img root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7 nbdroot=172.16.0.100:ltsp_i386

    Salutacions, Tomeu
    PD: Com ho fas per a aturar els PCs?

  6. Joan ha dit:

    Hola Tomeu
    A veure si em pots ajudar:
    Com ho feis per a aturar els Thin Clients si no t’inicien sessió al GNOME i només veuen la sessió l’Escriptori Remot al Terminal Server?
    De moment ho aturem amb botonada o tallant la corrent (gens elegant, però es que no sé com fer-ho)
    Salutacions

    • Tomeu F. Sastre ha dit:

      Hola Joan.

      Doncs, no, per ara es fa pitjant el boto de power. Si, no es gaire elegant, però per exemple els thinclient que tenim Axel, funcionen exactament igual. Pensa que no hi ha dispositius en funcionament com ara el disc dur, per tant el risc que s’espenyi alguna cosa és petit. Vaja al igual que quan aturavem els windows 95, quan surtia el famos “ahora puede apagar el equipo”. 🙂

      • Joan ha dit:

        Hola Miquel
        Gràcies. Vaig a provar-ho i vos dic coses (poso la resposta al altre post)
        Per cert, si vos interessa, he aconseguit reproduïr el sò del servidor de Terminal Server al client LTSP, i també que els pendrives que la gent fica al client LTSP surtin com una carpeta al servidor de Terminal Server

  7. Retroenllaç: Thinclient via LTSP + RDP (II) | IllaBit

  8. Retroenllaç: Crear un PC-thinclient amb Debian 8 | IllaBit

  9. Retroenllaç: Crear un PC-thinclient amb Debian 9 | IllaBit

Deixa un comentari