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/.