Instruções para clientes numa rede

Um termo genérico para clientes dependentes e estações de trabalho sem disco é cliente LTSP.

Introdução a clientes dependentes e estações de trabalho sem disco Começando com Bullseye, o LTSP é bem diferente das versões anteriores. Isso diz respeito tanto à configuração quanto à manutenção.

Para informação sobre LTSP em geral, consultar o site do LTSP. Em sistemas com perfil servidor LTSP, o comando man ltsp dá mais informações.

Observe que a ferramenta ltsp do LTSP deve ser usada com cuidado. Por exemplo, ltsp image / falharia ao gerar a imagem SquashFS no caso de máquinas Debian (estas têm uma partição /boot separada por padrão), ltsp ipxe falharia ao gerar o menu iPXE corretamente (devido ao suporte a thin client do Debian Edu), e ltsp initrd atrapalharia completamente a inicialização do cliente LTSP.

A ferramenta debian-edu-ltsp-install é um script wrapper para ltsp image, ltsp initrd e ltsp ipxe. Ele é usado para configurar e configurar estações de trabalho sem disco e suporte para thin client (PC de 64 bits e 32 bits). Veja man debian-edu-ltsp-install ou o conteúdo do script para ver como funciona. Toda a configuração está contida no próprio script (documentos AQUI) para facilitar os ajustes específicos do site.

Exemplos de como usar o script wrapper debian-edu-ltsp-install:

  • debian-edu-ltsp-install --diskless_workstation yes atualiza a imagem SquashFS da estação de trabalho sem disco (sistema de arquivos do servidor).

  • debian-edu-ltsp-install --diskless_workstation yes --thin_type bare cria uma estação de trabalho sem disco e suporte para thin client de 64 bits.

  • debian-edu-ltsp-install --arch i386 --thin_type bare cria suporte adicional para thin client de 32 bits (imagem chroot e SquashFS).

Além da opção bare (o sistema cliente dependente mais básico), também estão disponíveis as opções display e desktop. Os clientes dependentes do tipo display têm um botão de desligar, enquanto que os do tipo desktop executam o Firefox ESR em modo quiosque no próprio cliente (é necessária mais memória RAM local e mais potência de CPU, mas reduz a carga no servidor).

A ferramenta debian-edu-ltsp-ipxe é um script wrapper para ltsp ipxe. Ele garante que o arquivo /srv/tftp/ltsp/ltsp.ipxe seja específico do Debian Edu. O comando precisa ser executado após os itens relacionados ao menu iPXE (como tempo limite do menu ou configurações de inicialização padrão) na seção /etc/ltsp/ltsp.conf [server] terem sido modificados.

A ferramenta debian-edu-ltsp-initrd é um script wrapper para ltsp initrd. Ele garante que um initrd específico do caso de uso (/srv/tftp/ltsp/ltsp.img) seja gerado e então movido para o diretório relacionado ao caso de uso. O comando precisa ser executado depois que a seção /etc/ltsp/ltsp.conf [clients] for modificada.

A ferramenta debian-edu-ltsp-chroot é um substituto para a ferramenta ltsp-chroot fornecida com o LTSP5. Ele é usado para executar comandos em um chroot LTSP especificado (como, por exemplo, instalar, atualizar e remover pacotes).

Estação de trabalho sem disco

As estações de trabalho sem disco executam todo o software localmente. As máquinas não têm um disco rígido local e iniciam diretamente do servidor LTSP. O software é administrado e mantido no servidor LTSP, mas é executado nas estações de trabalho sem disco. Os diretórios pessoais e as configurações do sistema também são armazenados no servidor. As estações de trabalho sem disco são uma excelente forma de reutilizar hardware antigo (mas poderoso) com os mesmos baixos custos de manutenção típicos dos clientes dependentes.

Ao contrário das estações de trabalho sem disco, as estações de trabalho funcionam sem necessidade de serem adicionadas através do GOsa².

Cliente dependente

Uma configuração de 'thin client' (cliente dependente) permite que um PC comum funcione como um (X-)terminal, onde todos os softwares são executados no servidor LTSP. Isso significa que esta máquina inicializa via PXE sem usar um disco rígido cliente local e que o servidor LTSP precisa ser uma máquina poderosa.

