XDMCP

Posted by chavesfop | Artigo | Tuesday 23 June 2009 10:06

X Display Manager

O que é o X ?
É um software de sistema ou de rede, que oferece ao usuário uma interface gráfica. Portanto ele oferece os recursos básicos de uma interface gráfica, tais como, arrastar janela, fazer imagens de bitmap e outras funções básicas de GUI.
No Linux, as principais interfaces gráficas rodam em cima do X, tais como: KDE, Gnome e XFCE.

X Display Manager Control Protocol

Eu sempre busco a melhor maneira de utilizar o Linux, tanto no trabalho como em casa. E uma das grandes vantagens disso tudo, é que eu posso estar reutilizando desktops antigos, como Pentium II, Pentium e até mesmo um 486 como um terminal de X. Utilizando o X e o XDMCP, podemos então montar uma solução de baixo custo para nossa casa ou trabalho. E o melhor de tudo, isto é GRATUITO, e como sigo minha filosofia Free Software de ser, estou aqui dividindo este conhecimento com vocês, sem falar que você estará deste jeito, ajudando o meio ambiente :D .

Recentemente, algumas distribuições, como o Ubuntu, dão a opção de fazer esta configuração por interface gráfica, mas eu, como um bom Slacker, irei fazer uma configuração a moda antiga, para fins didáticos. E outra em interface gráfica, para não ter mistérios.

Funcionamento do XDMCP:

O servidor X (interface gráfica) é geralmente iniciado com um gerenciador de usuários e interfaces gráficas (aka Display Manager), no qual iremos digitar o usuário que queremos entrar e escolher o gerenciador de janelas de nossa preferência.

Quase todas as distribuições Linux, já incluem em seu sistema um Display Manager, como o XDM, KDM e GDM. Irei utilizar para explicar os exemplos o KDM e GDM. Portanto, quando o Display Manager é iniciado, ele pode operar de duas formas:
- Ele pode gerenciar o X server rodando na maquina local, que no caso iria ser especificado em “Xservers”.
- Pode gerenciar Xservers remotos (tipicamente Xterminals) utilizando o XDMCP como especificado no arquivo “Xaccess”.

Vantagens do X:

1- É possível abrir vários servidores X e rodar não apenas aplicativos, mas também gerenciadores de janelas diferentes em cada um. Sim, você pode rodar o KDE e o Gnome, junto com o XFCE e o Blackbox, todos ao mesmo tempo. :)

2- Os servidores X não estão limitados a rodar aplicativos locais, eles podem rodar aplicativos a partir de qualquer micro da rede, ou mesmo de outros hosts da Internet. Este sistema de compartilhamento do X é chamado de XDMCP.

3- Ao rodar aplicativos remotamente a carga fica toda com o servidor. O cliente utiliza um mínimo de processamento, já que basicamente se limita a enviar os dados recebidos via rede para a tela. Usando um 486 com 8 MB de RAM já é possível ter um terminal X funcional.

4- Ao contrário do VNC, o X consegue uma velocidade de atualização de tela muito boa, mesmo em uma rede de 10 megabits. A principal diferença é que enquanto o VNC transmite a tela na forma de uma imagem, o X transmite apenas texto, com as instruções necessárias para o cliente montar as janelas. Apenas figuras e ícones são transmitidos na forma de imagem.

Configurando o servidor:

Nas distribuições que utilizam o KDM (como o Kubuntu e o Mandriva), procure pelos arquivos kdmrc e Xaccess (que sempre ficam na mesma pasta). Em algumas distribuições (como no Mandriva) eles ficam na pasta “/usr/share/config/kdm/” e, em outras (como no Kurumin e outras distribuições derivadas do Debian), ficam na pasta “/etc/kde3/kdm/“. Você pode usar o comando “locate” para encontrá-los.

Dentro do arquivo “Xaccess“, descomente a linha:

# * #any host can get a login window

