instalação e configuração do ltsp 5 no ubuntu 11
TRANSCRIPT
Instalação e configuração do LTSP 5 no Ubuntu 11.04
Funcionamento do LTSP e Instalação do Servidor
Como é o Funcionamento do LTSP
O primeiro requisito para que o LSTP funcione bem é ter uma rede de boa qualidade.
Como tudo ocorre remotamente, ter equipamentos de qualidade é fundamental para o
tráfego dos dados entre o servidor e os clientes.
O funcionamento do LTSP depende de duas variáveis: O servidor e o cliente.
O cliente é a parte mais simples, para seu funcionamento é necessário apenas que ele
seja capaz de iniciar o boot pela placa de rede. O Servidor por sua vez precisa de alguns
serviços rodando para que seja capaz de prover o LTSP.
O processo de inicialização do LTSP começa com o boot no cliente. Ao dar o boot a
partir da placa de rede ele procura um servidor de IP. O servidor de IPs envia para o
cliente o IP. De posse do IP começa a troca de informações entre o servidor e o cliente.
O servidor envia para o cliente o kernel através do serviço FTP. Com o kernel, o X é
habilitado, disponibilizando a interface gráfica.
O usuário loga no sistema e seu $HOME, o seu diretório pessoal é montado através
do NFS. A transferência de dados entre o servidor e o cliente é feita através do ssh,
criando uma túnel criptografado entre os dois.
A Instalação do Servidor
O LTSP tem pacotes para várias distribuições, nosso servidor será montado a partir de
um Linux Ubuntu 11.04. A primeira coisa que faremos é criar a estrutura básica de
serviços. Vamos instalar o dhcp3-server, o tftp-hpa, o nfs-kernel-server e o openssh-
server.
A instalação dos pacotes:
# apt-get install dhcp3-server
# apt-get install tftp-hpa
# apt-get install nfs-kernel-server # apt-get install openssh-server
A instalação do LSTP propriamente dito é feito a partir do pacote ltsp-server-
standalone que disponibilizará uma série de comandos para sua instalação, sendo:
ltsp-build-client;
ltspfs;
ltsp-info;
ltsp-update-image;
ltsp-update-sshkeys;
ltsp-chroot;
ltspfsmounter;
ltsp-localapps;
ltsp-update-kernels.
Depois de instalar o ltsp-server-standalone vamos usar o comando:
# ltsp-build-client
Para criar o ambiente chroot em "/opt/ltsp" onde o LTSP rodará, o comando é:
# ltsp-build-client --arch="i386"
o parâmetro --arch="i386" criará a estrutura do LTSP compilada para a versão i386. É
bom especificar a arquitetura do LTSP porque se o servidor for 64 bits ele instalará o
"ltspamd64". Como a maioria dos computadores clientes são todos 32 bits, se o LTSP
for para 64 bits haverá erro na execução.
Este comando irá criar o diretório "/opt/ltsp". Quando o cliente montar o Linux depois
do boot, ele montará este Linux e não o o sistema operacional do servidor. Isto se
chama chroot.
Esta parte é a mais demorada pois o ltsp-build-client busca do mirror do LTSP toda a
estrutura montada. Depois tudo estará praticamente pronto, é só fazer as configurações
finais dos serviços para que tudo fique pronto.
Configurando o LTSP - Alterando os Arquivos de Configuração
O primeiro arquivo de configuração que vamos alterar é o "/etc/dhcpd.conf". Este
arquivo é o responsável pela configuração do servidor de IPs. Quando o computador
cliente der o boot pela placa de rede ele procurará um servidor de IPs.
A configuração deste arquivo é bem simples, vejamos seu conteúdo.
### inicio do bloco
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.150 192.168.0.200;
option domain-name "sua.empresa";
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
# linha 8
option root-path "/opt/ltsp/i386";
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0";
}
else{
filename "/ltsp/images/i386.img";
}
}
### fim do bloco
Explicando:
A linha número 1 indica a faixa de ips e a máscara de rede que o dhcp
trabalhará;
A linha número 2 disponibiliza a faixa de ips para serem usados na rede;
A linha número 3 cria o domínio para as máquinas (é opcional);
A linha número 4 indica o DNS usado pela rede;
A linha número 5 indica o broadcast da rede;
A linha número 6 indica o roteador da rede;
A linha número 7 indica a sub-máscara de rede;
A linha número 9 indica onde está o ltsp;
O bloco iniciado a partir da linha número 10 indica onde está o arquivo de
inicialização do sistema:
O "pxelinux.0" é usado para chamar o kernel e enviá-lo para o cliente. A linha
"filename "/ltsp/i386/pxelinux.0"" não se refere ao diretório "/opt/ltsp/i386".
Obs.: Como este arquivo é enviado por um servidor ftp para o cliente, quem
gerencia é o tftp-hpa. O diretório onde está o pxelinux.0 é
"/var/lib/tftpboot/ltsp/i386". Como o diretório "/var/lib/tftpboot/" é o diretório
raiz do tftp-hpa, só é necessário inserir o caminho derivado, ou seja,
"/ltsp/i386/pxelinux.0". A configuração do tftp-hpa será visto na sequência.
Algumas considerações sobre o dhcpd (servidor de ips):
Se o servidor tiver mais de uma placa de rede, uma para a conexão com a internet e
outra para a conexão com os clientes, cada uma das placas deverá ter uma faixa de ips
diferentes. Não é possível ter duas interfaces de rede na mesma faixa de ips no micro.
Neste caso, o dhcp irá "escutar a placa de rede que está conectada à rede dos clientes
ltsp.
Se o servidor tiver apenas uma placa de rede, os clientes ltsp ficarão na mesma faixa de
ips da rede. Isto pode trazer um pequeno inconveniente, qualquer micro que for
conectado na rede poderá receber o serviço ltsp se a BIOS estiver configurada para
começar a sequência de boot com a placa de rede.
Configurando o TFTP-HPA
O tftp-hpa é configurado através do arquivo "/etc/default/tftpd-hpa". Vejamos seu
conteúdo.
### INÍCIO DO BLOCO
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
RUN_DAEMONS="yes"
### FIM DO BLOCO
Vejamos sua configuração:
A linha número 1 indica o nome do serviço para a rede;
A linha número 2 indica o diretório raiz do tftp-hpa;
A linha número 3 indica quais endereços da internet ele atenderá, alem da porta.
Observe que o endereço é 0.0.0.0, ou seja, ele está configurado para receber
conexões de qualquer lugar da internet, qualquer IP. Para maior segurança,
pode-se especificar qual rede ele atenderá, a mesma rede configurada no
"/etc/dhcp/dhcpd.conf", 192.168.0.0. Apesar de ser um serviço ftp, a porta porta
utilizada não é a mesma do serviço ftp padrão, que usa a porta 21;
A linha número 4 força o cliente a ir diretamente para o diretório especificado,
criando uma camada de segurança. O cliente não conseguirá alterar o diretório
que foi especificado na linha 2, impedindo que ele tenha acesso a arquivos
indevidos;
A linha número 5 indica que o tftp trabalhará como daemon.
Configuração do arquivo /etc/inetd.conf
O arquivo "inetd.conf" é o arquivo de configuração dos serviços de internet. Neste foi
escrita esta linha:
2000 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nbdrootd
/opt/ltsp/images/i386.img
Esta linha configura o diretório onde está a imagem chroot compactada do sistema. O
LTSP mantem uma copia do sistema atualizada que será enviada para cada cliente. Toda
vez que o sistema for modificado como na instalação de um novo programa a imagem
deve ser refeita com o comando:
# ltsp-update-image -a i386
Onde o parâmetro "-a i386" informa se a versão do sistema a ser reconstruído será 32 ou
64 bits.
A imagem do sistema está em "/opt/ltsp/images/i386.img".
Mais Configurações e Considerações
Configurando o NFS
O NFS é o serviço que disponibilizará os diretórios utilizados pelo ltsp. Como o ltsp
roda remotamente, utilizando o protocolo TCP, é necessário compartilhar os diretórios
que serão acessados.
Observe as linhas abaixo:
/opt/ltsp/i386 192.168.0.0(rw,no_subtree_check)
/home 192.168.0.0(rw,no_subtree_check)
A primeira linha compartilha (exporta) o diretório raiz do ltsp, "/opt/ltsp/i386", para a
rede 192.168.0.0 com a permissão de leitura e escrita (rw). O "no_subtree_check"
configura o nfs para não verificar a estrutura de diretórios. Isto aumenta a velocidade do
nfs.
A segunda linha compartilha (exporta) o diretório dos usuários, "/home", para a rede
192.168.0.0 com as mesmas permissões de acesso do diretório do ltsp.
Algumas observações sobre a configuração do NFS:
A configuração do IP ou IPs que serão liberados para o acesso aos diretórios
compartilhados deve estar em conformidade com as informações contidas no servidor
de IPs.
Neste exemplo toda a rede está liberada para o acesso pois os computadores clientes
estão em uma rede separada. Numa situação onde os clientes ltsp estão na mesma rede
de outros micros, talvez seja prudente criar uma máscara de rede especificamente para
esta rede ou até mesmo liberar individualmente cada um dos micros que estarão no ltsp
configurando o IP individualmente.
Colocando os Clientes LTSP Para
Funcionarem
Depois da configuração e verificação de cada um dos serviços que compõem o ltsp é
hora de colocar os clientes para funcionarem.
Tomando por base que o computador cliente tem a opção de inicializar a sequência de
boot pela placa de rede é só alterar a BIOS para que o primeiro dispositivo de boot seja
a placa e rede.
Depois de ligar o computador é só esperar. Observe o vídeo:
Eu utilizei neste artigo um cliente ltsp rodando no vmware configurado como bridge
dando o boot pela interface de rede.
Considerações Finais
O ltsp é uma solução para o uso de computadores com menor capacidade de
processamento. Com um servidor dando suporte aos clientes, um parque de
computadores antigos podem utilizar programas que não conseguiriam ser processados
nos seus respectivos processadores.
No próximo artigo veremos configurações mais detalhadas do ltsp.