O Debian Edu ainda suporta o uso de clientes dependentes, para permitir o uso de computadores muito antigos.

Introdução a clientes dependentes e estações de trabalho sem disco Como clientes leves usam X2Go, os usuários devem desabilitar composição para evitar artefatos de display. No caso padrão, (área de trabalho Xfce): Settings -> Window Manager Tweaks -> Compositor.

firmware de cliente LTSP

O boot (inicialização) do cliente LTSP falha se a interface de rede do cliente exigir um firmware não livre. Pode ser usada uma instalação PXE para resolver problemas de inicialização pela rede de uma máquina; se o Instalador do Debian indicar que está em falta um arquivo XXX.bin, então tem que ser adicionado o firmware não-livre ao initrd do servidor LTSP.

Proceda assim no servidor LTSP:

  • Primeiro obtenha informações sobre pacotes de firmware, execute:

apt update && apt search ^firmware-
  • Decida qual pacote deve ser instalado para a(s) interface(s) de rede, provavelmente será firmware-linux, execute:

apt -y -q install firmware-linux
  • Atualize a imagem do SquashFS para estações de trabalho sem disco, execute:

debian-edu-ltsp-install --diskless_workstation yes
  • Caso sejam usados thin clients X2Go, execute:

/usr/share/debian-edu-config/tools/ltsp-addfirmware -h
  • e prossiga de acordo com as informações de uso.

    Em seguida, atualize a imagem do SquashFS; por exemplo. para o chroot /srv/ltsp/x2go-bare-amd64, execute:

ltsp image x2go-bare-amd64

Executar man ltsp.conf para ter uma visão das opções de configuração disponíveis. Ou leia a informação online: https://ltsp.org/man/ltsp.conf/

Adicione itens de configuração à seção /etc/ltsp/ltsp.conf [clients]. Para que as alterações entrem em vigor, execute:

debian-edu-ltsp-initrd

PXE é o acrônimo de Preboot eXecution Environment (Ambiente de Pré-execução). O Debian Edu usa agora a implementação iPXE para uma integração mais fácil com o LTSP.

O pacote debian-edu-config inclui uma ferramenta que ajuda a mudar a rede de 10.0.0.0/8 para outra. Ver /usr/share/debian-edu-config/tools/subnet-change. Destina-se a ser usado logo após a instalação no servidor principal, para atualizar o LDAP e outros arquivos que têm de ser editados para alterar a sub-rede.

Alterar as definições de rede Notar que mudar para uma das sub-redes já usadas por outros elementos no Debian Edu não irá funcionar. As sub-redes 192.168.0.0/24 e 192.168.1.0/24 já estão configuradas como redes clientes LTSP. A mudança para estas sub-redes requer a edição manual dos ficheiros de configuração para remover entradas duplicadas.

Não há forma fácil de alterar o nome de domínio DNS. Alterá-lo exigiria mudanças tanto na estrutura LDAP como em vários arquivos no sistema de arquivos do servidor principal. Também não há forma fácil de alterar o nome da máquina e o nome DNS do servidor principal (tjener.intern). Para isso, também seriam necessárias alterações no LDAP e nos arquivos do servidor principal e do sistema de arquivos do cliente. A configuração do Kerberos também teria de ser alterada, em ambos os casos.

Escolher o perfil Servidor LTSP ou o perfil Servidor combinado faz instalar também os pacotes xrdp e x2goserver.

O Xrdp utiliza o Protocolo Remote Desktop para apresentar uma tela de acesso gráfico a um cliente remoto. Os usuários do Microsoft Windows podem se conectar ao servidor LTSP executando o xrdp sem instalar software adicional - iniciam simplesmente uma ligação remota de área de trabalho na sua máquina Windows e estabelecem a conexão.

Adicionalmente, o xrdp pode se conectar a um servidor VNC ou a outro servidor RDP.