Basta retirar a tralha (#), fazendo com que o asterisco seja o primeiro caractere. Esta linha faz com que o servidor passe a aceitar conexões de todos os hosts da rede. Caso você prefira limitar o acesso a apenas alguns endereços (mais seguro), basta substituir o asterisco pelos endereços desejados.

Um pouco mais abaixo, no mesmo arquivo, descomente também a linha abaixo, novamente retirando a tralha:

# * CHOOSER BROADCAST #any indirect host can get a chooser
Xaccess
Xaccess

Esta linha é opcional. O Chooser Broadcast permite que os clientes contatem o servidor para obter uma lista de todos os servidores XDM disponíveis na rede (você pode ter mais de um, como veremos a seguir). Isso é feito usando o comando “X -indirect“.

Em seguida, edite também o arquivo kdmrc. Quase no final do arquivo você encontrará a linha:

[Xdmcp]
Enable=false

Basta alterá-la para:

[Xdmcp]
Enable=true

======================================================

Nas distribuições que utilizam o GDM (o gerenciador de login do Gnome), como o Ubuntu, Fedora, CentOS e diversas outras, a configuração é mais simples, pois o XDMCP pode ser ativado através do configurador da tela de login, o gdmsetup.

Acesse-o executando o comando como root, ou através do “Sistema > Adminstração > Tela de Login” (Sistema > Administração > Janela de início de sessão” no Ubuntu). Acesse a aba “Remoto” e, dentro da opção “Estilo” mude a opção de “Início de sessão remota desabilitada” para “Simples com o navegador de faces”. Esta simples alteração faz com que o XDMCP seja ativado, com o uso da tela de login simplificada, que pode ser configurada a seu gosto:

gdmsetup

gdmsetup

conexao

conexao

Acessando a opção “Configurar XDMCP” você tem acesso a um segundo menu de configuração, que permite definir o número máximo de clientes simultâneos (opção “Máximo de sessões remotas”), que pode ser ajustado de acordo com o número de clientes na rede, ou de acordo com os recursos de hardware do servidor.

Para que as alterações entrem em vigor (tanto no KDM quanto no GDM), é necessário reiniciar o gerenciador de login. Para isso, mude para um terminal de texto (Ctrl+Alt+F2) e reinicie o serviço responsável pelo gerenciador de login, como em:

# /etc/init.d/kdm restart

(ao usar o KDM)

# /etc/init.d/gdm restart


ou

# service dm restart

(no Mandriva)

A partir daí, os terminais já poderão abrir a tela de login do servidor através do comando “X -query IP_do_servidor“, como em:

# X -query 192.168.1.1

O comando deve ser dado com o terminal em modo texto. Se o cliente já estiver com uma sessão do X aberta, ou você desejar abrir mais de uma tela do servidor ao mesmo tempo, basta adicionar o parâmetro “:2″, como em:

# X :2 -query 192.168.1.1

O comando abrirá um segundo terminal gráfico, independente do primeiro, exibindo a tela de login do servidor. Você pode alternar entre os dois usando as teclas Ctrl+Alt+F7 e Ctrl+Alt+F8. Para abrir mais terminais, basta substituir o “:2″ por um número de 3 em diante.

Para automatizar o processo, fazendo com que o terminal abra automaticamente a tela de login do servidor no final do boot, sem passar pelo login local e sem a necessidade de digitar este comando a cada boot, edite o arquivo “/etc/inittab” (no terminal, como root) e altere a linha “x:5:respawn:/etc/X11/prefdm -nodaemon“, que estará no final do arquivo para “x:5:respawn:/etc/X11/X -query IP_do_servidor”, como em:

x:5:respawn:/etc/X11/X -query 192.168.1.1

Isso faz com que o terminal aborte o carregamento do ambiente gráfico local e abra a tela de login do servidor via XDMCP. Este é um velho truque para aproveitar micros antigos, transformando-os em terminais burros. Eu cheguei a usar um Thinkpad 560 como segundo micro durante um bom tempo entre 1998 e 2000 (época em que os notebooks ainda eram muito caros), graças ao XDMCP. Ele era um simples Pentium 100 com 16 MB de RAM e por isso era muito limitado para rodar programas localmente, mas funcionava muito bem como terminal.

Continuando, uma segunda opção é utilizar o comando “X -broadcast” em substituição ao “X -query”. A diferença é que enquanto o X -query exige que você especifique o endereço IP do servidor, o X -broadcast é automático, ele se encarrega de emitir um pacote de broadcast na rede e contatar o primeiro servidor X que responder ao chamado. O “X -broadcast” é sempre usado sem argumentos, como em:

# X :2 -broadcast

Se você tiver mais de um servidor XDM na rede, uma terceira opção é usar o comando: “X -indirect IP_do_servidor“. Nesse caso, você se conectará a um servidor X configurado, mas, ao invés de obter a tela de login automaticamente, terá um menu com todos os servidores X disponíveis na rede e poderá escolher qual usar a cada sessão. A partir daí o cliente escolhe a qual servidor deseja se conectar a cada boot.

Para que o servidor forneça esta lista é preciso que a linha “* CHOOSER BROADCAST” do arquivo Xaccess esteja descomentada (no KDM), ou que a opção “Honrar pedidos indiretos” esteja ativada no gdmsetup (ao usar o GDM).

Um pequeno truque não documentado é substituir o endereço do servidor pelo endereço da rede, como em “X -indirect 192.168.0.0“. Isso faz com que o pedido de listagem vá para todos os servidores XDM da rede. A vantagem é que o cliente não fica preso a um servidor específico; o cliente sempre conseguirá obter a lista, mesmo que apenas um dos servidores da rede esteja ligado.

A principal vantagem de utilizar o XDMCP é que não é preciso instalar nenhum software adicional no servidor nem nas estações, apenas fazer a configuração necessária. Uma vez conectadas no servidor, as estações utilizam automaticamente a conexão com a web, impressora, gravador de DVD, scanner, etc. instalados nele. Não é necessário configurar os compartilhamentos de impressora e conexão, já que, na verdade, tudo é acessado “localmente” dentro do servidor. A unica diferença é que neste caso as imagem são enviadas às estações, ao invés de serem exibidas no monitor do servidor.

O mesmo acontece com relação aos arquivos. Tudo que é aberto e salvo não sai do HD do servidor. Você pode criar um login de usuário para cada um que for acessar o servidor, assim cada um terá onde armazenar seus arquivos e suas configurações e você precisará fazer backup de um único local. Um único servidor, com um processador razoável, rede de 100 megabits e 1 GB de RAM, pode facilmente atender a 20 estações simultaneamente.

Uma última peculiaridade do X é a forma estranha como é definido quem é o cliente e quem é o servidor. O servidor X cuida do acesso ao hardware, da criação de janelas, leitura do teclado, etc. Ele envia estes dados aos programas (o que inclui o gerenciador de janelas), que são chamados de clientes X e estes devolvem as imagens e outros dados que serão mostrados na tela.

Enquanto você está trabalhando localmente, isso parece bastante lógico. Afinal, o servidor X é o intermediário entre o hardware e os programas, que são os clientes. No entanto, a coisa começa a ficar um pouco mais estranha quando começamos a trabalhar em rede.

Se você usa um 486 como um “cliente” que roda aplicativos de um “servidor” remoto, chamamos o 486 de cliente e o servidor de servidor para que fique mais claro a função de ambos. Afinal, o 486 está servindo quase que como um mero terminal burro, que se limita a mostrar imagens no monitor.

Contudo, tecnicamente falando, o servidor X está rodando no 486, já que é ele quem está com o monitor, teclado, etc. O “servidor de rede”, nesse caso, entra apenas com as imagens que serão exibidas por este servidor X (no 486), ou seja, faz o papel de cliente. Este é um ponto confuso, onde é preciso prestar atenção para não trocar as bolas.

Referencias:

http://tldp.org/HOWTO/XDMCP-HOWTO/index.html

http://www.guiadohardware.net/tutoriais/configurando-servidor-xdmcp/

1- É possível abrir vários servidores X e rodar não apenas aplicativos, mas também gerenciadores de janelas diferentes em cada um. Sim, você pode rodar o KDE e o Gnome, junto com o XFCE e o Blackbox, todos ao mesmo tempo. :)

