Mars Ataca! Confira aqui as razões pelas quais vários servidores Novell estão perdendo
terreno para o Mars
Marcos Aurélio Rodrigues
marcos@pronet-fino.com
Quando se fala em servidor de arquivos, imediatamente
nos lembramos da Novell Netware, afinal durante muitos anos este foi o
principal sistema operacional de redes usado no Brasil. Toda uma geração
de técnicos aprendeu a instalar e dar manutenção em servidores Novell e a
versão 2.15 foi a primeira que conheci. Depois vieram as versões 2.2,
3.11, 3.12, 4.x até as atuais 5.x, com substancial evolução entre elas.
Este software teve a hegemonia do mercado durante muitos
anos, mas é fato que, dentre as redes instaladas em pequenas e médias
empresas, existe um grande número de servidores Novell pelos quais não foi
paga nenhuma quantia pelo seu licenciamento, e não importando analisar aqui
o motivo, a situação permanece. De uns anos para cá, o Windows NT começou a
tomar parte deste mercado, e hoje uma boa parte das empresas está usando
servidores baseados neste sistema operacional. O NT tem os seus méritos,
mas entre os desméritos está a necessidade de hardwares mais potentes do que
as versões mais antigas da Novell, notadamente a 3.11. Alguns podem argumentar
que o hardware está mais potente e mais barato, e eu concordo com isto, mas
não dá para negar que é possível ter um servidor baseado em Novell 3.11/3.12
em um hardware mais barato, ou no mesmo hardware em que poderia ser instalado
um servidor Windows NT, com uma performance melhor, pela menor exigência que
estas versões da Novell têm em relação ao computador em que estão
instaladas.
Mas qual afinal é a solução para quem têm uma Novell
3.1x pirata, está satisfeito com o software e hardware que possui, e não
está disposto a trocar de hardware para poder instalar uma Novell 5.x ou
Windows NT? Ou pior, não podem ou não pretendem pagar por esta troca?
Convenhamos, os custos não são pequenos e esta troca
envolve a compra do hardware, o licenciamento do software e os custos de
instalação, além da adaptação ao novo sistema operacional, o que via de
regra é incompatível com a disponibilidade financeira ou operacional.
A melhor relação custo benefício que existe atualmente
se chama Linux, e isto é fato, mas como substituir um servidor Novell pirata por um servidor
Linux com o menor trauma possível?
Há soluções baseadas em dois protocolos de
compartilhamento, o smb/cifs, que é usado no Samba (ver artigo do número
anterior), e o NCP que é o mesmo protocolo usado pela Novell e é
implementado em três produtos para Linux, dois gratuitos e um comercial;
os gratuitos são o mars-nwe (Martin Stovers Netware Emulator) e o lwared
de Ales Dryak, o comercial é o Netware for Linux da Caldera. Neste artigo,
irei tratar especificamente do mars-nwe que é mais estável e poderoso
que o lwared.
O mars-nwe oferece:
- Um servidor de arquivos funcionalmente compatível com o Novell Netware
2.15/3.11, podendo ser acessado por qualquer client Novell padrão usando as
ethernet frames 802.2 ou 802.3, através de ipx/spx (ipx/netx), ipx/odi ou
vlm, ou estações de trabalho Windows for Workgroups, Windows 95/98, Windows
NT WorkStation/Server, ou qualquer outro cliente compatível com Novell 3.1x.
- Um servidor de impressão usando os recursos de impressão do Linux.
- Nenhuma restrição de licença de uso, o que significa que um servidor Linux
executando o mars-nwe pode ser acessado simultaneamente por qualquer
quantidade de estações de trabalho sem a necessidade de pagamento de nenhum
tipo, já que tanto o Linux quanto o mars-nwe são gratuitos.
- Permite que o Linux seja usado como um roteador de protocolo IPX.
- Além do mars-nwe estão à disposição três programas adicionais:
- mars_dosutils, com os aplicativos MS-DOS net.exe e nwnet.exe, os quais
substituem os aplicativos Novell, login, logout, map, capture, endcap, etc.
- ncpfs, para que volumes Novell possam ser montados como sistemas de
arquivos Linux.
- smart que permite alterar as configurações do mars-nwe através de um
browser qualquer, bastando para isso que o Linux esteja com o servidor http
Apache instalado.
E com todos estes recursos o servidor Linux ainda pode
ser usado como servidor de e-mail, http, proxy, discagem por demanda, SMB,
NFS, DNS etc. A lista de aplicativos para servidores Linux é tão extensa que
merece um artigo à parte.
Instalando o Mars-nwe
Antes de começar a configurar o mars-nwe é necessário
verificar se o pacote está instalado. Partindo do princípio que o Conectiva
Linux já está instalado, digite no console do equipamento que será o seu
servidor:
Se o mars-nwe não estiver instalado será necessário
colocar o CD do Conectiva Linux no drive de CD-ROM do servidor e digitar:
# mount /mnt/cdrom
# cd /mnt/cdrom/conectiva/RPMS
# rpm -ivh mars-nwe-0.99pl15-7cl.i386.rpm
|
Uma dica, para não ter que digitar todo o nome do pacote,
digite apenas mars e pressione a tecla [tab], o Linux tem uma função de auto
preenchimento que irá completar o nome do arquivo para você.
Deverão aparecer vários # na tela e o programa será instalado.
Para ter certeza de que o pacote foi instalado é só digitar, como no exemplo
anterior:
Configurando o protocolo IPX
O mars-nwe usa o protocolo IPX para se comunicar com as
estações de trabalho e outros servidores na rede. Este protocolo necessita
ser configurado no equipamento que será o seu servidor. A documentação do
mars-nwe pede que o kernel seja recompilado e durante a recompilação deve-se
requisitar que seja incluído o suporte para este procotolo.
No Conectiva Linux isto não é necessário, uma vez que que
o protocolo IPX já está incluído no kernel por default, bastando apenas
ativá-lo e a forma mais simples e indicada de fazer isto é através do linuxconf,
para tanto execute o seguinte comando no console do servidor:
- Escolha Ambiente de Rede/IPX - opções da interface, você verá uma caixa de
diálogo como na figura 1.
No exemplo está sendo ativada a rede IPX, a auto
configuração de qual interface será a primária e da ethernet frame que
será usada. O próximo passo é definir quais os tipos de frame o Linux irá
aceitar, para isso clique na palheta adaptador 1 como mostra a figura 2.
Observe que foram escolhidos os dois tipos de frame, o
802.2 e o 802.3. Clique o botão aceitar e reinicie o computador, e o protocolo
IPX deverá estar ativo. Para ter certeza de que o protocolo foi ativado, basta
executar os seguintes comandos após a reinicialização:
# cd /proc/net
# cat ipx_interface
|
O resultado deverá ser como abaixo:
Network |
Node_Address |
Primary |
Device |
Frame_Type |
00000000 |
00608CF385EA |
Yes |
eth0 |
802.2 |
00000000 |
00608CF385EA |
No |
eth0 |
802.3 |
Observe que no exemplo o Linux aceitará comunicar-se
com computadores que estejam executando ambos os tipos de frames 802.2
e 802.3, sendo que o default será o 802.2.
O protocolo IPX foi configurado e o mars-nwe foi
instalado, o próximo passo será configurá-lo.
Configurando o Mars-nwe
A configuração do mars-nwe é bastante simples, bastando
editar o arquivo /etc/nwserv.conf, e isto pode ser feito manualmente ou
através de um utilitário que permite fazer isto via web. Para configurar
manualmente, siga os passos:
No console do servidor edite o arquivo /etc/ wserv.conf,
para isto eu posso usar o editor de textos vi, digitando:
Este arquivo é dividido em seções numeradas, e, apesar
de o texto ser em inglês, todas são bastante comentadas e auto-explicativas.
Todas as linhas que iniciarem com uma # (cerquilha) são comentários.
Vamos alterar as seções que nos interessam para fazer o nosso servidor
funcionar.
Seções
Volumes (obrigatória) Nesta seção são configurados
volumes como os que existem em um servidor Novell, que por default têm de ter
ao menos o volume Sys.
Este volume está localizado no diretório /var/mars_nwe/sys.
Se a linha que aponta para este diretório estiver comentada, retire o comentário
(linha precedida por #) e deixe somente a letra k no final da linha, se for
mantido o r que vem por default, o volume será read-only. Isto é útil quando
se quer montar volumes de somente leitura tais como CD-ROM, ou alguma outra
unidade de disco onde não se queira que o usuário tenha direito de gravação
e as opções relevantes desta seção são:
k |
Permite o uso de nomes de arquivos com letras minúsculas |
m |
Usado em volumes removíveis, como o CD-ROM |
r |
O volume é somente leitura e mostra sempre 0 bytes livres |
O |
Sistemas de arquivos OS/2 |
N |
Sistemas de arquivos NFS |
Nome do Servidor(opcional) Configuração do nome
do servidor, este é o nome que será apresentado quando for executado o comando
novell slist (server list), e será o nome visualizado por toda a rede.
Número de rede interna (obrigatória) Definição do
número de rede interno, este é um parâmetro obrigatório, e uma sugestão é usar
o mesmo número que está sendo usado como endereço IP do servidor, como por
exemplo em 192.168.1.1, ou então utilizar o default que é o modo automático,
e a configuração ficará assim:
Dispositivos IPX (recomendada)Contêm informações
para o roteador ipx interno do mars-nwe e/ou o programa externo nwrouted.
Ambos os programas gerenciam a troca de pacotes entre o servidor e os outros
computadores clientes da rede. Todas as linhas estão comentadas e, como nós
já configuramos o IPX do kernel do Linux, não será necessário alterar nenhuma
linha aqui.
Salvamento das rotas IPX (obrigatória) Controla as
informações referentes às rotas do IPX definindo se elas devem ser mantidas
durante o tempo em que o servidor estiver ligado. Por default não salva as
rotas e a linha fica sendo: 5 0.
Apresenta-se como versão do Netware e isto engana os
outros computadores da rede, fazendo com que o mars-nwe se apresente aos
outros com um servidor Netware 2.15 ou 3.11. Existe também uma opção para
a versão 3.12 que ainda não está implementada. Normalmente, usa-se a opção
para Novell 3.11 e a linha fica sendo: 6 1.
Manuseio das senhas dos clientes MS-DOS (obrigatória)
Quando as senhas são alteradas a partir de clientes MS-DOS, o cliente pode encriptar
a senha antes de enviá-la ao servidor mars-nwe. Em algumas redes pode haver a
necessidade de melhorar a segurança através destes recursos, mas em redes
pequenas isto não faz muita diferença. As opções relevantes são:
0 |
Força a criptografia de todas as senhas dos clientes DOS |
1 |
Idêntica à anterior, mas permite usar a versão sem
criptografia da rotina de troca de senha |
7 |
Permite o uso de qualquer tipo de senha sem criptografia,
mas não permite senhas em branco |
8 |
Permite o uso de qualquer tipo de senha sem criptografia,
inclusive senhas em branco |
Usaremos o default, ficando assim a linha:
Identificação de Usuário e Grupo com direitos
mínimos (obrigatória) Quando os drivers do Netware são carregados na
estação de trabalho DOS (IPX/NETX, IPX/ODI ou VLM), a estação é então
ligada (attach) ao servidor netware, e uma nova letra de dispositivo
drive passa a estar disponível, normalmente a letra F:. Neste momento
o usuário está habilitado a digitar:
fornecer o seu nome de usuário e ganhar acesso à rede.
Enquanto o usuário não fornecer nome e senha válidos,
ele não poderá enxergar nada além do diretório login, este parâmetro diz
qual usuário e grupo estão fornecendo o direito de ver o diretório login.
No Conectiva Linux, existem o usuário nobody e o grupo nobody ambos com
número de identificação 99, portanto nesta seção ficarão duas linhas.
Login de supervisor (obrigatória)O supervisor é
o equivalente ao usuário root no Linux. É necessário especificar qual usuário
do Linux será usado como supervisor do mars-nwe, e por uma questão de segurança
não deve ser usado o root. A documentação sugere a criação de um usuário nw-adm
e é exatamente o que faremos através dos seguintes comandos:
# adduser nw-adm
(criação de usuário)
# passwd senha
(criação de uma senha para o usuário)
|
Substitua a palavra senha por qualquer uma de sua escolha.
A linha de configuração desta seção ficará assim:
12 SUPERVISOR nw-adm senha |
Login dos usuários (opcional) Nesta seção você
poderá criar a equivalência entre os nomes de usuário Linux e mars-nwe.
Todos os usuários do mars deverão ter um usuário equivalente no Linux e, se
o usuário que você definiu não existir no Linux, ele passará a ter os direitos
mínimos definidos nas seções de identificação de usuário e grupos com direitos
mínimos, e na de controle de senhas por clientes MS-DOS.
Um exemplo: 13 usuário senha
ou 13 joao 123456 . Lembrando-se de que o
usuário deve ser um dos cadastrados no Linux.
Mapeamento automático de login (opcional)
A utilidade desta seção é facilitar o mapeamento de um grande número de
usuários do Linux para o mars-nwe. Isto é feito através da leitura do arquivo
de usuários do Linux, o /etc/passwd, e criando nomes de usuários do mars. Para
cada um dos nomes de usuários ali encontrados, como não é possível atribuir
automaticamente a mesma senha do Linux para todos os usuários do mars, deve
ser atribuída uma senha única que deverá ser modificada através do comando
setpass. Os parâmetros são os seguintes:
0 |
Não faz a conversão automática de nomes (default) |
1 |
Faz a conversão automática e fornece a cada um dos
usuários mars-nwe criados, a senha única atribuída posteriormente |
99 |
Faz a releitura do arquivo /etc/passwd e sobrescreve os
nomes de usuário do mars-nwe, mesmo para aqueles que já existem. Além disso,
tem outra utilidade que é fazer com que todas as senhas sejam mudadas para
senha escolhida |
Exemplo:
Testes realizados na inicialização O conselho dado
pelo comentário do arquivo de configuração é usar o parâmetro 1 e não mexer mais
com isso. Este 1 faz com que o mars tente recriar qualquer diretório default que
tenha sido apagado, os diretórios são login, public e system, abaixo de
/var/mars_nwe/sys. A linha ficará assim: 16 1
Filas de impressão (opcional) Nesta seção são definidas
quais as impressoras conectadas ao servidor Linux que poderão ser acessadas pelos
clientes DOS.
Seção |
Nome da Fila |
Diretório da Fila |
Comando de Impressão |
21 |
O nome de fila que
será usado pelo cliente DOS, este não o nome da fila no linux |
Diretório em que
serão armazenados arquivos antes de serem impressos |
Comando de impressão
do linux que irá ser usado para imprimir os arquivos que estiverem na fila |
Exemplo:
21 deskjet sys:/print/deskjet lp |
Configuração das estações de trabalho
- MS-DOS
O mars-nwe permite que qualquer estação de trabalho anteriormente
configurada para acessar um servidor Novell passe a acessá-lo sem maiores problemas.
A exceção são as estações de trabalho com boot remoto, e para estas a solução será o
uso de um disquete com os programas normais de acesso à rede Novell, que são o
IPX/NETX, o IPX/ODI e o VLM, desde que as ethernet frame necessárias tenham
sido configuradas no kernel do Linux.
Existem configurações específicas para os seguintes sistemas,
mas não vamos detalhá-las neste artigo:
- Windows for Workgroups
- Windows 95/98
- Windows NT
- mars dosutils
A menos que você tenha uma rede Novell licenciada, o uso dos
utilitários login, logout, map, capture, endcap irá ferir os direitos autorais da
Novell. Para solucionar este problema, existe o pacote mars_dosutils e nele
estão os executáveis e os fontes de dois programas chamados NET.EXE e
NWNET.EXE. Os dois têm a mesma funcionalidade e o NWNET.EXE aceita alguns
parâmetros a mais.
Estes programas devem ser copiados para /var/mars_nwe/sys/login
para que possam ser utilizados em substituição ao login.exe.
Para ver quais parâmetros aceitam estes programas, basta executar
o comando de login e será mostrada uma lista.
Exemplo:
equivale ao login da Novell. Estes utilitários podem ser encontrados em
ftp://ftp.pronet-info.com/linux/mars_nwe/mars_dosutils-0.16.tgz, e após fazer o download deste arquivo digite a seguinte seqüência:
# tar xvfz mars_dosutils-0.16.tgz
# cd netpc
# cp *.exe /var/mars_nwe/sys/login
|
E está feito. Quando a estação de trabalho se ligar (attach)
ao servidor e acessar o drive F:, basta digitar:
net login
como no exemplo acima e validar o seu nome de usuário e senha com o mars.
|