Guia do Hardware.Net
Impresso em: 7/3/2003, 07:43:29
Impresso de: http://www.guiadohardware.net/curso/redes_guia_completo/54.asp

Cursos online :. Guia Completo de Redes

+ HOME
   :. Análises
   :. Artigos
   :. Cursos Online
       :. Hardware
       :. Redes
       :. Linux (foca)
       :. Gravação CDs
       :. Notebooks
       :. Setup
   :. Livros
      
:. Entendendo e
    Dominando o Linux 4.Ed
   :. Arquivo DDD
   :. Dicionário
   :. FAQ
   :. Notícias
   :. Dicas Linux
   :. Overclock
   :. Tutoriais

+ Publicações
   :. CD GDH
   :. CDs Mandrake
   :. CDs do Linux
   :. E-Books

+ Kurumin Linux

+ Outros
   :. Fórum
   :. Humor
   :. Palm
   :. Quiz

+ Pesquisar no site:

+ Expediente

+ Comente esta
   Matéria

Dúvidas sobre
Linux?
Baixe o E-book
Entendendo e Dominando o Linux
de Carlos E. Morimoto
ou increva-se no
Curso de Linux
em SP


Invista em
conhecimento:
:.CD-ROM Guia do Hardware: Todos os e-books e uma cópia off-line de todo o site por R$ 21,00
:.Linux Mandrake 9.0 GDH, com manual em Português e aplicativos. 4 CDs por R$ 24,00
:. E-Books de Carlos E. Morimoto:
Manual de Hardware Completo 3ed.
Redes 3ed
Upgrade e Manutenção
Novas tecnologias 3Ed
Entendendo e Dominando o Linux
Dicionário Técnico de Informática. R$ 8,00

:. CDs do Linux:
Slackware 8.1 R$ 8,00
Red Hat 8.0 R$ 16,00
DemoLinux 3.0 R$ 8,00
Knoppix R$ 8,00
Peanut 9.1 R$ 8,00
FreeBSD R$ 20,00
NetBSD R$ 16,00
Libranet R$ 8,00
Debian 3.0 R$ 35,00
Definity R$ 8,00
E outras distribuições

 

Dicas do dia : Receba as atualizações do Guia do Hardware todos os dias, direto no seu e-mail. Clique aqui para se inscrever.
 

Data: 29.03.2002
Tipo: Curso
Fabricante: Não se Aplica
Por: Carlos E. Morimoto

 

 Guia Completo de Redes

:. Rodando aplicativos via SSH

O SSH é uma espécie de versão evoluída do Telnet, que também permite executar arquivos remotamente, mas com várias vantagens.

Assim como no Telnet, uma máquina com o serviço habilitado pode ser acessada via linha de comando por usuários que tenham o login e senha de uma das contas do sistema. O SSH permite ter acesso completo ao sistema via terminal, seja via rede ou via Internet, limitado aos privilégios do login usado.

O sshd é o módulo servidor (que deve ser ativado na seção Serviços do Mandrake Control Center, ou no ntsysv, que pode ser aberto pelo terminal, com permissões de root), enquanto o ssh é o módulo cliente, incluído em praticamente todas as distribuições Linux, mesmo as relativamente antigas.

Para usar, basta usar o comando ssh -l login nome_ou_IP_da_maquina, como em ssh -l morimoto 10.0.0.1 ou ssh -l morimoto beta-2 para abrir o terminal do usuário morimoto no host beta-2.

O SSH inclui muitas opções de segurança, não deixe de ler a documentação disponível no: http://www.openssh.com

A segurança é justamente a principal vantagem sobre o antigo Telnet, onde os dados, incluindo senhas trafegam na forma de texto pela rede ou pela Internet, uma carta aberta para quem desejar ler. O SSH por sua vez pode ser praticamente indecifrável se bem configurado.

Existem diversas versões do SSH e o Mandrake (assim como outras distribuições Linux) inclui o OpenSSH, que não possui um cliente for Windows. A solução nesse caso é usar a versão da SSH Security, que tem vários recursos mas é gratuita apenas para universidades e usuários domésticos. O link é: http://www.ssh.com

O SSH da SSH Security e o OpenSSH são totalmente intercompatíveis, permitindo que você acesse um servidor Linux através de uma máquina Windows, como no caso do Telnet.


Cliente SSH for Windows


