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