Proposta de Artigo para o Debian Zine

Fernando Ike fernando em ikenet.com.br
Quinta Dezembro 9 21:59:35 BRST 2004


Estou mandando minha contribuição para o Debian Zine.


Artigo sobre Instalação do FreeNX no Debian.





[]'s

-- 
Fernando Ike - ikenet.com.br
Futuro breve... Mondo Debian - http://www.mondodebian.com.br
Linux User 303638 - Debian User 352
I seek You (ICQ)- 160594996
jabber ID - fike em jabber.org
-------------- Próxima Parte ----------
Instalando FreeNX no Debian.

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 criptográfica, túneis criptográficos, 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 source.list "/etc/apt/source.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 mapeado dos usuários no "/etc/passwd", não é precisa configurar senha. O FreeNX precisa do uid e gid mapeados pelo Linux., supondo que os usuários já estajam cadastrados no Linux, precisa inclui-los no FreeNX.
 	
	Execute o script de configuração:

nxsetup --setup-nomachine-key

	Existe 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" é Shell Script". 


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 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, Kontact, etc. 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 usar pretender 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