Além de oferecer acesso via linha de comando, o SSH permite rodar aplicativos gráficos remotamente, da mesma forma que expliquei no tópico anterior, mas com bem mais praticidade.

Abra uma janela de terminal e acesse a máquina Linux que está com o servidor SSH habilitado com o ssh -l login endereço_do_servidor e forneça a senha de acesso. Uma logado, o seu terminal mostra na verdade o terminal do servidor. Mas, se você inicializar qualquer aplicativo gráfico. Dando um konqueror por exemplo, o aplicativo não será inicializado no servidor, mas sim na sua máquina. É o mesmo efeito do comando que citei no tópico anterior, mas você não precisou usar o comando longo.

Outra vantagem é que inicializando os aplicativos desta forma todos rodarão, ao contrário do comando longo, que não funciona com todos os aplicativos.

Note que este recurso só funciona nos clientes Linux, o cliente Windows está limitado ao modo texto. Talvez algum dia alguém consiga desenvolver um servidor X para que o Windows também possa rodar os aplicativos gráficos, mas até lá esta é mais uma exclusividade do Linux.

Você pode usar o SSH até mesmo via Internet. Uma conexão via modem vai ser suficiente para trabalhar no modo texto, mas a coisa complica se você quiser rodar aplicativos gráficos. Com uma conexão via cabo ou ADSL eles já ficam usáveis, mas o ideal é uma rede local, onde os aplicativos rodam com o mesmo, desempenho com que rodam no servidor e com uma velocidade de atualização de tela também muito semelhante.

Veja o caso do screenshot abaixo por exemplo. Através do terminal SSH abri vários aplicativos, como o Gnumeric, Gim, Licq, Mozzila, Kontour, etc. todos rodando com um desempenho muito bom, apesar da amontoeira na tela:


O detalhe é que este screenshot foi tirado naquele 486 com 16 MB de memória. Como todos os programas rodam apartir do servidor, eles consomem memória e recursos do servidor. Segundo o top, o 486 estava usando apenas 17 MB de memória, incluindo memória física e swap:


Você pode até mesmo rodar o gerenciador de janelas a partir do servidor. Para isto, inicie a interface gráfica usando o xinit ao invés do startx. Isto abrirá o servidor X puro, sem gerenciador de janelas algum. Use o terminal para abrir a conexão via SSH e em seguida chame o gerenciador de janelas desejado com os comandos startkde, wmaker, gnome-session, blackbox etc. Isto também funciona pelo comando longo como blackbox -display 192.168.0.4, que também pode ser usado via Telnet.

Apesar de ser um pouco mais lento do que rodar apenas os aplicativos (já que o tráfego de dados na rede será maior) este recurso torna possível rodar o KDE ou o Gnome nos terminais 486, que provavelmente serão muito mais familiares aos usuários vindos do Windows do que o Window Maker ou o Blackbox.

Você pode configurar várias opções relacionadas ao servidor SSH, incluindo a porta TCP a ser usada editando o arquivo /etc/ssh/sshd_config.


:. Rodar a interface gráfica e todos os programas a partir do servidor

Se você tiver um monte de terminais 486 em mãos e não pretender rodar aplicativos locais, a melhor opção é configurar as estações para automaticamente carregar a janela de login do servidor durante o boot. Logo ao ligar a máquina você verá a tela de login, como veria no servidor, onde poderá escolher qual conta de usuário e qual interface gráfica utilizar. Apesar disso, ainda é possível rodar aplicativos de modo texto locais pressionando Crtl + Alt + F2 (F3, F4, F5, F6).

Para isto, você precisará ter pelo menos 200 MB de espaço livre em disco em cada estação e pelo menos 12 MB de memória. É possível instalar com 8 ou até mesmo 4 MB, mas o desempenho ficará comprometido. Não seja mão de vaca, um pente de 8 MB de memória FPM não custa mais de 20 reais...