2- Os servidores X não estão limitados a rodar aplicativos locais, eles podem rodar aplicativos a partir de qualquer micro da rede, ou mesmo de outros hosts da Internet. Este sistema de compartilhamento do X é chamado de XDMCP.

3- Ao rodar aplicativos remotamente a carga fica toda com o servidor. O cliente utiliza um mínimo de processamento, já que basicamente se limita a enviar os dados recebidos via rede para a tela. Usando um 486 com 8 MB de RAM já é possível ter um terminal X funcional.

4- Ao contrário do VNC, o X consegue uma velocidade de atualização de tela muito boa, mesmo em uma rede de 10 megabits. A principal diferença é que enquanto o VNC transmite a tela na forma de uma imagem, o X transmite apenas texto, com as instruções necessárias para o cliente montar as janelas. Apenas figuras e ícones são transmitidos na forma de imagem.

  • Share/Bookmark

TFTP

Posted by chavesfop | Artigo | Friday 19 June 2009 11:22

Trivial File Transfer Protocol.

O Trivial File Transfer Protocol (ou apenas TFTP) é um protocolo de transferência de dados, muito simples, semelhante ao FTP.

O TFTP é usualmente utilizado para transferir pequenos dados entre “hosts” numa rede, tal como quando um terminal remoto ou um cliente inicia o seu funcionamento, a partir do servidor.

Algumas caracteristicas do TFTP:
-É baseado em UDP (usa a port 69) ao contrário do FTP que se basea no TCP (usa a port 21);
-Ele não lista os dados de um diretorio;
-Ele não tem mecanismos de encriptação ou autenticação;
-É utilizado para ler ou escrever arquivos de um servidor remoto;
-Devido a sua pouca segurança, o TFTP é perigoso de se usar via Internet, portanto o seu uso geralmente é aplicado apenas em redes locais ou privadas.

Exemplo de uma seção TFTP:
O host A envia um pacote de pedido de leitura (RRQ) ou de pedido de escrita (WRQ) para o host S atravez da conhecida porta 69 (hot) , contendo o nome do dado e o tipo de transferencia.

S responde com um pacote de reconhecimento (ACK) para o pacote de escrita e  diretamente com o dado para o pacote de leitura. Host S envia os pacotes para uma porta recem alocada no host A, e todos os outros pacotes a partir deste momento serão enviados para aquela porta.

O host de origem (neste caso o A) envia pacotes de dados numerados para o host de destino (S), sendo que o ultimo pacote é um pacote de tamanho total (512 bytes), o host de destino responde com pacotes de reconhecimento numerados para cada pacote de dado recebido.

O pacote final de dados, e enviado com um tamanho menor do que o de bloco total (menor que 512 bytes), caso o pacote de dados seja multiplo do valor total, ele enviara um pacote de dados de tamanho 0, apenas para identificar que a transferencia foi completada.

O receptor responde a cada dado com o seu pacote de reconhecimento associado, quando o remetente (quem esta enviando os dados) recebe estes pacotes de reconhecimento, ele imediatamente responde com o proximo pacote de dados.

Se, eventualmente, um pacote de reconhecimento não for recebido, o remetente envia novamente o pacote de dados.

Exemplos de utilização do TFTP:
Quando fazemos o boot em um servidor LTSP, após iniciarmos a maquina utilizando como boot o PXE, recebemos o ip por DHCP, então a imagem do sistema de arquivos do Linux é gravado na memória RAM do cliente, porém… como esta imagem vem até o cliente?
Simples meu amigo… TFTP. :D

Exemplo de configuração no Linux (debian):
pacote: atftp
http://www.vivaolinux.com.br/dica/Configuracao-do-servidor-TFTP/

Referencias:
http://pt.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

http://www.vivaolinux.com.br/dica/Configuracao-do-servidor-TFTP/

  • Share/Bookmark

PXE

Posted by chavesfop | Artigo | Monday 15 June 2009 11:40

Pre-boot eXecution Environment.

O Ambiente de Pré-execução (PXE ou ‘pixie’, ambos do inglês: Preboot eXecution Environment) é um ambiente para inicializar computadores usando a Interface da Placa de Rede sem a dependência da disponibilidade de dispositivos de armazenamento (como Disco Rígidos) ou algum Sistema Operacional instalado.

Funcionamento:
Um cliente tenta localizar um serviço de redirecionamento de PXE na rede (como um proxy DHCP) com o intuito de receber informações sobre servidores de boot PXE disponiveis. Após receber resposta, o cliente ira perguntar a um servidor de boot apropriado qual o caminho do arquivo ou por um NBP (Network Bootstrap Program), e armazear esta informação dentro da RAM do computador usando o TFTP, apos o armazenamento ele verifica as informações e depois as executa.

Onde uso o PXE ?
Aqui irei dar 2 exemplos muito comuns de uso do PXE
1- Usado em servidores LTSP, o PXE que ira passar as informações para boot dos clientes.
2- Usado para fazer instalação de um distribuição em varias maquinas simultaneamente por rede, como explicado aqui.

Referencias:

http://www.howtoforge.com/setting-up-a-pxe-install-server-for-multiple-linux-distributions-on-debian-lenny

http://pt.wikipedia.org/wiki/Preboot_Execution_Environment

http://www.guiadohardware.net/termos/pxe

  • Share/Bookmark

DHCP

Posted by chavesfop | Artigo | Tuesday 9 June 2009 11:06


Dinamic Host Control Protocol


O que é DHCP:
É um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais. Uma das varias vantagens do DHCP é que você não precisa definir manualmente o IP dos terminais, o servidor DHCP vai enviar um IP para cada maquina, e pode-se configurar no proprio servidor o tempo de vida desse IP.

O DHCP opera da seguinte forma:
Um cliente envia um pacote UDP para todas as maquinas com um pedido de DHCP, os servidores DHCP que capturarem este pacote irão responder com um pacote de configurações onde constará, pelo menos, um endereço IP, uma mascara de rede, e outros parametros opcionais, como gateway e endereços de DNS.

Criterios de atribuição de IPs:
-Atribuição manual: Onde existe uma relação entre o endereço MAC do cliente e o endereço IP a fornecer. Essa associação é feita manualmente pelo administrador da rede, com isso apenas os clientes cujo MAC consta nesta lista poderão receber configurações desse servidor.

-Atribuição automatica: Onde o cliente obtém um endereço de um espaço de endereços possíveis, especificado pelo administrador. Geralmente não existe vínculo entre os vários MAC habilitados a esse espaço de endereços.

-Atribuição dinâmica: Tem funcionamento parecido com o automatico, porém cada cliente tem um tempo de vida para seu IP, e este tempo começa a expirar assim que o cliente for desconectado da rede, portanto na proxima vez que ele se conectar na rede, se o tempo de vida ainda for valido (maior que zero) ele continuará com o mesmo IP, caso contrario será fornecido um novo IP ao cliente.

Servidor DHCP Linux:
pacote debian-like: dhcp3-server
pacote outras distros: dhcpd

- Configurações necessarias para iniciarmos o serviço:
arquivo dhcpd.conf

ddns-update-style none;
#tempo de vida do IP neste caso 1200 segundos ou 20 minutos
default-lease-time 1200;
#se houver outro servidor dhcp na rede, este sera o preferencial
authoritative;
#especificações da distribuição de IPs
subnet 10.0.0.0 netmask 255.0.0.0 {
   #faixa em que sera distribuidos os ips
   range 10.0.0.1 10.0.0.253
   #especifica o roteador/gateway, no caso pode-se atribuir este
   #ip fixo na maquina que ira rodar o serviço de dhcpd.
   option routers 10.0.0.254
   #especifica os servidores dns que serao usados, lembrar de
   #sempre especificar os servidores dns da rede interna, depois
   #os servidores dns da internet (br. telecom por exemplo).
   option domain-name-servers 10.0.0.254, 201.10.120.3
   #endereço de broadcast
   option broadcast-address 10.0.0.255
}
#exemplo de atribuição de IP fixo a um cliente
host nome_exemplo1 {
   #especificação do MAC address da placa do cliente.
   hardware athernet 00:00:00:00:00:00;
   #endereço de IP que o cliente ira receber.
   fixed-address 10.0.0.2;
}

Referencias:

http://www.vivaolinux.com.br/artigo/DHCP-Configurandoo-de-forma-simples-e-eficiente/?pagina=3

http://pt.wikipedia.org/wiki/DHCP

Minha cabeça… :D

  • Share/Bookmark

Novo material de redes do livro novo do slackware

Posted by demoncyber | Anuncio, Dicas, Linux, slackware | Wednesday 15 October 2008 18:44
Agradecimentos ao Alien

Agradecimentos ao Alien

Link com a sessão de redes do novo material do slackbook, algo interessante é que ele inclusive conta um histórico mais novo sobre o que foi mudado em alguns pacotes de rede. Este material novo do slackbook também adiciona a configuração de wireless.

Redes Slackware – Alien

(Obs: este livro ainda não foi lançado)

Agradecimentos ao Alien :)

  • Share/Bookmark
Get Adobe Flash playerPlugin by wpburn.com wordpress themes