Artigo para o Debian Zine

Fernando Ike fernando em ikenet.com.br
Segunda Dezembro 13 23:13:43 BRST 2004


Em Sex, 2004-12-10 às 10:45, Felipe Augusto van de Wiel (faw) escreveu:
> 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,

   	Fiz algumas modificações e incorporações citados por todos, vejam se
melhorou.

[]'s
-- 
Fernando Ike - ikenet.com.br
Linux User 303638 - Debian User 352
I seek You (ICQ)- 160594996
jabber ID - fike em jabber.org
-------------- Prxima Parte ----------
Instalação do FreeNX no Debian Sarge.

Por Fernando Ike - fernando em ikenet.com.br

1 - Introdução

	Enquanto o Debian[0] 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 áudio 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.

aptitude update[1]
aptitude install ssh
aptitude 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, tendo como opção criar um atalho na Área de Trabalho do Gnome ou KDE, sendo possível também, 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 ThinClient 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 

Algumas convenções adotadas neste artigo:
[0] Debian - Debian GNU/Linux
[1] O aptitude é usado como Gerenciador de pacote mas poderia ser: apt-get, aptitude, synaptic, dselect.


Mais detalhes sobre a lista de discusso Debian-zine