Passo-a-passo para configurar um servidor LTSP com o Debian GNU/Linux

Introdução

A intenção aqui é permitir uma instalação simples de um servidor de terminais e uma estação, de forma prática, simples e rápida, prevista em no máximo 40 minutos. A instalação foi dividida em 2 partes: servidor e cliente.

Condições e pré-requisitos

Condições e pré-requisitos de instalação (particulares e arbitrários) desta instalação:
  • Distro: Debian GNU/Linux 3.1 - sarge;
  • Versão do servidor de terminais (LTSP): 4.1;
  • Número IP do Servidor: 192.168.1.10;
  • Número IP do Terminal: 192.168.1.100;
  • Faixa de IPs dinâmicos: 192.168.1.100-254;
  • Servidor DNS: 200.163.79.1;
  • Interface DHCP: eth0;
  • Número MAC da placa de rede da estação: 00:E0:7D:D9:67:34;
  • Servidores: dhcp (versão 3), tftp (pacote atftpd), nfs (pacote nfs-kernel-server);
  • Gerenciador de diálogo: gdm - gnome display manager
  • Método de boot do cliente: disquete
  • Placa de rede do cliente: Realtek 8139
  • Mouse do terminal: PS/2

Instalação e configuração do servidor

Antes de instalarmos o LTSP, preparamos os serviços básicos que este utiliza.

Servidor DHCP:

Um servidor DHCP precisa ser instalado e configurado para identificar os clientes, garantir que estes inicializem um kernel do linux e apartir daí comecem a executar as operações necessárias a se integrar ao conjunto LTSP.

O servidor DHCP utilizado estava na versão 3.0.1, que precisa que a versão do kernel seja maior ou igual 2.2.x:

# apt-get install dhcp3-server

Após a instalação é necessário rever as configurações deste serviço no arquivo /etc/dhcp3/dhcpd.conf(exemplo). Neste exemplo, mostramos configuração para placas PCI, caso tenha interesse por outros tipos de placas de rede, veja onde este material foi baseado.

# cd /etc/dhcp3
# mv dhcpd.conf dhcpd.conf.orig
# vi /etc/dhcp3/dhcpd.conf

Coloque este novo conteúdo no arquivo /etc/dhcp3/dhcpd.conf:

# NOVO CONTEÚDO DO ARQUIVO /etc/dhcp3/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
        range   192.168.1.100 192.168.1.254;
        default-lease-time 86400;
        max-lease-time 90000;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
        option routers 192.168.1.1;
        option domain-name-servers 200.163.79.1;

        group {
           option   root-path   "192.168.1.10:/opt/ltsp/i386";
           use-host-decl-names   on;

        } #fim do group
} #fim do subnet

As configurações das máquinas clientes (hosts) habilitam funcionalidades importantes como a configuração de opções na placa de rede. No momento em que o cliente buscar o IP no DHCP este o informa qual o caminho do kernel que precisará ser carregado para a memória pela opção 'filename'.

Perceba que em nosso caso utilizamos uma placa de rede pci. Para maiores informações sobre configurar o DHCP veja a seção Script de Configuração do LTSP 4.1.

Após terminar a configuração basta reiniciar o serviço do DHCP:

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

Para testar se a configuração está ok, verifique os arquivos de log:

# tail /var/log/syslog

Servidor TFTP:

O TFTP é um serviço de FTP (File Transfer Protocol) simples desprovido de autenticação usado pelo EtherBoot nos clientes para que este possa baixar o kernel específico para seu uso (não necessariamente o kernel do servidor, não recomendamos). Assim basta configurar o tftpd que é um servidor de TFTP. Para isso precisamos instalar:

# apt-get install tftp atftpd

Nas caixas de diálogo depois deste comando, preencha da seguinte forma:

  • Address range for multicast transfer: 192.168.1.100-254
  • TTL for multicast packets: 1
  • Base directory: /tftboot

Verifique depois se a configuração do servidor tftpd, possui os parâmetros USE_INETD=false e diretório raiz /tftboot, parecido como está abaixo:

# more /etc/default/atftpd
USE_INETD=false
OPTIONS="--daemon --port 69 --retry-timeout 5 --mcast-port 1758 --mcast-addr 192.168.1.100-254 
--mcast-ttl 1 --maxthread 100 --verbose=5  /tftpboot"

Note que o parâmetro OPTIONS fica em uma única linha.

Reinicie o serividor atftpd:

# /etc/init.d/atftpd restart

Para testar, execute:

# tftp localhost
tftp>

Simplesmente vai aparecer um prompt tftp> wink

Servidor NFS:

Após o cliente do LTSP conseguir o kernel e colocar o mesmo em execução, este cliente tentará montar o diretório onde o LTSP está instalado no servidor (normalmente /opt/ltsp/i386) como sua raiz do sistema de arquivos na sua memória RAM, através do protocolo NFS.

Para isso basta instalar os pacotes:

# apt-get install nfs-kernel-server

Configure o arquivo /etc/exports:

# vi /etc/exports
/opt/ltsp/i386        192.168.1.0/255.255.0.0(ro,no_root_squash,sync)

Sempre após qualquer alteração no arquivo /etc/exports, reinicialize o serviço:

# /etc/init.d/nfs-kernel-server restart

Gerenciador de Tela/Sessões

Para utilizar a instância gráfica é sempre útil configurar um gerenciador de entrada como o WDM, KDM ou GDM. Aqui vamos explicar como configurar o GDM (Gnome Display Manager) para funcionar através do XDMCP (X Display Manager Control Protocol):

Antes de mais nada instale o gdm:

# apt-get install gdm

Agora é necessário configurar o arquivo /etc/gdm/gdm.conf adequadamente para o funcionamento do LTSP. Esta configuração abrange detalhes como quantidade de conexões que o processo do gdm deve aceitar e a quantidade de telas por máquina, ou seja, é preciso você adequar à sua realidade as informações deste arquivo.

# vi /etc/gdm/gdm.conf
# Sessão SECURITY do gdm.conf
[security]
...
# Configuração para o GDM aceitar conexões remotas
# Se 'true' isso irá utilizar a opção '-nolisten tcp' a cada linha de
# comando do X, é bom manter por padrão para utilização indevida do GDM 
# como servidor de XDMCP, afinal pode ser um risco de segurança permitir
# acesso ao X remotamente.
# No caso do LTSP isto é necessário para permitir as tais conexões remotas
# ao GDM e assim servir a interface gráfica! Logo atribua o valor 'false'
DisallowTCP=false
...
# Sessão XDMCP do gdm.conf
[xdmcp]
# Ativando o XDMCP, apesar de não ser muito seguro ativá-lo em uma rede.
# É imporante configurar o /etc/hosts.allow e /etc/hosts.deny para apenas
# as máquinas conhecidas terem acesso ao XDMCP. De toda forma é mais seguro
# controlar o acesso à porta 177 (porta padrão do XDMCP) através de um 
# firewall, para evitar problemas com maus usuários.
# Leia o manual do GDM para maiores informações de segurança do XDMCP.
Enable=true

# Configurando a quantidade máxima de sessões XDMCP por vez. Isto pode ser 
# entendido como a quantidade máxima de máquina que serão clientes do XDMCP.
MaxSessions=30

Feche todos os aplicativos gráficos e arquivos, e reiniciar o serviço gdm, através deste comando :

# /etc/init.d/gdm stop

Isto irá fechar sua interface gráfica. Inicialize-a novamente:

# /etc/init.d/gdm start

Instalação do LTSP v4.1

Configure o repositório onde serão baixados os pacotes LTSP:

# vi /etc/apt/sources.list
...
deb ftp://ftp.skolelinux.no/skolelinux sarge local
...

Depois atualize a lista de pacotes:

# apt-get update

Para instalar os pacotes LTSP:

# apt-get install ltsp*

Pronto! Seu servidor já está instalado, falta apenas configurar o cliente.

Instalação do cliente

Configuração de rede

Na configuração de rede é necessário que cada terminal tenha um nome e número IP únicos, para cada um, adicione uma entrada no arquivo /etc/hosts:

192.168.1.100   pc01

Outra informação importante é o endereço de hardware da placa de rede do cliente, que pode ser obtido através do comando ifconfig:

