Integrando e Centralizando a Administração de Serviços de uma LAN

Transcrição

Integrando e Centralizando a Administração de Serviços de uma LAN
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
Integrando e Centralizando a Administração de
Serviços de uma LAN
Diego Luís Kreutz1 2 ** ++, Tiago Fiorezze2 ++, Benhur Stein1
1
Laboratório de Sistemas de Computação – Universidade Federal de Santa Maria
CT – Campus Universitário – 97105-900 – Santa Maria – RS – Brasil
2
Núcleo de Ciência da Computação – Universidade Federal de Santa Maria
CT – Campus Universitário – 97105-900 – Santa Maria – RS – Brasil
{kreutz,tapera,benhur}@inf.ufsm.br
Abstract. The administration of computer networks isn’t always an easy and
practical task. The Management of services like DNS, DHCP and NFS, for example, is normally realized in a individual and independent way. The goal of
this article is to present an architecture and a system that makes possible the
integrated, centralized and simplified management of network services commonly present in a local area network (LAN).
Resumo. A administração de redes de computadores nem sempre é uma tarefa
fácil e prática. O gerenciamento de serviços como o DNS, DHCP e NFS, por
exemplo, é normalmente realizado de forma individual e independente. O objetivo desse artigo é apresentar uma arquitetura e um sistema que possibilita um
gerenciamento integrado, centralizado e simplificado de serviços de rede comumentemente presentes em uma rede de área local (LAN)t.
1. Introdução
As redes de computadores fazem cada vez mais parte da vida das pessoas. Não somente
de cientistas, funcionários de grandes corporações e estudantes de cursos de computação, mas também de praticamente todas as pessoas. A simples utilização de caixas eletrônicos é um exemplo de utilização de uma rede de interconexão que torna capaz o
atendimento remoto e automático dos usuários de um banco.
Com o desenvolvimento, disseminação e redução de custos, as redes de computadores estão cada vez mais sendo utilizadas em empresas de pequeno e médio porte,
escolas e praticamente toda e qualquer organização, ou até mesmo residência, que possa
tirar algum proveito dos benefícios proporcionados pela interconexão de dispositivos
eletrônicos, como os computadores.
Devido a esta vasta proliferação das redes de computadores, e também ao potencial crescimento de uma rede privada, surge cada vez mais a necessidade de ferramentas
e sistemas que possibilitem um gerenciamento rápido, prático, eficiente e centralizado.
Isso por que a medida que uma rede cresce torna-se cada vez mais difícil e trabalhoso
manter diferentes serviços, instalados ou não em diferentes servidores, como o NFS
**
Bolsista do CNPq.
++
Administrador da Rede do Curso de Ciência da Computação.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
[Stern, 1991], [Men&Mice, 2000], o DNS [Computerized Horizons, 2002], [Salamon,
2001], [Salamon, 2000] e o DHCP [Droms, 2002], [Mohr, 2000].
Em uma intranet (LAN1) estes três serviços têm um papel crucial. Como são
serviços independentes, requerem arquivos de configuração específicos. Além de arquivos diferentes, estes podem estar localizados em máquinas distintas. Dificultando ainda
mais a tarefa de atualização e manutenção.
O objetivo deste artigo é apresentar uma idéia simples e prática de gerenciamento centralizado, integrado e automatizado de serviços como o DNS, DHCP e NFS. A
idéia surgiu da necessidade de gerenciamento destes serviços no Curso de Ciência da
Computação da UFSM.
A próxima seção apresenta uma breve introdução aos principais serviços de rede. Na seqüência é apresentado um resumo do estado da arte em termos de ferramentas
de gerenciamento destes serviços Em seguida é apresentada uma solução simples, eficiente e prática para a atualização e o gerenciamento integrado e centralizado de serviços
como o DNS, DHCP e NFS. Finalizando, são enfatizadas as vantagens de uma solução
integrada para o gerenciamento de serviços de uma rede.
2. Principais Serviços de Rede
As redes de computadores não param de crescer e receber novas funcionalidades e tarefas. Por isso a tarefa de gerenciar de forma prática, eficiente e rápida, os serviços indispensáveis para o bom funcionamento é cada vez mais crucial.
Serviços como o DNS (Domain Name Service), o DHCP (Dinamic Host Configuration Protocol) e o NFS (Network File System) são normalmente vitais para o funcionamento tanto de uma rede acadêmica quanto para de rede corporativa.
Estes serviços são especiais devido ao fato de praticamente toda a rede depender
deles. Isso por que o DNS é responsável pelo serviço de nomes de uma rede, hoje praticamente indispensável, visto que nenhum usuário deseja ficar memorizando números
IP. O DHCP por sua vez facilita, agiliza e automatiza o processo de configuração das
máquinas que compõe uma rede. Por fim, o serviço de NFS possibilita a unificação e
compartilhamento de dados na rede, ou seja, um usuário, por exemplo, contém um único diretório de dados em uma única máquina. O acesso a esses dados é realizado através
de sistemas de arquivos de rede, como o NFS. A partir de qualquer máquina da rede o
usuário pode ter acesso aos seus dados como se fossem locais.
Como estes serviços possuem arquivos de configuração distintos e podem estar
em máquinas diferentes, emerge a dificuldade e o trabalho de manter e atualizar diversos arquivos de configuração. Neste caso, seria útil um sistema que permitisse realizar a
atualização automática e simultânea do maior número de serviços possível. Este é justamente o ponto onde entra em cena o sistema apresentado neste artigo.
3. Estado da Arte
1
Local Area Network
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
Como todo administrador de rede sabe, o DNS, o DHCP e o NFS são alguns dos serviços que são normalmente gerenciados individual e praticamente manualmente. Mas,
existem várias ferramentas e sistemas disponíveis que facilitam essas tarefas. No entanto, a maioria delas apenas gerencia um dos serviços. Não havendo uma integração que
facilite e simplifique a tarefa de gerenciamento desses serviços.
Entre as ferramentas e pacotes que facilitam e auxiliam a instalação e gerenciamento de servidores DNS pode-se citar o QuickDNS [Men&Mice, 2000], o DNStool
[Rowell], o DNS2Go [Dockter, 2001], o DNSBoss [Sun Microsystems Solution Provider], o pacote dhis-tools-dns da Debian e outras mais que acompanham distribuições
Linux como a SuSE, a RedHat e a ManDrake.
Algumas destas se destacam em pontos como facilidade de instalação e configuração do serviço DNS. Como o DNS2Go, o QuickDNS e o DNSBoss. Estas são ferramentas comerciais. A primeira e a segunda são destinadas a sistemas operacionais Windows enquanto que a terceira tem como alvos o Solaris e o Linux.
Já ferramentas como a DNStool podem não ser tão simples e intuitivas de se
configurar e utilizar. Isso por que utilizam arquivos de configuração e descrição. Enquanto que as ferramentas citadas no parágrafo anterior apresentam uma interface gráfica simples e relativamente intuitiva. Por outro lado, o DNStool é um ambiente mais
completo e que possibilita, por exemplo, clonar domínios e facilmente configurar máquinas com múltiplos domínios.
Ainda existem também sitios e corporações especializadas em prestar serviços
DNS. A EasyDNS [easyDNS] e o Delta DNS [ALLDOMAINS] são duas prestadores de
serviços DNS que fornecem aos seus clientes segurança, eficiência e qualidade. Estas
utilizam ambientes e plataformas próprias para o fornecimento e manutenção on-line e
interativa de seus serviços.
Já ferramentas de gerenciamento e configuração de DHCP não são encontradas e
difundidas tanto quanto as de DNS. Um dos motivos é o fato da menor utilização de
serviços DHCP em relação ao DNS.
Normalmente, sistemas operacionais como o Solaris, da SUN, distribuições Linux como a SuSE e sistemas como o Mac OS X, da Apple, apresentam algum tipo de
ferramenta de gerenciamento de serviços DHCP. Existem também ferramentas como a
Console de Gerenciamento DHCP [DHCP Tools] que fornecem recursos e auxiliam a
tarefa de configuração e gerenciamento do serviço de DHCP.
Em um terceiro plano ficam os utilitários NFS, ou seja, ferramentas para gerenciamento e configuração de servidores NFS são menos comuns que aplicativos para o
gerenciamento do DNS e do DHCP. Em algumas distribuições de Linux, por exemplo,
há utilitários como o linuxconf que auxiliam a tarefa de configuração e exportação de
diretórios NFS. No entanto, utilitários desse gênero não apresentam muitos recursos e
ajuda ao usuário durante o processo de configuração.
Por fim, praticamente não existem sistemas ou ferramentas largamente utilizadas, portáveis e de fácil utilização para o gerenciamento integrados dos três serviços,
DNS, DHCP e NFS.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
4. O Sistema Implementado
A idéia central deste trabalho surgiu da necessidade de gerenciar serviços distintos como o DNS, o DHCP e o NFS, inclusive em máquinas distintas, da rede de computadores
do Curso de Ciência da Computação da UFSM. A alteração ou inclusão de um novo
nome nas tabelas do DNS implicava na possível inclusão ou alteração no DHCP e no
NFS. Quando estes três serviços se encontram em máquinas diferentes esta tarefa se
torna ainda mais custosa. Além disso, a simples alteração do DNS, ou do DHCP ou do
NFS era por si só uma tarefa pouco prática.
Devido a isso optou-se pelo desenvolvimento de um sistema que facilitasse e automatizasse a atualização de um, ou dos três serviços, não importando onde estivessem.
A figura 1 apresenta uma visão geral da arquitetura do sistema desenvolvido.
Nesta figura pode-se observar a existência de basicamente três níveis. Essa estrutura fornece ao sistema modularidade e escalabilidade. O sistema todo é baseado em
shell scripts. Como pode-se perceber, não é necessário nenhuma linguagem complexa
para desenvolver sistemas modulares, escaláveis, práticos e eficazes. Quesitos como
simplicidade, escalabilidade e facilidade de gerenciamento foram pontos centrais no
desenvolvimento deste trabalho.
Figura 1. Visão geral da arquitetura do sistema
Com este sistema de manutenção e gerenciamento de serviços como o DNS,
DHCP e NFS é simples, prática e eficiente a tarefa de atualização de nomes, inclusão de
máquinas, determinação do nível de segurança e confiabilidade de um máquina, ou um
conjunto de máquinas, inclusão de aliases, criação de novos grupos para o DHCP, entre
outras funcionalidades.
Tarefas como a atribuição de vários nomes a um mesmo endereço IP, por exemplo, também são facilmente realizáveis. Basta incluir uma nova linha no arquivo de entrada. A configuração e alteração das tabelas de DNS, do arquivo de configuração do
DHCP e NFS serão automaticamente realizadas pelo sistema.
Outros recursos como informações dos serviços prestados por uma máquina podem ser facilmente utilizados para geração automática de regras para o filtro de pacotes
da rede de forma a proteger ao máximo as máquinas servidoras. Isso pode ser realizado
pela simples inclusão de mais um módulo de serviço no sistema. Neste caso, tem-se um
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
serviço a mais automaticamente configurado e atualizado, a tabela de regras do filtro de
pacotes.
Devido essa estrutura e modularidade são facilmente acopláveis módulos auxiliares que gerenciam configurações dos mais diversos serviços que dependam ou necessitem das informações contidas no arquivo de entrada desse sistema. Todas essas características e funcionalidades permitem o gerenciamento integrado e centralizado de diferentes serviços da rede. Tornando a vida dos administradores mais fácil, simples e prática.
As próximas seções descrevem um pouco melhor as três camadas básicas do sistema. Iniciando pelo arquivo de entrada, seguindo com a camada responsável pela geração dos arquivos de configuração e finalizando com a camada de atualização de serviços.
4.1. Arquivo de entrada
Em um primeiro nível são encontrados os dados de entrada. No caso do sistema desenvolvido esta entrada consiste em um único arquivo de texto. Este arquivo contém a descrição de cada máquina da rede. A tabela 1 apresenta os campos de cada registro do
arquivo. Cada máquina pertence a um grupo. Este grupo define prioridades e características que serão utilizadas para a geração dos arquivos de configuração do DHCP e do
NFS. Um nome, um endereço IP e um endereço de MAC também devem ser atribuídos
a cada máquina. Endereços canônicos, serviços, localização e uma descrição são opcionais.
Table 1. Campos de cada registro do arquivo de entrada
Campo
GRUPO
Nome
IP
MAC
SOs
Serviços
Aliases
Descrição
Descrição
Identificação do grupo ao qual a máquina pertence
Nome do máquina
Endereço IP da máquina. Exemplo: 192.168.100.10
Endereço de hardware da placa de rede
Sistemas operacionais que executam na máquina
Serviços que a máquina disponibiliza
Nomes canônicos ao qual a máquina responde
Descrição e informação extra
O campo grupo identifica as permissões da máquina. No caso de ser uma máquina servidora, por exemplo, o sistema gerará entradas para configurar o servidor NFS
liberando acesso a determinados níveis de diretórios, por exemplo. Além disso, uma
máquina do grupo servidores poderá ter acesso a escrita em diretórios NFS que as demais máquinas integrantes dos demais grupos terão apenas acesso a leitura. O grupo
também serve para identificar quais grupos de máquinas serão criados no DHCP e quais
as máquinas que estarão em cada grupo. Isso é utilizado para gerar automaticamente a
configuração do DHCP para o sistema de boot remoto [Kreutz 2003, Kreutz 2001]. Onde cada conjunto de máquinas pode carregar um arquivo de configuração e opções de
boot diferente.
Campos como Nome, IP e Aliases, servem para identificar a máquina na rede. Já
o MAC é utilizado para a escolha e definição de nomes e IPs, no servidor DHCP, para
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
cada computador do domínio que faz uso de configuração dinâmica. O servidor DHCP
permite a definição de um nome e um endereço IP a um endereço de hardware (MAC)
de placa de rede.
Sistemas operacionais e a descrição são apenas dados extras referentes a máquina. Os serviços também são. No entanto, sabendo-se os serviços, as regras e políticas do
filtro de pacotes da rede podem ser geradas e atualizadas automaticamente. Não havendo mais a necessidade de o administrador se preocupar em alterar as regras do filtro de
pacotes quando uma máquina troca de nome ou quando um serviço é portado para uma
outra máquina. Este processo pode ser potencialmente totalmente automatizado.
4.2. Geração dos arquivos de configuração
O segundo nível do sistema contém os sub-sistemas que gerarão os arquivos de configuração para cada serviço. Como pode ser observado na figura 1, cada serviço possuí ser
próprio componente de geração. Isso modulariza e torna o sistema facilmente escalável.
Cada módulo pode ter seu próprio diretório de configurações padrão. Esta opção
serve para arquivos que contenham alguma configuração que dificilmente será modificada no decorrer do tempo. Como exemplo, o cabeçalho do arquivo de configuração do
DHCP e do DNS.
Esta camada é responsável, entre outras coisas, pela geração automática dos números de série do DNS e pela correta geração dos arquivos de configuração. Caso algum dos serviços seja atualizado para uma nova versão e esta venha com um novo formato de configuração e descrição é facilmente adaptável o módulo responsável pela
geração dos arquivos de configuração do respectivo serviço.
4.3 Atualização
Por fim, em um terceiro nível fica o sistema de atualização dos serviços. Após o sistema
ter gerado os arquivos de configuração dos respectivos serviços é necessário uma cópia
local ou remota de forma a atualizar os arquivos que são utilizados pelos demônios dos
serviços. Existe também ainda a necessidade de re-inicialização de cada serviço que
teve suas configurações atualizadas.
O processo de cópia local é simples e direto. Já a tarefa de cópia remota pode
necessitar de recursos como autenticação SSH por chave pública ou a entrada de uma
senha de acesso para a efetivação da atualização e re-inicialização de serviços.
Após efetuas as cópias e re-inicializados os serviços, o sistema da rede como um
todo estará atualizado.
5. Conclusão
Serviços como o DNS, DHCP e NFS são alguns dos serviços essenciais em uma rede de
computadores acadêmica, corporativa ou mesmo numa rede privada qualquer. A manutenção, atualização destes serviços é uma tarefa muitas vezes não prática, simples, eficaz e integrada. Existem várias ferramentas que auxiliam o gerenciamento de serviços
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
desse gênero. Porém, existe uma carência no que diz respeito a sistemas que possibilitem um gerenciamento integrado, fácil e automatizado.
O sistema desenvolvido fornece um meio de amenizar esta carência. A idéia é
simples. Contudo, garante um gerenciamento centralizado e prático de conjuntos de
serviços. Além disso, a modularização e organização do sistema permite facilmente o
acoplamento de novos módulos para os mais diversos tipos de serviços.
A exemplo, atualmente esse sistema está sendo utilizado para a manutenção e
gerenciamento dos serviços de DNS, DHCP e NFS da rede do Curso de Ciência da
Computação da UFSM. Através da simples alteração do arquivo de entrada, incluindo
ou modificando as propriedades ou funções de uma máquina, é possível atualizar automaticamente esses três serviços, mesmo encontrando-se em servidores distintos. Logo,
esse sistema facilita, simplifica, agiliza e centraliza a administração de diferentes serviços.
Trabalhos futuros. Entre os trabalhos futuros estão o desenvolvimento de uma
interface Web para o sistema de gerenciamento e manutenção apresentado e a inclusão
de um módulo para a geração e atualização automática da tabela de regras do filtro de
pacotes do firewall.
References
ALLDOMAINS. “DELTA DNS”. http://www.alldomains.com/corp/dns.html.
Computerized Horizons. (2002) “www.DNSstuff.com”. http://www.dnsstuff.com/.
DHCP Tools. “DHCP management console”.
http://www.ohelp.com/samples/dhcp/dhcp_main_ref.html.
Dockter, M. A. (2001) “DNS2Go: A Feature-Rich DNS Management Tool”. Oneline
Server Watch.
Droms, R. (2002) “Resources for DHCP. http://www.dhcp.org/.
easyDNS. ”Easy-to-use Domain Management Tools”. http://www.easydns.com/.
Kreutz, D. L. (2003) “Sistema de Boot Remoto: Instalação, Configuração e Geração de
Imagens de Sistemas Operacionais”. Relatório Técnico, Núcleo de Ciênica da Computação, Universidade Federal de Santa Maria, Centro de Tecnologia, Campus Universitário. http://www.inf.ufsm.br/~kreutz/reports/geracaoDeImagens.pdf.
Kreutz, D. L, Kolling, M. C. e Stein, B. (2001) “Implementação de um sistema de boot
remoto em uma rede acadêmica”. In XVI Congresso Regional de Iniciação Científica e Tecnologia em Engenharia, Unijuí, Ijuí.
Men&Mice. “QuickDNS: Enterprise DNS Management System for BIND and Windows
2000 DNS Environments”. http://www.menandmice.com/2000/2200_quick_dns.html.
Mohr, J. (2000) “How to make Network Configuration as easy as DHCP”. Linux
Magazine.
Network Working Group (1989). “NFS: Network File System Protocol Specification”.
http://www.faqs.org/rfcs/rfc1094.html.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
Rowel, G. “Dnstool 2.2 administration guide”.
http://www.gormand.com.au/tools/dnstool/guide.html.
Salamon, A. (2000)“DNS Resources Directory”. http://www.dns.net/dnsrd/.
Salamon, A. (2001) “Tools to manage DNS”. http://www.dns.net/dnsrd/tools.html.
Stern, H. (1991) “Managing NFS and NIS”. O’Reilly, 1 edition.
Sun Microsystems Solution Provider. DNS Boss. http://www.dnsboss.com/.

Documentos relacionados