miércoles, 17 de septiembre de 2014

Cómo configurar un Terminal Server en CentOS con LTSP

Linux Terminal Server Project o LTPS es un proyecto que intenta dar soporte para Thin Clients en entornos con servidores GNU/Linux. LTSP es ideal para escuelas, laboratorios de informática, negocios y cualquier otro tipo de organización que tenga en mente implementar un servidor de terminales para sus Thin clients. Los mismos tendrán la capacidad de navegar por Internet, enviar y recibir correo, crear documentos, etc.

Actualmente LTSP parece estar algo abandonado, ya que desde enero de 2013 no hay noticias en su sitio oficial. Sin embargo, es posible configurarlo y ponerlo a punto en un entorno de producción (preferiblemente aulas y laboratorios informáticos); aunque cualquier linuxero con suficiente conocimiento pudiera resolver cualquier inconveniente que surja.



Como ejemplo usaremos CentOS 6.5 Desktop como servidor desde cual podemos configurar LTSP para que sirva a CentOS Desktop también. Los usuarios de los Thin clients los crearemos de la forma en que se crean normalmente en GNU/Linux. Así que, manos a la obra...

Instalar los repos EPEL y RPMFusion, necesarios para el resto del proceso:
[root@ltspserver ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@ltspserver ~]# rpm -Uvh epel-release-6-8.noarch.rpm
[root@ltspserver ~]# wget http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm 
[root@ltspserver ~]# wget http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm
[root@ltspserver ~]# rpm -Uvh rpmfusion-*
Actualizar el sistema:
[root@ltspserver ~]# yum update -y
No se por qué, pero ellos recomiendan desinstalar esto
[root@ltspserver ~]# rpm -e nspluginwrapper --allmatches
Instalar LTSP desde su repositorio firmado y LSTP-Server desde el repositorio Epel:
[root@ltspserver ~]# rpm --import http://ltsprepo.s3.amazonaws.com/rpm/RPM-GPG-KEY-ltsp
[root@ltspserver ~]# wget http://ltsprepo.s3.amazonaws.com/rpm/el6/x86_64/ltsp-release-5-9.el6.noarch.rpm
[root@ltspserver ~]# rpm -Uvh ltsp-release-5-9.el6.noarch.rpm
[root@ltspserver ~]# yum install -y ltsp-server
Exportamos la ruta que usa LTSP por defecto para servir el sistema oprativo a los Thin Clients:
[root@ltspserver ~]# nano /etc/exports
/opt/ltsp *(ro,async,no_root_squash)
Configurar las interfaces de red correctamente. Una para que nos sirva de Gateway y la otra para la red local y los Thin Clients:
[root@ltspserver ~]# nano /etc/sysconfig/network-scripts/ifcfg-eth1 
DEVICE=eth1
HWADDR=08:00:27:32:9E:00
TYPE=Ethernet
UUID=e076b3a3-0b4d-44de-ad9f-9b141543c264
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
IPV6INIT=no
PEERDNS=no
DEFROUTE=no
DNS1=127.0.0.1
IPADDR=192.168.67.1
NETMASK=255.255.255.0

[root@ltspserver ~]# nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:77:89:55
TYPE=Ethernet
UUID=1aeda30e-4689-4ffd-be78-6e056ca7cee0
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
IPADDR=10.0.2.15
NETMASK=255.255.255.0
GATEWAY=10.0.2.2
Reiniciamos el servicio de red:
[root@ltspserver ~]# chkconfig network on
[root@ltspserver ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 10.0.2.15 is already in use for device eth0...
                                                           [  OK  ]
Bringing up interface eth1:  Determining if ip address 192.168.67.1 is already in use for device eth1...
                                                           [  OK  ]
Encendemos al arranque el servicio de red:
[root@ltspserver ~]# chkconfig network on
Reiniciar y encender el resto de los servicios necesarios para nuestro servidor LTSP
[root@ltspserver ~]# for service in xinetd ltsp-dhcpd rpcbind nfs sshd; do chkconfig $service on; service $service restart; done
Stopping xinetd:                                         [  FAILED  ]
Starting xinetd:                                           [  OK  ]
Shutting down ltsp-dhcpd:                                [  FAILED  ]
Starting ltsp-dhcpd:                                       [  OK  ]
Stopping rpcbind:                                          [  OK  ]
Starting rpcbind:                                          [  OK  ]
Shutting down NFS daemon:                                [  FAILED  ]
Shutting down NFS mountd:                                [  FAILED  ]
Shutting down NFS quotas:                                [  FAILED  ]
Shutting down NFS services:                              [  FAILED  ]
Shutting down RPC idmapd:                                [  FAILED  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
Configuramos otros servicios que son parte LTSP para que inicien durante el arranque del sistema
[root@ltspserver ~]# for server in ldminfod nbdrootd nbdswapd tftp; do chkconfig $server on; done
Deshabilitamos IPtables de momento, para que los clientes inicien sin tropiezo. Luego pueden encenderlo y permitir el paso por los puertos necesarios.
[root@ltspserver ~]# chkconfig iptables off; service iptables stop
Ahora podemos comenzar a instalar el sistema operativo que usarán los Thin Clients
[root@ltspserver ~]# ltsp-build-client --arch i386
Desde uno de los Thin Clients podemos iniciar, o desde una máquina virtual para hacer pruebas.


Y esto es todo. Nos logueamos con un usuario existente en el servidor. Podemos crear varios usuarios y hacer cambios en los escritorios de cada uno y comprobaremos que los mismos permanecen. ¡Y cuidado al apagar el Thin Client como root, ya que apagará también el servidor!

En el sitio oficial de LTSP comentan que es posible integrarlo con LDAP o Samba para la parte de los usuarios. Veo también que como utiliza la tecnología PXE, es posible integrarlo con nuestro Servidor de Instalaciones PXE para use las imágenes de allí servimos.

http://ltsp.org/

Artículos relacionados



Widget by Hoctro | Jack Book

4 comentarios:

  1. El comando nano no me funciona me genera error de sintaxis ayuda porfavor!!

    ResponderEliminar
  2. que tal, tengo un problema no me carga la imagen en el cliente, bootea desde la red y obtiene ip dinamica pero no carga un entorno grafico se queda la pantalla en negro, alguna sugerencia ?? saludos

    ResponderEliminar
    Respuestas
    1. Hola Edwin.

      Esta guia no da errores. Si le hiciste algun cambio para ajustarla a tu escenario entonces debes revisar bien todo para asegurarte de que hay coherencia en todo.

      Un saludo.

      Eliminar