Como vamos rodar tanto a interface gráfica quanto todos os aplicativos a partir do servidor, você só precisará instalar os pacotes básicos da distribuição escolhida e o Xfree. Nos meus 486 eu costumo utilizar o Conectiva 4, que apesar de estar bem desatualizado é bem flexível para este tipo de instalação mínima. Você claro, pode utilizar sua distribuição favorita. Eu cheguei até a instalar o Red Hat 7.2 num destes 486 (http://www.guiadohardware.net/artigos/190-rh72.asp) mas em termos de desempenho esta é uma péssima idéia, é muito complicado fazer uma instalação reduzida com ele. O Mandrake sequer instala em micros 486, enquanto o SuSE 7 é um pouco mais flexível, mas ainda longe do ideal. Boas opções neste caso seriam o Debian ou o Slack, desde que você tenha uma boa familiaridade com o escolhido.

No meu caso, instalo da seguinte forma:

1- Copio os arquivos do CD 1 do Conectiva 4 para uma pasta do servidor (/home/morimoto/conectiva por exemplo)

2- Compartilho a pasta via NFS. Para isso, basta editar o arquivo /etc/exports, adicionando uma linha com o diretório a ser compartilhado, como em:

#

/home/morimoto/conectiva


3- Para ativar a alteração, uso o comando:

/etc/rc.d/init.d/nfs restart


4- Agora posso instalar nos terminais via rede, sem precisar instalar um CD-ROM em cada um. Basta gravar um disquete com o arquivo bootnet.img que está na pasta Images do CD. Você pode fazer isso através do Windows mesmo, usando o Rawwritewin, que pode ser baixado em: http://www.downloads-guiadohardware.net/download/rawwritewin.exe

5- Basta configurar o terminal para dar boot através do disquete e manter o servidor ligado para iniciar a instalação. A primeira pergunta é sobre o chipset da placa de rede. A lista inclui a maior parte das placas, incluindo as placas com chipsets Realtek 8129 ou 8139 que são as mais vendidas ultimamente. Nas distros atuais o disquete é capaz de detectar a placa automaticamente.

6- Escolha a opção de instalação via NFS e forneça o endereço IP a ser usado pela estação, o endereço IP do servidor (o endereço da placa a ser utilizada pelo terminal) e o diretório que havíamos compartilhado no passo 2.

7- Iniciada a instalação, escolha a opção Instalação mínima que ocupa apenas 170 MB de espaço em disco e tem tudo de que iremos precisar. Se tiver espaço sobrando, você pode instalar mais pacotes que pretenda usar. A partição Swap, criada durante a etapa de particionamento deve ser de pelo menos 16 MB, mas procure reservar um pouco mais de espaço se puder.

8- Não se esqueça de configurar adequadamente a placa de vídeo, pois apesar da interface gráfica rodar no servidor, o servidor X roda no terminal. No final da configuração, marque a opção de inicializar a interface gráfica durante o boot.

Para configurar o servidor, basta fazer duas pequenas alterações em dois arquivos de configuração:

1- Abra o arquivo /etc/X11/xdm/xdm-config e comente a linha

DisplayManager.requestPort: 0 adicionando uma ! ou uma # no início. Se a linha já estiver comentada, deixe como está. Lembre-se que as linhas comentadas aparecem em azul no vi.


2- Abra o arquivo /etc/X11/xdm/Xaccess e descomente a linha

* #any host can get a login window, retirando a tralha. Preste atenção para não retirar nenhum dos espaços, apenas a tralha.


Feito isso, 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 10.0.0.1. O comando deve ser dado com o terminal em modo texto

Para automatizar o processo, fazendo com que o terminal abra automaticamente a tela de login do servidor, sem passar pelo login local e sem a necessidade de digitar este comando a cada boot, edite o arquivo /etc/inittab (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 10.0.0.1

Lembre-se que caso o servidor tenha várias placas de rede, cada estação deve ser configurada com o IP da placa de rede a que estiver conectada. Veja o resultado:


Como disse, não é preciso fazer mas nenhuma configuração nas estações, apenas instalar os programas necessários no servidor. Isso se aplica também à Impressora, que uma vez instalada no servidor funciona em todos os terminais.


:. Estações diskless com o Etherboot

O Etherboot é o software que permite que as estações dêem boot através da rede, obtendo todo o software a partir do servidor. Como o software é muito pequeno, apenas 35 ou 40 KB, dependendo do driver usado pela placa de rede. O boot pode ser dado tanto através de um disquete, quanto a partir da ROM da placa de rede. A maior parte das placas de rede, mesmo as Realtek de 25 reais trazem um soquete vago para o encaixe de uma ROM. As ROMs são relativamente baratas, de 10 a 20 reais em média, mas você ainda precisará grava-las com o Etherboot. A menos que você pretenda gravar um número muito grande de ROMs, o mais econômico é procurar alguém que tenha um gravador de EPROMs. Como a maior parte dos gravadores de BIOS também grava ROMs de placas de rede, isto não é um grande problema hoje em dia.

Você pode conseguir os arquivos no http://rom-o-matic.net/ . Basta escolher o modelo do chipset da placa de rede e o formato da ROM (escolha Floppy Bootable ROM Image para dar boot através de um disquete) e clicar em Get ROM. Basta agora gravar o arquivo num disquete usando o Rawwritewin (veja o link acima). No Linux basta usar o comando cat nome_do_arquivo >/dev/fd0


Para descobrir o chipset da sua placa de rede, basta usar o comando lspci num terminal do Linux ou dar uma olhada no gerenciador de dispositivos do Windows. O Etherboot é compatível com um número relativamente limitado de placas, mas as Realtek 8129 e 8139, que representam uns 80% das placas vendidas atualmente no Brasil são suportadas perfeitamente. Estas placas estão entre as mais baratas, e são comercializadas sob várias marcas (Encore, Genius, etc.). O desempenho não é dos melhores e a utilização do processador não é das mais baixas, mas pelo menos as placas são baratas e compatíveis com os principais sistemas. Servem bem no nosso caso.

A configuração dos terminais se resume a gerar os disquetes ou ROMs. O problema maior é na configuração do servidor, bem mais complicada do que no sistema do tópico anterior.

O primeiro passo é ir no http://www.ltsp.org e baixar o LTSP, o software que iremos utilizar no servidor. Existem vários pacotes, com alguns aplicativos e vários drivers de vídeo, mas os pacotes básicos são:

ltsp_core-3.0.0-1.i386.rpm

ltsp_kernel-3.0.1-1.i386.rpm

ltsp_x_core-3.0.1-1.i386.rpm

ltsp_x_fonts-3.0.0-0.i386.rpm


Depois de baixar e instalar os quatro pacotes (através do comando rpm -ivh nome_do_pacote, ou simplesmente clicando sobre o arquivo através do gerenciador de arquivos) você ainda precisará configurar os parâmetros referentes aos terminais editando os arquivos:

/etc/dhcpd.conf

/etc/hosts

/opt/ltsp/i386/etc/lts.conf


O primeiro, /etc/dhcpd.conf, é o principal pois contém os endereços IP do servidor e de cada estação, o /etc/hosts contém os nomes das estações e o endereço IP correspondente a cada uma, para permitir que você possa acessa-las usando os nomes ao invés dos endereços IP. Finalmente, o /opt/ltsp/i386/etc/lts.conf permite que especifique opções relacionadas a cada terminal, como o servidor X a ser usado, o driver do mouse, etc.

Você pode encontrar detalhes sobre a configuração de cada arquivo no:
http://www.ltsp.org/documentation/ltsp-3.0.0/ltsp-3.0.html

Existem algumas limitações no uso do LTSP. O servidor deve ser o único servidor DHCP disponível na rede. Você não pode por exemplo manter uma estação Windows com o ICS ativado na mesma rede. Apesar da configuração ser centralizada no servidor, você precisará configurar cada estação de forma independente no /opt/ltsp/i386/etc/lts.conf, sem direito a qualquer mecanismo de detecção automática. E, o mais limitante, o servidor deverá ter uma única placa de rede, o que impede o uso de todo o projeto de rede para otimizar o desempenho das estações que havia mostrado anteriormente. O melhor projeto de rede neste caso seria usar uma placa Gigabit Ethernet no servidor e um switch para permitir que as placas das estações trabalhem a 10 ou 100, sem limitar o desempenho da placa do servidor. Mas, este projeto é mais caro e menos eficiente.

Eu pessoalmente prefiro usar o modo anterior, usando um HD em cada estação, mas você pode estudar ambos os sistemas e decidir qual é mais vantajoso para você, já que ambos possuem prós e contras.

O Linux Conectiva possui um sistema de boot remoto semelhante ao do LTSP.org, mas que já acompanha o sistema, conta com um módulo de configuração gráfica através do LinuxConf e possui documentação em Português que você encontra no:
http://www.conectiva.com/doc/livros/online/7.0/servidor/implementa-bootremoto.html


:. Usando os terminais

Tenha em mente que como todos os aplicativos rodam no servidor, todos os arquivos também são salvos no servidor. Por isso, o ideal é criar uma conta de usuário para cada usuário do sistema, de modo que ele possa salvar seus arquivos, seus e-mails, etc. Isso é muito mais eficiente e mais barato do que a idéia da prefeitura de São Paulo de financiar a compra de um cartão de memória flash para cada usuário. Como um usuário não tem permissão para acessar os arquivos das pastas dos outros, isso oferece uma segurança e privacidade muito boa.

O backup também é bastante simples, já que estará centralizado. Você pode ter por exemplo um segundo HD e uma gaveta para fazer o backup sempre que necessário e guardá-lo num local seguro. Uma dica importante é usar o sistema de arquivos EXT3 no servidor, que é muito mais seguro que o antigo EXT2, que é muito susceptível à perda de dados depois de desligamentos incorretos.

A manutenção do servidor pode ser feita a partir de qualquer terminal, ou até mesmo via internet (se você configurar o Firewall para liberar o acesso via SSH) e se precisar instalar novos programas, basta instalá-los no servidor, para que todos os usuários possam usar.

Os problemas com vírus e cavalos de Tróia são muito menores no Linux. Um programa executado pelo usuário não tem mais permissões do que ele mesmo. Ou seja, se um usuário não tem permissão para alterar arquivos fora da sua pasta, qualquer programa executado por ele também não terá. Na pior das hipóteses ele pode acabar com seus próprios arquivos pessoais, mas não afetar os arquivos dos demais usuários ou o sistema.

Nas estações a única preocupação é com problemas de hardware, que provavelmente serão relativamente freqüentes, já que estamos falando de máquinas com 6, 8 ou até 10 anos de uso. Mas, pelo menos você não precisará se preocupar com perda de dados, já que estará tudo no servidor. Basta resolver o problema ou até mesmo reinstalar o sistema se necessário, refazer a configuração e pronto, o terminal estará de volta à rede.

Existem naturalmente algumas limitações no uso dos terminais, os jogos por exemplo. Jogos de cartas, ou de tabuleiro, ou até mesmo títulos como o Freeciv (um clone do Civilization 2) onde existe pouca movimentação rodam sem problemas, mas jogos de movimentação rápida em tela cheia não vão rodar satisfatoriamente.

Para usar a placa de som do servidor a partir de uma das estações, o mesmo usuário deverá estar logado localmente no servidor. Se por exemplo estou utilizando o login morimoto e quero ouvir um MP3 usando a placa de som do servidor, precisarei primeiro ligar o monitor do servidor e logar o morimoto, para que o servidor de som seja iniciado. O som só funcionará nos terminais usando o login morimoto, embora nada impeça que você use o mesmo login em mais de um terminal ao mesmo tempo.

O CD-ROM e o drive de disquetes do servidor poderão ser usados normalmente pelos usuários, inclusive com vários usuários acessando o CD que está na bandeja por exemplo.

Fora estes detalhes, você conseguirá rodar todo tipo de programas nos terminais, usar qualquer efeito pesado do gimp, etc. A princípio, pode parecer que rodar aplicativos de 10 clientes no servidor ao mesmo tempo irá deixá-lo bastante lento, mas na prática isso funciona da mesma forma que as linhas dos provedores de acesso. Nenhum provedor tem o mesmo número de linhas e de assinantes, geralmente utilizam uma proporção de 8 ou 10 pra um, presumindo que jamais todos os assinantes vão resolver conectar ao mesmo tempo. Mesmo com 10 clientes, raramente todos vão resolver rodar ao mesmo tempo algo que consuma todos os recursos do servidor por muito tempo. Normalmente temos apenas tarefas rápidas, como abrir um programa, carregar uma página Web, etc. feitas de forma intercalada.

Outro ponto interessante diz respeito às suas estratégias de upgrade. Ao invés de gastar dinheiro com upgrades de memória e processador para os clientes, você deve investir os recursos disponíveis em melhorar o servidor e a rede, além de trocar monitores, teclados e mouses nas estações. Um monitor de 15 e um teclado novo numas das estações vão fazer muito mais efeito que um upgrade na torre.


« Voltar .: | :. Home »

 

© 1999 - 2002 :. Todos os direitos reservados :. Guia do Hardware.Net
http://www.guiadohardware.net/