O Xrdp vem sem suporte de som; para compilar os módulos necessários pode ser usado este script.

 #!/bin/bash
 # Script to compile / recompile xrdp PulseAudio modules.
 # The caller needs to be root or a member of the sudo group.
 # Also, /etc/apt/sources.list must contain a valid deb-src line.
 set -e
  if [[ $UID -ne 0 ]] ; then  
     if ! groups | egrep -q sudo ; then
         echo "ERROR: You need to be root or a sudo group member."
         exit 1
     fi
 fi
 if ! egrep -q  ^deb-src /etc/apt/sources.list ; then
     echo "ERROR: Make sure /etc/apt/sources.list contains a deb-src line."
     exit 1
 fi
 TMP=$(mktemp -d)
 PULSE_UPSTREAM_VERSION="$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio)"
 XRDP_UPSTREAM_VERSION="$(dpkg-query -W -f='${source:Upstream-Version}' xrdp)"
 sudo apt -q update
 # Get sources and build dependencies:
 sudo apt -q install dpkg-dev
 cd $TMP
 apt -q source pulseaudio xrdp
 sudo apt -q build-dep pulseaudio xrdp
 # For pulseaudio 'configure' is all what is needed:
 cd pulseaudio-$PULSE_UPSTREAM_VERSION/
 ./configure
 # Adjust pulseaudio modules Makefile (needs absolute path)
 # and build the pulseaudio modules.
 cd $TMP/xrdp-$XRDP_UPSTREAM_VERSION/sesman/chansrv/pulse/
 sed -i 's/^PULSE/#PULSE/' Makefile
 sed -i "/#PULSE_DIR/a \
 PULSE_DIR = $TMP/pulseaudio-$PULSE_UPSTREAM_VERSION" Makefile
 make
 # Copy modules to Pulseaudio modules directory, adjust rights.
 sudo cp *.so /usr/lib/pulse-$PULSE_UPSTREAM_VERSION/modules/
 sudo chmod 644 /usr/lib/pulse-$PULSE_UPSTREAM_VERSION/modules/module-xrdp*
 # Restart xrdp, now with sound enabled.
 sudo service xrdp restart

O servidor freeRADIUS pode ser usado para estabelecer conexões de rede seguras. Para isto funcionar, instale os pacotes freeradius e winbind no servidor principal e execute /usr/share/debian-edu-config/tools/setup-freeradius-server para gerar uma configuração básica, específica de cada caso concreto. Desta forma, ambos os métodos EAP-TTLS/PAP e PEAP-MSCHAPV2 são ativados. Toda a configuração está contida no próprio script, para facilitar os ajustes específicos para cada caso. Para mais informações, veja o site do FreeRADIUS.

É necessária configuração adicional para

  • ativar/desativar pontos de acesso através de uma chave secreta partilhada (/etc/freeradius/3.0/customers.conf).

  • permitir/negar o acesso sem fios utilizando grupos LDAP (/etc/freeradius/3.0/usuarios).

  • combinar pontos de acesso em grupos dedicados (/etc/freeradius/3.0/huntgroups)

Clientes sem fio Os dispositivos de usuário final têm de ser configurados corretamente; estes dispositivos têm de ser protegidos por PIN para uso com o EAP (802.1x). E mais importante: os usuários precisam ser alertados para instalarem o certificado freeradius CA nos seus dispositivos, para terem a certeza de que se ligam ao servidor correto. Desta forma, a senha não pode ser capturada no caso de contato com um servidor malicioso. O certificado específico do site está disponível na rede interna.

Notar que a configuração de dispositivos de usuário final é um verdadeiro desafio, devido à variedade de dispositivos existentes. Para dispositivos Windows pode ser criado um script de instalação e para dispositivos Apple um arquivo mobileconfig. O certificado freeRADIUS CA pode ser integrado em ambos os casos, mas são necessárias ferramentas específicas do SO para criar os scripts.

Tendo em conta a configuração do Debian Edu, a conexão LDAP utiliza SSL pela porta 636.

Portanto, a configuração necessária em uma conexão pGina LDAP vem a seguir

(estes se armazenam em HKEY_LOCAL_MACHINE\SOFTWARE\pGina3.fork\Plugins\0f52390b-c781-43ae-bd62-553c77fa4cf7).