Guia de configuração de um servidor linux para utilização em uma pequena empresa
1. Guia de Configuração de um Servidor Linux para Utilização em uma Pequena
Empresa.
Marco Antonio Fonseca da Silva1
, Eduardo M. Monks1
1
Curso Superior de Tecnologia em Redes de Computadores – Faculdade de Tecnologia
SENAC (FATEC/SENAC)
Rua Gonçalves Chaves, 602. Caixa Postal 96.015-000 – Pelotas – RS – Brazil
mafs1987@hotmail.com, emmonks@gmail.com
Abstract. This article aims to generate a documentation about setting
up a Linux server, through the deployment of it in a real environment to
help beginners Administrators in the installation and configuration
services.
Resumo. Este artigo tem como objetivo gerar uma documentação
sobre a configuração de um servidor Linux, atraves da implantação do
mesmo em um ambiente real, para o auxilio de Administradores
iniciantes na instalação e configuração dos serviços.
1.Introdução
Como configurar um servidor? Como resolver este problema? Estas são dúvidas frequentes de
pessoas que necessitam instalar um servidor e não possuem embasamento para isto. Este projeto
tem o intuito de ajudar administradores iniciantes na configuração de servidores Linux aonde será
criada uma documentação de instalação, desde a instalação do Sistema Operacional (S.O) até a
configuração de serviços mais comuns utilizados em um ambiente real.
2.Descrição do Contexto
Neste tópico será descrito os objetivos gerais e específicos do artigo.
2.1.Motivação
Pequenas empresas geralmente não possuem uma estrutura de rede favorável ao melhor
desempenho de seus serviços, na maioria das vezes, pela dificuldade de implementação de um
servidor ou pela dificuldade de configuração do mesmo. A motivação é facilitar a configuração do
servidor e mostrar que a implementação não é difícil.
2.2.Objetivos
Objetivo Geral: Gerar uma documentação que facilite a configuração de um servidor Linux com
serviços básicos instalados para uso em pequenas empresas.
Objetivos Específicos: Os objetivos do artigo são:
Avaliar Distribuições Linux para pequenas empresas.
Instalara e Configurar o S.O.
Identificar serviços de rede mais utilizados em pequenas empresas.
2. Instalar Aplicativos e Serviços no Servidor.
Configurar Aplicativos e Serviços no Servidor.
Implantar os serviços no ambiente real.
3.Conceitos
Neste tópico serão abordados os conceitos que serão abordados no artigo.
3.1.Servidores
Servidor é uma máquina que oferece recursos para a rede, ou um computador compartilhado por
múltiplos usuários. Pode ser tanto via hardware quanto via software. Por exemplo, um "Servidor
Web" pode ser o software servidor em um computador que também execute outras aplicações, ou
pode se referir a um computador dedicado apenas a executar uma aplicação servidora de Web. Ou
um Storage Server, que é um equipamento especifico para a realização de backup de arquivos.
3.2 Linux
Linux[1] é um termo usado para qualquer sistema operacional que utilize o Kernel Linux. Foi
desenvolvido por Linus Torvalds e foi inspirado no sistema Minix. É um sistema que adota o código
fonte aberto sob licença GPL.
3.3 Compartilhamento de Conexão
Nada mais é do que um serviço configurado em um Servidor ou equipamento para dividir a
conexão com os host da rede e para dar acesso a serviços instalados no mesmo e também a
internet.
3.4 DHCP
O DHCP ("Dynamic Host Configuration Protocol" ou "protocolo de configuração dinâmica de
endereços de rede") é um protocolo que permite a todos os hosts da rede, receber suas
configurações de rede automaticamente a partir de um servidor central, sem que o administrador
precise configurar os endereços manualmente em cada um dos hosts.
3.5 Proxy
Proxy é um servidor que atende a requisições dos hosts, filtra o conteúdo, conforme regras pré
estabelecidas pelo administrador, e o repassa para o destino.
3.6 Squid
O Squid[2] é um software especializado em fazer a operação de proxy de Web e Ftp. Possuí
também a opção de cache, que consiste na criação de um espaço físico destinado ao armazenamento
de dados. Portanto se o host requer algum serviço, arquivo ou conexão que o Proxy tenha
armazenado em seu cache, ao invés de sair da rede local, que geralmente possuí uma velocidade de
conexão bem inferior ao link cliente-servidor, ele verifica primeiro em seu cache e se constar,
repassa para o host de uma maneira mais rápida e eficaz.
3.7 Samba
O Samba[3] é um "software servidor" para Linux (e outros sistemas baseados em Unix) que permite
3. o gerenciamento e compartilhamento de recursos em redes formadas por computadores com o
Windows. Assim, é possível usar o Linux como servidor de arquivos, servidor de impressão, entre
outros, como se a rede utilizasse servidores Windows (NT, 2000, XP, Server 2003).
3.8 Cacti
Cacti[4] é uma ferramenta que recolhe e exibe informações sobre o estado de hosts, servidores ou
equipamentos de uma rede através de gráficos. Foi desenvolvido de maneira robusta porém de fácil
utilização. Monitora desde elementos da rede, como largura de banda, até mesmo o uso da CPU de
um host.
4.Documentação
Neste tópico serão expostas configurações para a ativação do serviço.
4.1 Avaliando distribuições Linux
É de conhecimento geral que existem inúmeras distribuições Linux disponíveis, criando uma certa
dúvida no Administrador. Qual distribuição usar? A analise a seguir analisa algumas distribuições
para facilitar a escolha da distribuição. Vamos analisar a seguir 3 distribuições Linux: CentOS[5],
Debian[6] e Fedora[7].
Desenvolvido a partir dos códigos-fonte do sistema operacional Red Hat Enterprise Linux[8]
(RHEL), o CentOS, acrônimo para Community ENTerprise Operating System, é uma distribuição
Linux gratuita, voltada ao ambiente corporativo, e que agrega as vantagens técnicas da distribuição
na qual se baseia: segurança, estabilidade e compatibilidade com diversos hardwares e pacotes
criados especificamente para o RHEL.
Analisando a distribuição Debian, nota-se que ele é especialmente conhecido pelo seu
sistema de gestão de pacotes, chamado APT, que permite atualizações relativamente fáceis a partir
de versões realmente antigas. Possui driver para a maioria dos Hardwares, que são escritos pelos
usuários de GNU/Linux, não pelos fabricantes, um suporte não-paralelo, um bom nível de
segurança e também é muito estável.
O Fedora é uma distribuição Linux baseada em pacotes RPM, criada pela Red Hat.
Atualmente mantida pelo Projeto Fedora (Fedora Project) É um sistema operacional rápido, estável
e potente para uso diário. Os desenvolvedores do Fedora criaram o sistema para que fosse um
sistema com tecnologia de ponta, porém o ciclo de vida do Fedora é relativamente curto, com seis
meses entre os lançamentos, o período de manutenção é muito curto, 13 meses para cada versão.
Isso pode levar a problemas, quando se pretende usar uma versão específica do Fedora para o
desenvolvimento de sistemas, onde o apoio a longo prazo é mais importante do que manter as
revisões de ponta de software.
Devido a uma preferência pessoal o sistema que será estudado será o CentOS.
4.2 Identificar Serviços de Rede mais utilizados em uma Pequena Empresa
Existem várias necessidades em uma empresa. Com embasamento em uma empresa com cerca de
10 hosts vamos tratar dos seguintes Serviços.
- Compartilhamento de conexão e DHCP: Para compartilhar a conexão a internet.
- Proxy/Squid: Para Filtragem de conteúdo desta conexão.
4. - Samba: Para compartilhar arquivos e impressoras com hosts Windows.
- Cacti: Para monitoramento de equipamentos e Hosts.
4.3 Instalando e Configurando o S.O.
Para instalar o CentOS, deve-se primeiro baixar a imagem do sistema em: http://www.centos.org/
11/2010. CentOS pode ser instalado em modo gráfico, que necessita 512mb de memória RAM para
sua execução ou ser instalado em modo Texto, acessando no console de instalação a opção “linux
text”. Também serão escolhidas logo a seguir as opções de particionamento do HD e a de
gerenciamento de boot, que devem ser configuradas conforme a necessidade do Administrador.
Na próxima etapa poderão ser instalados pacotes de instalação de serviços. Para fins de
conhecimento, é recomendado que se desmarque todas as opções na aba servidores e que se instale
manualmente conforme será exposto no artigo.
Pode-se adicionar na próxima etapa configurações de firewall para que se selecione as portas
referentes aos serviços que ficarão ativos no servidor. Continuando a instalação teremos o
SELinux, que é um sistema que visa reforçar o sistema de segurança do Linux. O maior empecilho
da utilização do SELinux é que ele interfere diretamente no funcionamento de inúmeros serviços,
pois possui um conjunto de diretivas de segurança muito rígidas. Deixe o SELinux desativado para
que não exista problemas maiores referente a posterior configuração de algum serviço. Após estes
passos o sistema está pronto para ser utilizado.
4.4 Instalar Aplicativos e Serviços no Servidor
Neste tópico abordaremos a instalação de aplicativos e serviços do servidor.
4.4.1 Compartilhamento de Conexão e DHCP
Para a configuração da rede é usado um arquivo de configuração independente para cada interface.
O modem deve ser configurado em modo Bridge, e o Servidor possuir duas placas de rede. Uma
com saída para o modem e outra para a rede local. Este arquivo fica salvo na pasta:
Figura1. Local aonde é salvo o arquivo de configuração
De forma que a configuração da rede ficaria:
Figura2. Para 1 do arquivo de configuração do DHCP
5. Figura3. Parte 2 da configuração do DHCP
Para ativar o compartilhamento basta configurar o Iptables, o Firewall integrado do Linux. Para
ativar o compartilhamento é necessário uma série simples de comandos que ativa o NAT, o segundo
ativa o modulo de encaminhamento de pacotes e o terceiro cria uma regra simples de roteamento: Estes
comandos são:
Figura4. Ativando o compartilhamento de conexão
4.4.2 Proxy
A instalação do Squid é muito simples, composta apenas de um único pacote.
Figura5. Comando para instalação do Squid
Após isso começamos renomeando o arquivo padrão de configuração do squid, para que possa
consultá-lo em caso de dúvida.
Figura6. Comando para renomear o arquivo.
Em seguida crie um arquivo squid.conf em/etc/squid/squid.conf que contenha estas 4 linhas:
Figura7. Arquivo de configuração squid.conf
6. Essa série de linhas significa que o squid vai ficar disponível na porta 3128, o nome visível
para os hosts do servidor e as duas linhas seguintes permitem que qualquer usuário utilize o Proxy.
Para que o squid possa receber conexões abra a porta 3128 no firewall.
Figura8. Comando para abrir a porta no firewall
4.4.3 Samba
A instalação do samba é dividida em duas partes, o servidor e o cliente. As duas instalações
são independentes. Para instalar o samba é necessário o seguinte comando:
Figura9. Comando para instalar o Samba e seus servirços
4.4.4 Cacti
Para a instalação do cacti é necessária a instalação de uma série de pacotes, para isso use o
seguinte comando.
Figura10. Comando para a instalação do cacti e seus serviços.
O cacti necessita da versão 5 do PHP para funcionar. Para que seja feita a atualização deve
ser ativado o repositório CentOS Plus modificando o valor enable=0 para enable=1 no arquivo:
Figura11. Caminho para a ativação do repositório.
Após essa mudança deve se atualizar o php:
Figura12. Comando para atualização do Php
4.5 Configurar Aplicativos e Serviços no Servidor
Nesta sessão serão criadas configurações mais elaboradas dos serviços instalados no
servidor, para que o funcionamento das mesmas fique correto.
4.5.1 Compartilhamento de Conexão e DHCP
Com o DHCP ativo, basta criarmos um arquivo de configuração aonde sejam expostas as regras e
também os ranges de enderaçamento, broadcast, sub-máscara e os tempos de empréstimo dos Ip´s
da rede. O arquivo deve ser configurado no caminho /etc/dhcpd.conf.
7. Figura13. Arquivo de configuração do DHCP
4.5.2 Proxy
Aqui vamos permitir acesso ao proxy de apenas hosts locais da rede e criar uma configuração com
mais recursos, o arquivo de configuração do squid tem o caminho /etc/squid/squid.conf .
Figura14. Parte 1 do arquivo de configuração do Squid
8. Figura15. Parte 2 da configuração do Squid
Com este arquivo estará configurado o Squid, com suas Access list (ACL) e seu cache.
4.5.3 Samba
Após a instalação dos pacotes é necessário o cadastro de logins e senhas dos usuários que terão
acesso ao servidor. Uma peculiaridade do Samba é que ele roda como um programa sobre o sistema
e está subordinado às permissões de acesso dele. Por isso, ele só pode dar acesso para os usuários
que além de estarem cadastrados no Samba, também estão cadastrados no sistema. Para adicionar
um usuário use o comando:
Figura16. Comando para adicionar usuário.
Depois de criar os usuários no sistema deve ser cadastrado também no samba:
Figura17. Comando para cadastro do do usuário no samba.
9. Se for mantido sincronizados os logins e as senhas usadas pelos usuários nos clientes
Windows, o acesso dos compartilhamentos é automático. Caso não esteja sincronizados, será
necessário realizar o login.
Após criar os logins de acesso, é necessário configurar o Samba para integrar-se à rede e
compartilhar as pastas desejadas. Existem duas maneiras de configurar o compartilhamento. Uma
seria manualmente pelo arquivo de configuração do Samba:
Figura18. Arquivo de configuração do Samba.
A segunda opção é configurar pelo SWAT, o que facilita muito o serviço. Neste artigo
veremos a configuração via Swat. A inicialização do sérvio é feita de forma automática utilizando o
chkconfig. Para ativá-lo, use os comandos:
Figura19. Comandos para ativação do Swat
Caso aconteça algum problema, abra o arquivo:
Figura20. Arquivo do erro do Swat.
E modifique a linha "disable = yes" por "disable = no" e reinicie novamente o serviço
xinetd.
Para acessar o Swat use o Browser e acesse o endereço http://localhost:901. E no prompt de
login fornça o login e senha do root de seu sistema para acessar. Com o Swat ativo e acessível ao
administrador via Browser.a configuração de compartilhamentos e administração do sistema torna-
se extremamente simples, pois p ambiente gráfico é bastante intuitivo.
4.5.4 Cacti
Para a configuração do cacti é necessário criar uma base de dados da seguinte forma:
Figura21. Comandos para criar a Base de dados MySQL
Feito isso, temos que importar a estrutura da base de dados do cacti:
Figura22. Comando para importar a base de dados.
10. E também adicionar a seguinte linha na cron do sistema:
Figura23. Comando para adicionar linha do cacti na cron.
Para que o cacti rode perfeitamente o arquivo: /var/www/cacti/include/config.php deve ser
verificado se possui as informações corretas de acesso ao banco de dados. Também deve ser
modificado o arquivo : /etc/httpd/conf.d/cacti.conf para que seja adicionado o IP do seu Server.
4.6 Implantar os Serviços em um Ambiente Real
Realizadas todas as configurações do servidor foi colocado em teste o mesmo para que seja testado
todos os serviços que foram instalados.
Tendo em vista as configurações realizadas, a área de compartilhamento de conexão e
DHCP funcionaram perfeitamente. Logo Após configurar o modem e ligar os hosts ao switch que
estava ligado ao Servidor os hosts da rede, por Dhcp, pegaram os IP´s automaticamente.
Figura24. Host com o Ip do DHCP
O Proxy teve sua funcionalidade também testada, e após testar suas regras e o cache
configurado no servidor, nota-se um melhor uso da rede e uma diminuição drástica no consumo de
banda.
Figura25. Imagem do Proxy em ação.
11. Os testes realizados no Samba não obtiveram sucesso, devido a uma falha de configuração
os hosts não conseguiram acesso aos compartilhamentos.
Figura26. Imagem da configuração do Samba pelo Swat
No Cacti foram adicionados os hosts da rede e monitorados perfeitamente. Sua
funcionalidade é excelente e os gráficos gerados de muita utilidade para o administrador.
Figura27. Imagem do site do Cacti de gráficos gerados.
12. 5. Conclusão
Levando em consideração os testes realizados e os resultados obtidos, ficam claras as vantagens de
ter em sua empresa um servidor dedicado a organização de sua rede. Tanto para segurança, quanto
para o melhor desempenho. E com os conceitos expostos e as dicas pra configuração do mesmo, o
serviço do administrador fica muito facilitado, pois são sanadas dúvidas de conceitos e também de
configuração de serviços.
6. Referências
[1] <Linux.com – The source Linux Information> Disponivel em: http://www.linux.com/ Acesso
em: 11/2010
[2] < Squid – Optimizing Web Delivery > Disponível em: http://www.squid-cache.org/ Acesso em:
11/2010
[3] < Samba- Opening System to a wider World > Disponível em: http://www.samba.org/ Acesso
em: 11/2010
[4] < Cacti – The Complete RRDTool-Based Graphic Solution > Disponível em:
http://www.cacti.net/ Acesso em: 11/2010
[5] <CetOS – The Community ENTerprise Operating System > Disponivel em: http://centosbr.org/
Acesso em: 11/2010
[6] <Debian – The Universal Operating System > Disponivel em: http://www.debian.org/ Acesso
em: 11/2010
[7] <Fedora Project> Disponivel em: http://fedoraproject.org/ Acesso em: 11/2010
[8] <Red Hat – The World´s open source leader> Disponivel em: http://redhat.com/ Acesso em:
11/2010
7. Referências Bibliográficas
<Guia Foca Linux> Disponível em: http://www.guiafoca.org/ Acesso em: 11/2010
<Proxy Furg> Disponível em: http://proxy.furg.br/proxy/ Acesso em: 11/2010
<Linux – The Linux home pege Linux on line>Disponivel em: http://linux.org/ Acesso em: 11/2010
MARIMOTO, Carlos Eduardo – Servidores Linux, guia prático. Porto Alegre: 2009. 738 p
SHRODER, Carla - Redes Linux: Livro de Receitas Editora: Alta Books 569 p
< Squid – Optimizing Web Delivery > Disponível em: http://www.squid-cache.org/ Acesso em:
11/2010
< Samba- Opening System to a wider World > Disponível em: http://www.samba.org/ Acesso em:
11/2010
< Cacti – The Complete RRDTool-Based Graphic Solution > Disponível em: http://www.cacti.net/
Acesso em: 11/2010