Um termo genérico para clientes dependentes e estações de trabalho sem disco é cliente LTSP.
Começando com Bullseye, o LTSP é bem diferente das versões anteriores. Isso
diz respeito tanto à configuração quanto à manutenção.
Como uma diferença principal, a imagem SquashFS para estações de trabalho sem disco agora é gerada a partir do sistema de arquivos do servidor LTSP por padrão. Isso acontece em um servidor combinado na primeira inicialização, levando algum tempo.
Thin clients não fazem mais parte do LTSP. O Debian Edu usa o X2Go para ainda suportar o uso de thin client.
No caso de um servidor LTSP separado ou adicional, as informações necessárias para configurar o ambiente do cliente LTSP não estão completas no momento da instalação. A configuração pode ser feita uma vez que o sistema tenha sido adicionado com GOsa².
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.
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
Cada servidor LTSP tem duas interfaces ethernet: uma configurada na sub-rede principal 10.0.0.0/8 (que é partilhada com o servidor principal), e outra formando uma sub-rede local (uma sub-rede separada para cada servidor LTSP).
Em ambos os casos, pode ser escolhido estação de trabalho sem disco ou cliente dependente a partir do menu iPXE. Após 5 segundos de espera, a máquina arrancará como estação de trabalho sem disco.
O item de menu de inicialização padrão do iPXE e seu tempo limite padrão
podem ser configurados em
/etc/ltsp/ltsp.conf
. Um valor de tempo
limite de -1 é usado para ocultar o menu. Execute
debian-edu-ltsp-ipxe
para que as alterações
tenham efeito.
Se uma máquina for instalada usando o perfil LTSP, a rede cliente LTSP
192.168.0.0/24 é a predefinida. Se forem utilizados muitos clientes LTSP ou
se servidores LTSP diferentes tiverem de servir tanto ambientes chroot i386
como amd64, a segunda rede pré-configurada, a 192.168.1.0/24, também pode
ser utilizada. Editar o arquivo
/etc/network/interfaces
e ajustar as
configurações da eth1 conforme necessário. Use o
ldapvi
ou qualquer outro editor LDAP para
verificar as configurações DNS e DHCP.
Para criar a imagem chroot e SquashFS, execute:
debian-edu-ltsp-install --arch i386 --thin_type bare
Veja man debian-edu-ltsp-install
para
detalhes sobre os tipos de thin client.
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
Os clientes LTSP usam áudio em rede para passar o áudio do servidor para os clientes.
As estações de trabalho sem disco LTSP tratam o áudio localmente.
Quando os usuários inserem uma unidade USB ou um DVD / CD-ROM numa estação de trabalho sem disco, aparece um ícone na área de trabalho, permitindo acesso ao conteúdo como em uma estação de trabalho.
Quando os usuários inserem uma unidade USB em um cliente leve X2Go de tipo simples (instalação de servidor combinado padrão), as unidades se montam quando se faz duplo-clique no ícone da pasta na área de trabalho Xfce. Dependendo do conteúdo multimídia, pode passar algum tempo até que o conteúdo apareça no gerenciador de arquivos.
Ligar a impressora à máquina cliente LTSP (são suportados tanto a porta USB como a porta paralela).
Configurar o cliente LTSP através do GOsa² para utilizar um endereço IP fixo.
Configure a impressora usando a interface web
https://www.intern:631
no servidor
principal; escolha o tipo de impressora de rede AppSocket/HP
JetDirect
(para todas as impressoras independentemente da
marca ou modelo) e configure socket://<LTSP client
ip>:9100
como conexão URI.
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 item de menu do iPXE relativo às instalações do sistema é gerado usando o
script debian-edu-pxeinstall
. Este script
permite que algumas configurações sejam substituídas usando o arquivo
/etc/debian-edu/pxeinstall.conf
com valores
de substituição.
A instalação PXE assumirá o idioma, o esquema do teclado e as configurações
do espelho (mirror) a partir das configurações usadas na instalação do
servidor principal, e as outras questões serão feitas durante a instalação
(perfil, participação no popcon, particionamento e senha de root). Para
evitar essas perguntas, o arquivo
/etc/debian-edu/www/debian-edu-install.dat
pode ser modificado para fornecer respostas pré-selecionadas aos valores do
debconf. Alguns exemplos de valores do debconf podem ser consultados em
/etc/debian-edu/wwww/debian-edu-install.dat
.
Suas alterações serão perdidas assim que for usado o
debian-edu-pxeinstall
para recriar o
ambiente de instalação PXE. Para anexar itens do debconf a
/etc/debian-edu/wwww/debian-edu-install.dat
durante a recriação através do
debian-edu-pxeinstall
, adicione o arquivo
/etc/debian-edu/wwww/debian-edu-install.dat.local
com os valores debconf.
Mais informações sobre modificar instalações PXE podem ser encontradas no capítulo Instalação.
Para adicionar um repositório personalizado, adicione a
/etc/debian-edu/wwww/debian-edu-install.dat.local
algo como:
#add the skole projects local repository d-i apt-setup/local1/repository string http://example.org/debian stable main contrib non-free d-i apt-setup/local1/comment string Example Software Repository d-i apt-setup/local1/source boolean true d-i apt-setup/local1/key string http://example.org/key.asc
e em seguida execute
/usr/sbin/debian-edu-pxeinstall
uma vez.
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.
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 X2Go permite acessar um ambiente de trabalho gráfico no servidor LTSP, tanto através de conexões de baixa largura de banda como de alta largura de banda, a partir de um PC com Linux, Windows ou MacOS. É necessário software adicional no lado do cliente. Para mais informações, consultar o wiki X2Go.
Notar que se for usado o X2Go será melhor remover o pacote
killer
no servidor LTSP. Ver 890517.
O freerdp-x11
é instalado por padrão e é
capaz de RDP e VNC.
RDP - a maneira mais fácil de acessar o servidor de terminal Windows. Um
pacote cliente alternativo é rdesktop
.
O cliente VNC (Virtual Network Computer) dá acesso ao Skolelinux
remotamente. Um pacote cliente alternativo é
xvncviewer
.
O x2goclient
é um cliente gráfico para o
sistema X2Go (não instalado de origem). Pode ser utilizado para conectar a
sessões em execução e para iniciar novas sessões.
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)
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.
https://www.intern/freeradius-ca.pem (dispositivos Linux de usuário final)
https://www.intern/freeradius-ca.crt (Linux, Android)
https://www.intern/freeradius-ca.der (macOS, iOS, iPadOS, Windows)
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.
Para poder utilizar pGina (ou qualquer outra aplicação de serviço de autenticação de terceiros) deve ter uma conta de usuário especial utilizada na busca no LDAP.
Adicionar un usuário especial, p.ex. pguser com senhapwd.777, em https://www/gosa website.
Baixe e instale pGina 3.9.9.12 como software habitual. Leve em conta que o plugin LDAP persiste na pasta de plugins do pGina:
C:\Program Files\pGina.fork\Plugins\pGina.Plugin.Ldap.dll
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).
LDAP Host(s): 10.0.2.2 (ou qualquer outro com "espaço" como separador)
Porta LDAP: 636 (para conexão SSL)
Estouro de tempo: 10
Usar SSL: SIM (marcar a caixa de seleção)
Start TLS: NO (não marque a caixa de seleção)
Validar o Certificado do Servidor: NO (não marcar a caixa de verificação)
buscar no DN: uid=pguser,ou=people,ou=Students,dc=skole,dc=skolelinux,dc=no
("pguser" é um usuário para autenticar no LDAP para buscar usuários na sessão de autenticação)
Senha de busca: pwd.777 (esta é a senha do "pguser")
Aba Bind:
Permitir senhas vazias: NÃO
Buscar por DN: SIM (marcar a caixa de seleção)
Filtro de busca: (&(uid=%u)(objectClass=person))
Padrão: Permitir
Negar quando autenticação LDAP falhar: SIM (marcar a caixa de seleção)
Permitir quando o servir estiver indisponível: NÃO (não marcar a caixa de seleção, opcional)
LDAP: Autenticação [v], Autorização [v], Roteador[v], Alterar senha [_]
Máquina local: Autenticação [v], Roteador [v] (marcar apenas as duas caixas de seleção)
Autenticação: LDAP, Máquina local
Roteador: LDAP, Máquina local
Fontes: