Você está na página 1de 8

Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?

codigo=14624

Configurando um servidor LTSP com Ubuntu 9.10


Autor: Jesreel de Morais <jesreelmorais@bol.com.br>
Data: 02/06/2010

Configurando um servidor LTSP com Ubuntu 9.10

Nesse tutorial tentarei mostrar de uma maneira bem didática as configurações básicas para ter um servidor
LTSP rodando sem problemas em sua rede.

Em primeiro lugar é preciso entender o que é o LTSP, o que ele faz e quais as vantagens e desvantagens de
se instalar o LTSP.

LTSP é a sigla usada para o projeto chamado LINUX TERMINAL SERVER PROJECT, um projeto
idealizado para que uma distribuição GNU/Linux pudesse agir como um servidor de terminais, ou seja,
vários computadores ligados em rede que ao invés de rodar o sistema localmente em um disco rígido,
pudesse simplesmente executar uma sessão de um computador central, para quem conhece, mais ou menos
igual a um terminal service no Windows Server.

A vantagem em relação ao terminal service do Windows é que não há custo algum ao se montar um LTSP
com relação a licença dos terminais,ao caso que no Windows Server você paga pela licença de cada
terminal conectado ao servidor, sem falar que no Windows é necessário que haja um sistema operacional
instalado na estação para acessar o servidor e é exigido processamento, memória e outros recursos de
hardware na estação, ou seja, uma máquina antiga seria inviável para esse uso.

Com o LTSP a ideia é exatamente a inversa, ou seja, a ideia é o aproveitamento de maquinas antigas,
obsoletas para o uso nas estações, onde as mesmas nem mesmo precisam ter um hd, somente uma placa de
rede, um processador que pode ser antigo, uma memória que pode ser de 32 MB e dependendo das
configurações até menos,uma placa de rede que tenha opção de boot pela rede e um monitor qualquer.

As vantagens de ser ter um LTSP como pode-se notar é grande, pois há o aproveitamento de maquinas
antigas que poderiam ser consideradas sucata, baixo custo na montagem, uma padronização dos terminais
dos usuários além de muitos outros benefícios.

A desvantagem é que o sistema funciona todo pela rede, ou seja, é preciso investimento em uma estrutura
de rede adequada, e o inconveniente de um problema na rede, em um switch por exemplo, que faria todos
os terminais pararem até o problema ser sanado, problemas no servidor que também faria o sistema parar,
por isso seria bom pensar em casos específicos na implantação de servidores redundantes onde ao parar
um o outro assume ate que seja resolvido o problema do principal, ter peças sobressalentes para troca
rápida em caso de problemas e outros cuidados para não ter dor de cabeça com sua rede.

Caso se interessem a pagina oficial do projeto é http://www.ltsp.org e procurem ler mais sobre o assunto.

Importante é constar que ao montar a rede de terminais e consequentemente esse tutorial, utilizei como
fontes de pesquisa o livro Servidores Linux de autoria de Carlos E. Morimoto, que apesar de utilizar uma
versão antiga do LTSP mostra uma boa base,e um vídeo no site Youtube de autoria de um usuário chamado
Gustavo na url http://www.youtube.com/watch?v=9Ht2ojdmjCQ, que apesar de ser completo foi de muita
ajuda, juntando as duas fontes da pra fazer muita coisa, e lembrem-se, sempre que fizerem um artigo, um
tutorial, ou fizerem algo onde obtiveram ajuda de alguma fonte, dêem os créditos merecidos aos autores,
vocês iriam gostar que fizessem isso com vocês.

Bom, sem mais demoras vamos a montagem do servidor.

1 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

1. Os requisitos necessários
Para a montagem de um sistema de terminais com o LTSP, vamos precisar de um computador central que
vai ser o servidor, as máquinas das estações, cabos de rede, switch (por favor heim gente, não me usem
hubs, o tráfego na rede é grande), placas de rede que tenha boot pela rede (de preferência com boot PXE,
senão será necessário fazer disquetes de boot) e os sistema operacional.

COMPUTADOR CENTRAL: O computador que vai ser o servidor tem que ser uma máquina que atenda a
sua necessidade, ou seja, uma maquina com recursos de memoria e processamento suficientes para
suportar o trafego de informações, vai depender dos programas usados, da quantidade de estações etc. No
laboratório que montei na faculdade que trabalho utilizei um computador com processador Pentium 4, 1
GB de memória, uma placa de vídeo Geforce FX5200 com 128 MB de memoria e duas placas de rede
3COM.

ESTAÇÕES: Nas estações as máquinas não precisam ser novas, de preferencia use maquinas antigas, a
ideia é o aproveitamento delas. Utilizei 10 máquinas com processador Pentium 3 700 MHZ com memória
Dimm de 64 MB, o vídeo é offboard, foram usadas placas de vídeo variadas mas bem antigas, de um
punhado foi difícil fazer 10 funcionar, mas usem o vídeo onboard mesmo o vídeo não é o importante e
placas de rede 3COM de 10 megabits, é a rede esta rodando a 10 megabits, e as estações estão rápidas,
imagina placas de 1000 megabits (1 Gigabit).

SWITCH E CABOS: Em geral nesse tipo de trabalho a rede tem que ser boa, utilize o que você puder
colocar de melhor em sua rede. Utilizei aqui um switch da 3COM de 24 portas e cabos par trançado
categoria 5e. Bom se não puder colocar um 3COM ou um CISCO em sua rede, use o que você tiver, mas
por favor, evitem equipamentos ruins, para que a performance da sua rede possa ser a desejada.

PLACA DE REDE: As placas de rede podem ser as onboard das maquinas mesmo se houver, mas de
preferencia use placas com boot PXE, senão como já dito, sera necessário ter um trabalho a mais fazendo
disquetes ou cd de boot. Eu recomendo as da 3COM, usei umas bem antigas aqui, sem comparação.

SISTEMA OPERACIONAL: Use o de sua preferencia, eu recomendo distribuições derivadas do Debian


ou derivados, e eu gosto muito do Gnome, mas nada impede o uso do Kde, funciona do mesmo jeito.
Utilizei aqui o Ubuntu 9.10, por isso o tutorial é escrito baseado na instalação realizada nessa distribuição.

2. Instalando o LTSP
Primeiramente instale o sistema operacional, atualize o mesmo, instale todos os programas que utilizará,
faça todas as personalizações que deseja. Feito isso vamos ao LTSP.

Primeiramente verifique se arquivos de configuração importantes para o bom funcionamento do LTSP


estão instalados, são eles: tftpd-hpa, dhcp3-server, portmap, nfs-kernel-server e xdm, caso não estejam
instalados instale pois são importantes.

# apt-get install tftpd-hpa dhcp3-server portmap nfs-kernel-server xdm

Obs.: ao instalar o xdm aparecerá uma tela solicitando em qual modo gráfico quer trabalhar se no atual
(gdm) ou com o xdm, deixe no atual, o gdm.

Agora instale o LTSP propriamente dito junto com o servidor ssh, que sera necessário para acesso seguro
dos terminais.

2 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

# apt-get install ltsp-server-standalone openssh-server

Obs.: O ltsp também instala um servidor dhcp, e quando o serviço estiver levantando aparecerá a
mensagem [fail], não se preocupe, é normal, mais adiante iremos configurar o dhcp.

Feito esse processo digite no terminal o comando que fará com que o chroot do LTSP seja criado, ou seja,
o sistema do LTSP.

# ltsp-build-client

Esse processo irá demorar bastante, por isso não se preocupe, apenas verifique se não ocorre nenhuma
falha no processo, caso ocorra, interrompa o processo apague tudo que estiver em: /opt/ltsp e reinicie o
processo novamente até não ocorrer nenhuma falha, provavelmente não ocorrerá nenhuma.

3. Configurando o sistema
Após o processo de instalação do LTSP e da criação do chroot, é preciso modificar os arquivos de
configuração para o sistema rodar corretamente, então, mãos a obra.

3.1. Configurando a rede

Vamos iniciar pela configuração da rede, o correto é que o servidor do LTSP não esteja "de cara para a
internet", ou seja, o ideal é que ele esteja por trás de um servidor com firewall, squid etc. Mas pode
também colocar o servidor como gateway da rede normalmente, o problema é que se você quiser controlar
os acessos com firewall, squid etc. Estará ocupando mais processamento e memória do servidor com isso.

O cenário que irei utilizar será o que eu usei no laboratório aqui da faculdade, onde há um servidor que
contém firewall, squid e é o gateway da rede e o servidor LTSP esta por detrás desse servidor. Imagine
então o seguinte cenário:

SERVIDOR GATEWAY: 192.168.5.252 (este servidor está ligado a internet)


SERVIDOR LTSP: placa eth0 - 192.168.5.251 (ligada ao servidor gateway)
placa eth1 - 192.168.1.1 (ligada a rede local)
REDE LOCAL: Terminais que receberão ip na faixa 192.168.1.0

Dentro do cenário acima iremos configurar o LTSP, ou seja, o gateway esta na rede 192.168.7.0 utilizando
o ip 192.168.7.252 o servidor LTSP possui 2 placas de rede onde a eth0 esta na rede do gateway, ou seja,
192.168.7.0 e utiliza o ip 192.168.7.251 e a placa eth1 sai para a rede local, que será a rede dos terminais,
a rede será 192.168.1.0 e o servidor utilizará o ip 192.168.1.1.

Diante disso vamos configurar os endereços de rede do servidor LTSP. O arquivo de configuração fica em:
/etc/network/interfaces, neste cenário ficaria assim:

auto lo
iface lo inet loopback

#configuração da placa eth0


auto eth0
iface eth0 inet static
address 192.168.7.251

3 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

netmask 255.255.255.0
gateway 192.168.7.252

#configuração da placa eth1


auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Após configurada as placas de rede faça o compartilhamento da eth0 através de um nat para que a rede
local possa ter internet. Para fazer isso pode-se fazer de várias maneiras, umas das mais simples e rápidas é
colocar o script dentro do arquivo de configuração rc.local que fica em /etc/int.d/rc.local. Dentro desse
arquivo coloque os seguintes comandos:

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Se a placa que recebe a internet do seu servidor não for a eth0 troque pelo correspondente no script acima.

Pronto, as redes estão configuradas e compartilhadas por um nat, após isso levante o serviço da rede:

# /etc/int.d/networking restart

3.2. Configurando o DHCP

Com a rede configurada, vamos configurar agora o dhcp, não confunda o dhcp a ser configurado esta no
arquivo dhcpd.conf que esta na pasta /etc/ltsp, esqueça a pasta dhcp3 por enquanto.

O arquivo dhcpd.conf estará pré configurado, troque apenas o ip do servidor e o range de ips do dhcp
assim como a rede em que estará a rede local dos terminais. Com o nosso cenário ficaria assim:

# Default LTSP dhcpd.conf config file.


#
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
Range 192.168.1.2 192.168.1.10; ( RANGE DE IP'S DO DHCP)
option domain-name "example.com";
option domain-name-servers 192.168.1.1;(ESTE É O IP DA eth1)
option broadcast-address 192.168.1.255; (IP DE BROADCAST)
option routers 192.168.1.1; (COLOQUE AQUI O IP DA eth1)
# 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";
}
}

4 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

Após o dhcpd.conf estar configurado, faça uma cópia dele para a pasta /etc/dhcp3/ para ambos os
dhcpd.conf ficarem iguais:

# cp dhcpd.conf /etc/dhcpd3/

Feito isto, restarte o dhcp3-server, caso apareça a mensagem [fail] novamente, confira a configuração
novamente, você deve ter esquecido de alguma linha de configuração ou colocado algo errado.

# /etc/init.d/dhcp3-server restart

Se até aqui esta tudo certo, já é meio caminho andado, você já tem o LTSP instalado e um servidor de dhcp
funcionando, vamos fazer o LTSP funcionar agora.

3.3. Configurando arquivos importantes

Antes de fazer a configuração do arquivo principal do LTSP, onde fica as informações necessárias para as
estações, é preciso configurar alguns arquivos que permitirão que as estações consigam se conectar ao
servidor e pegar essas configurações.

tftpd-hpa: Esse arquivo permite a conexão no servidor para carregar a imagem de boot, em casos que esse
arquivo não está configurado corretamente logo depois de achar o dhcp na inicialização ocorre um erro de
tftp. O arquivo fica em /etc/default/tftpd-hpa, na configuração original ele vem desativado, mas modifique
o script de configuração deixando ele exatamente como abaixo:

#Defaults for tftpd-hpa


RUN_DAEMON="yes"
OPTIONS="-l -s /tftpboot"

Feito isso, inicie o serviço do tftpd:

# /etc/init.d/tftpd-hpa restart

hosts.allow: Outro arquivo muito importante é o hosts.allow, nesse arquivo ficam configurados as redes
que poderão se conectar ao servidor, ou seja, se não for configurado, o servidor recusa as conexões das
estações. O arquivo fica localizado em /etc/hosts.allow, configure ele conforme sua rede, de acordo com
nosso cenário de rede deverá ficar assim:

ALL : 127.0.0.1 192.168.1.0/24


Não se esqueça de trocar o 192.168.1.0/24 pelo endereço de sua rede local.

exports: O arquivo exports também deve ser configurado como parte do NFS permite compartilhar a pasta
/opt/ltsp/i386, com a rede local que é o sistema do LTSP criado. Confira a configuração corretamente, pois
uma configuração errada pode fazer com que os terminais parem de acessar o sistema. O arquivo está em
/etc/exports, e de acordo com nosso cenário deverá ficar dessa maneira:

/opt/ltsp/i386 192.168.1.0/255.255.255.0(ro,no_root_squash)

hosts: O arquivo hosts relaciona o ip do servidor e das estações, é necessário colocar apenas o ip do
servidor para distinguí-lo. O arquivo está em /etc/hosts e deverá ficar como abaixo de acordo com o
cenário de rede apresentado:

127.0.0.1 serv-ltsp localhost


192.168.1.1 serv-ltsp

5 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

Não esqueça de trocar o "serv-ltsp" pelo nome que você atribuiu ao seu servidor.

Após feito isso todos os arquivos básicos, sem ser o principal estão configurados, reinicie o serviço de NFS:

# /etc/init.d/nfs-kernel-server stop
# /etc/init.d/nfs-kernel-server start

Antes de fazer a configuração do arquivo principal, só para testar se tudo está ok mesmo eu costumo fazer
um restart de todos os serviços configurados até aqui, só pra ver se tudo está direitinho mesmo, mas fica a
critério de vocês.

3.4. Configurando o arquivo principal: lts.conf

Chegamos a configuração do arquivo principal do LTSP, o lts.conf que esta localizado em /opt/ltsp
/i386/etc/lts.conf. Muitos já devem ter visto o arquivo de configuração deixado de modelo no livro
Servidores Linux de autoria de Carlos E. Morimoto. A versão usada é o ltsp 4.2, aqui estamos usando a
versão 5, não é necessário fazer a configuração estação por estação como é apresentado no livro, o ltsp 5
já faz automático, a não ser que você queira "amarrar" o ip atribuído a estação ao MAC ADDRESS dela,
ou se estações específicas usam mouses, ou tipos de teclados diferentes, ou se uma ou outra estação terá
recursos a mais, como impressoras, etc.

Fora isso, faça somente a configuração default mesmo que irá funcionar normalmente. No LTSP 5, o
suporte a disquete, pen drive, cd, já funciona automaticamente, por isso não é preciso fazer configuração
alguma, pelo menos aqui em meus testes tudo rodou perfeitamente sem ter que configurar nada. De acordo
com nosso cenário de rede, e tendo em consideração que as estacões irão todas usar mouses PS/2 com 2
botões e 1 scroll, e os teclados são todos de layout ABNT2, a configuração do lts.conf deverá ficar dessa
maneira:

[Default]

// aponta o servidor e o tipo de vídeo utilizado


SERVER = 192.168.1.1 (IP DO SERVIDOR LTSP)
XSERVER = auto

//força a estação a ficar com resolução de vídeo 1024


X_MODE_0 = 1024x768
X_VERTREFRESH = 60
X_COLOR_DEPTH = 24

//configuração do tipo de mouse das estações


X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3

//configuração do tipo de teclado das estações


XkbModel = ABNT2
XkbLayout = br

6 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

//aponta que sessão deve ser aberta, no caso o X


SCREEN_01 = startx
RUNLEVEL = 5

Após isso, feche a configuração do ltsp com os dois comando seguintes:

# ltsp-update-kernels
# ltsp-update-sshkeys

Se chegou até aqui e tudo correu bem, então você tem um servidor LTSP instalado e configurado quase
pronto para usar, falta agora só figurar os usuários e fechar a configuração do LTSP.

Criei um usuário novo, aplique as permissões a esse usuário e depois inicie uma sessão com esse usuário e
faça as configurações do home desse usuário, retire os menus de administração, aplicativos que achar
desnecessário, otimize a seu gosto o home do usuário criado para ser o padrão das estações. Abre
novamente a sessão do administrador e faça com que o home otimizado desse usuário seja o padrão para
os próximos a serem criados, ou seja, toda vez que você criar um usuário daqui em diante, o home dele
virá igual ao primeiro que você otimizou, assim todos os usuários terão as mesmas configurações por
padrão.

Abaixo está uma descrição de como fazer o processo.

Personalizando os homes dos usuários


Vá em sistema/Administração/Usuários e Grupos e crie um usuário, vamos chamar de teste.

Deixe o perfil do usuário como desktop user. Na aba Privilégios do usuário deixe como na segunda figura
abaixo ou como você preferir e na aba avançado deixe como está, na opção shell não tire a linha bash do
usuário senão ele não irá se conectar ao servidor.

Criado o usuário, dados os privilégios, iniciado a sessão e personalizado o home desse usuário, agora
vamos fazer com esse perfil seja o padrão para os próximos a serem criados.

O processo é simples, o sistema pega um padrão toda vez que se cria um usuário pegando por base o perfil
que esta dentro da pasta /etc/skel, logo, basta copiar o perfil do usuário teste para a pasta skel e etão todo
usuário criado a partir disso terá o mesmo perfil personalizado do usuário teste. No terminal faça assim:

# rm -rf /etc/skel
# cp -a /home/teste /etc/skel # chown -R root.root /etc/skel

Isso fará com que a pasta skel seja apagada e criada novamente com o perfil do usuário teste.

Pronto, agora crie mais usuários e teste o sistema as estações devem funcionar corretamente agora.

Não esqueçam de configurar a bios para iniciar com o boot pela rede, e se as placas de rede não tiverem
suporte a boot PXE será necessário criar um disquete ou cd de boot. Para a criação do disquete ou cd de
boot entrem no site http://rom-o-matic.net/ e vejam como fazer esse processo.

Bom pessoal, espero ter ajudado com esse tutorial, qualquer duvida, me enviem um e-mail para
jesreelmorais@bol.com.br, que sendo do meu conhecimento procurarei ajudar.

Escrito por: Jesreel de Morais

7 de 8 15/07/2010 07:55
Configurando um servidor LTSP com Ubuntu 9.10 [Dica] http://174.123.53.162/dicas/impressora.php?codigo=14624

Fontes de pesquisa
MORIMOTO, Carlos Eduardo. Servidores Linux: Guia Prático. Porto Alegre: Sul Editores, 2008.

GUSTAVO6951(usuário do youtube). Instalação e Configuração do LTSP-5 no Ubuntu 7.04. Disponível


em: <http://www.youtube.com/watch?v=9Ht2ojdmjCQ>. Acesso: em 10 mar. 2010.

http://www.vivaolinux.com.br/dica/Configurando-um-servidor-LTSP-com-Ubuntu-9.10

Voltar para o site

8 de 8 15/07/2010 07:55