Artigo para o Debian Zine

Felipe Augusto van de Wiel (faw) felipe em cathedrallabs.org
Sexta Dezembro 10 11:45:45 BRST 2004


Oi Fernando,

fernando wrote:
:: Segue minha matéria candidata para o Debian Zine.
:: FreeNX no Debian

	Segue o meu patch com correções ortográficas e de
sentido lógico, tem uma ou duas técnicas. Alguns pontos
ficaram confusos no texto e eu sugeri mudanças.

	Recomendo evitar a utilização de "etc." quando
você está dando uma lista de itens, recomendo diminuir
a utilização de expressões em inglês.

	Um dos pontos que você poderia rever é o ThinStation,
poderia ser mudado para "ThinClient" que é mais conhecido.
Esse é um termo que não gosto de traduzir para "estações
leves" e "terminal burro" soa muito antigo.

	Não sei qual o público alvo, de acordo com ele,
pode ser necessário trocar termos como "baixar" para
"fazer download".

	Um abraço,

-- 
//////////
// Felipe Augusto van de Wiel (faw) <felipe em cathedrallabs.org>
// GUD-PR / DUG-PR || http://www.debian-pr.org
// GUD-BR / DUG-BR || http://www.debian-br.org
// Debian Project  || http://www.debian.org/
//////////
-------------- Próxima Parte ----------
Instalação do FreeNX no Debian Sarge.

Por Fernando Ike - fernando em ikenet.com.br

1 - Introdução

	Enquanto o Debian Sarge torna-se estável e o FreeNX  não torna parte oficial do Debian, podemos usar o repositório do Kalyxo que é parte do projeto FreeDesktop que além do FreeNX,  também hospeda o X.Org (fork do XFree86) entre outros.
	O FreeNX usa toda estrutura do OpenSSH com chaves RSA e DSA de criptografia, túneis criptografados, checagem de autenticidade com usuários cadastrados no Sistema Operacional e chaves públicas geradas para cada conexão de usuário e máquina cliente. Ele é parecido com Citrix Metaframe e Terminal Server (traduziram aos protocolos de tunelamentos usados no RDP), além de acessar remotamente em conexões bem lentas (os desenvolvedores falam em conexões de 9600 bits) sem degradação de performance, a mágica (se é que podemos dizer assim) do FreeNX é abrir uma conexão X remota com compressão zlib e encriptação do SSH, transmitindo as instruções e pixmaps para montar a tela no cliente. A Tecnologia NX também suporta transmissão de aúdio e captura de impressora via protocolo SMB (Samba).
	
2 - Instalação
	
	Inclua no seu sources.list "/etc/apt/sources.list".

deb http://archive.kalyxo.org/kalyxo/ staging main
deb http://archive.kalyxo.org/kalyxo/ experimental main

	No shell como root execute.

apt-get update
apt-get install ssh
apt-get install freenx nxserver

	Instale na estação o programa cliente do FreeNX, baixe no http://www.nomachine.com/download


2 - Configuração

	Edite o "/etc/ssh/sshd_config" para aceitar repassar o servidor X.

X11Forwarding yes

	O FreeNX trabalha de forma similar ao Samba, é necessário que haja mapeamento dos usuários no "/etc/passwd", não é preciso configurar senha. O FreeNX precisa do uid e gid mapeados pelo Linux, supondo que os usuários já estejam cadastrados no Linux, será preciso incluí-los no FreeNX.
 	
	Execute o script de configuração:

nxsetup --setup-nomachine-key

	Existem dois tipos de configurações:
	1 -  Usar as chaves SSH criptográficas por padrão no NX, não será necessário gerar chaves a cada nova conexão, sendo necessário o usuário e a senha apenas, sendo a opção menos segura.
	2 -  A segunda opção é mais segura, mas não funcionou por algum problema para gerar a chave em  "/usr/NX/share/". Como o FreeNX foi empacotado para o SID e variantes, mas a idéia é depois de gerada a chave, copiá-la ("client.id_dsa.key") para "/usr/NX/share". Essa chave verifica a autenticidade do usuário no cliente NX,  esse problema é fácil de resolver já que o "nxsetup" é um script shell.


3 - Executando

	Criamos os usuários no FreeNX:

nxserver -adduser fulano

	E senha:

nxserver -passwd fulano

nxserver -start

	No cliente poderemos testar excutando:

nxclient &

	Ele tem um Assistente que ajuda a configurar o acesso ao servidor FreeNX, também criará um atalho na Área de Trabalho do Gnome ou KDE, também é possível executar apenas programas do servidor como Evolution, Mozilla e Kontact, mas como nem tudo são flores, ele abre sem controle de janela (opções de mover, minimizar e maximizar), criando alguns Script's Shell personalizados para resolver o problema com Gerenciador de Janelas leve (Blackbox, Icewm, Window Maker, etc).


4 - Observações

	Apesar da Tecnologia NX ser bem recente (X já tem mais de 20 anos e NX é de 1999), já demonstrou uma excente solução para ser usado em diversas situações, combinado com Boot Remoto, LTSP ou ThinStation pode-se praticamente reinventar a roda. ;-D

	Uma observação importante: se pretende usar o Servidor FreeNX por trás de um Firewall inclua essas regras para acessar pela Internet.

iptables -t nat -A PREROUTING -i ethX -p tcp --dport 22 -j DNAT --to-dest IP_DESTINO
iptables -A FORWARD -p tcp -i ethX --dport 22 -d 192.168.0.20 -j ACCEPT
iptables -t nat -A PREROUTING -i ethX -p udp --dport 20 -j DNAT --to-dest IP_DESTINO
iptables -A FORWARD -p udp -i ethX --dport 22 -d ip_destino -j ACCEPT

iptables -t nat -A PREROUTING -i ethX -p tcp --dport 5000:5100 -j DNAT --to-dest IP_DESTINO
iptables -A FORWARD -p tcp -i ethX --dport 5000:5100 -d ip_destino -j ACCEPT
iptables -t nat -A PREROUTING -i ethX -p udp --dport 5000:5100 -j DNAT --to-dest IP_DESTINO
iptables -A FORWARD -p udp -i ethX --dport 5000:5100 -d ip_destino -j ACCEPT
		

Referências:
Kanotix - http://www.kanotix.com
No Machine - http://www.nomachine.com
FreeNX - http://www.kalyxo.org
Artigos sobre FreeNX - http://www.guiadohardware.net/artigos/297/
			  http://www.gpltarragona.org/node/view/316 



Mais detalhes sobre a lista de discussão Debian-zine