# ifconfig | grep -i hw
eth0      Link encap:Ethernet  HWaddr 00:E0:7D:D9:67:34

A configuração do cliente será fornecida pelo servidor dhcp, por isso, insira no servidor um bloco 'host pc01' no arquivo /etc/dhcp3/dhcpd.conf para o cliente, dentro do bloco 'group':

# vi /etc/dhcp3/dhcpd.conf
...
        group {
           option   root-path   "192.168.1.14:/opt/ltsp/i386";
           use-host-decl-names   on;

           host pc01 {
              hardware ethernet       00:E0:7D:D9:67:34;
              fixed-address           192.168.1.100;
              filename                "/lts/vmlinuz-2.4.26-ltsp-2";
           }
        } #fim do group
...

O filename é o parâmetro que especifica qual kernel será baixado via protocolo tftp para o cliente. O arquivo vmlinuz-2.4.24-ltsp-2 é um kernel customizado que vem junto com o pacote do ltsp 4.1.

Configuração da interface gráfica

No servidor, também é necessário configurar como o X Window será carregado no terminal, para isto, altere o arquivo /opt/ltsp/i386/etc/lts.conf:

# vi /opt/ltsp/i386/etc/lts.conf
[Default]
        SERVER             = 192.168.1.10
        X_MOUSE_PROTOCOL   = "PS/2"
        X_MOUSE_DEVICE     = "/dev/psaux"
        X_MOUSE_RESOLUTION = 400
        X_MOUSE_BUTTONS    = 3
        USE_XFS            = N
        SCREEN_01          = startx
[ws001]
        XSERVER            = auto
        X_MOUSE_PROTOCOL   = "Microsoft"
        X_MOUSE_DEVICE     = "/dev/ttyS1"
        X_MOUSE_RESOLUTION = 50
        X_MOUSE_BUTTONS    = 3
        X_MOUSE_BAUD       = 1200

[ws002]
        XSERVER            = XF86_Mach64

[ws003]
        SCREEN_01          = shell
        XF86CONFIG_FILE    = XF86Config.ws003
[pc01]
        SCREEN_01          = startx
        XF86CONFIG_FILE    = vesa

Note no arquivo, que existe uma seção [default] que possui as configurações padrões. Também foi criada uma seção [pc01] que é exatamente o nome do terminal e nela utilizamos o driver vesa - que geralmente dá certo na maioria dos casos, bem como utilizando o comando startx para inicializar a interface gráfica automaticamente. Note nas outras seções-exemplo (ws001, ws002, ws003) outras formas de configurações para terminais, a descrição de cada um dos parâmetros você pode encontrar nas documentações oficiais [2].

Instalação da BOOT-ROM

Anote as informações obtidas da sua placa de rede:

# lspci | grep -i eth
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
# lspci -n | grep 0200
00:0d.0 Class 0200: 10ec:8139 (rev 10)

Acesse http://www.rom-o-matic.org e de acordo com os dados coletados do cliente acima, baixe a BOOT-ROM específica da sua placa de rede.

Uma vez baixado, grave a boot-rom no disquete, por exemplo:

# cat eb-5.2.6-rtl8139.zdsk > /dev/fd0

Outras formas de inicialização do cliente: EPROM (necessita gravar EPROM da placa de rede); PXE (necessita de placa de rede com suporte a esta tecnologia, não necessita nenhuma gravação).

Pronto! Reinicialize o cliente com o disquete e verifique se deu tudo certo.

Referências:

Licença

Este material foi baseado no material GRAVI-IM-UFBA - http://twiki.im.ufba.br/bin/view/GAVRI/ConfiguracaoLTSPv41. Segundo os termos da Creative Commons License: Atribuição-UsoNãoComercial-PermanênciaDaLicença - http://creativecommons.org/licenses/by-nc/2.0/br/. Modificações e melhorias por Marcelo Akira - http://www.sistemasabertos.com.br/~akira.

Topic revision: r3 - 01 Apr 2005 - 01:44:09 - MarceloInuzuka
Get Firefox!

eXTReMe Tracker



Create personal sidebar

 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki-SL? Send feedback