MANUTENÇÃO - CONSULTORIA - APLICAÇÃO WEB Linux e Microsolft - INTERNET - SEGURANÇA





quarta-feira, 10 de agosto de 2011

Configurando um servidor de rede local com o Ubuntu, fácil

Introdução:

Hoje em dia, quase todo mundo que tem acessa via banda larga e tem mais do que um PC em casa, acaba de uma forma ou de outra configurando um deles para compartilhar recursos na rede, ou compartilhar a conexão. Conforme os upgrades e trocas acontecem, mais cedo ou mais tarde você acaba ficando com um micro disponível e acaba usando-o para configurar um servidor de arquivos, ou outro tipo de servidor dedicado para a rede, sem falar no casos em que você monta uma máquina especialmente para a tarefa.
Neste tutorial, aprenderemos como personalizar uma instalação padrão do Ubuntu 8.04, transformando-o em um servidor de rede local, com as seguintes funções:
  • Compartilhar arquivos e impressoras através do Samba, servindo como um servidor de arquivos para a rede local.
  • Rodar máquinas virtuais através do VMware Server, que ficarão acessíveis para toda a rede (você pode manter uma VM com o Windows caso precise rodar aplicativos para a plataforma, por exemplo e acessá-la de qualquer um dos micros da rede).
  • Servidor DHCP.
  • Compartilhamento da conexão e proxy transparente com o Squid.
  • Servidor SSH e NX Server, para que você possa acessar o servidor remotamente.
  • Domínio virtual no No-IP, para que o servidor tenha um endereço fixo, para acesso remoto.
O tutorial é destinado a configurar o servidor de uma forma simples, de forma que você possa colocá-lo no ar em poucos minutos, sem precisar de muito conhecimento técnico e sem complicações. A idéia é que o servidor fique aberto para a rede local, aceitando conexões dos outros micros sem frescuras, mas que ao mesmo tempo seja bem seguro contra conexões provenientes da Internet.
No tutorial, utilizarei a versão desktop do Ubuntu, o que permite que você também utilize o servidor localmente, como se fosse mais um PC da rede. Se você preferir montar um servidor dedicado, pode executar os mesmos passos utilizando a versão Server do Ubuntu, que é otimizada para uso em servidores sem interface gráfica.
Se você ainda não tem o CD, pode baixá-lo no mirror da UFPR, que é normalmente o com acesso mais rápido dentro do Brasil:
Para a maioria dos casos, a versão de 32 bits (i386) é a recomendada, pois as versões de 64 bits ainda são menos usadas e por isso possuem mais problemas no geral, além de serem incompatíveis com muitos softwares de código fechado disponibilizados apenas em versão de 32 bits. Você só tem uma real necessidade de usar um sistema operacional de 64 bits se pretender utilizar mais do que 3 GB de memória RAM. Para mais detalhes, veja o meu artigo anterior sobre o tema: http://www.hardware.com.br/artigos/barreira-dos-gb/.
Caso esteja curioso, o servidor que montei para este tutorial é baseado em um Pentium E2180 (2.0 GHz), com 2 GB de RAM. Ou seja, é uma máquina relativamente modesta para os padrões atuais, mas que ao mesmo tempo possui um bom poder de processamento, que vou usar para disponibilizar máquinas virtuais para a rede com o VMware Server. Os três HDs são para aumentar o espaço de armazenamento, já que esta será a principal função do servidor:.
m137bae6a
Com o sistema instalado, o primeiro passo é ajustar a configuração de rede, de forma que o servidor passe a utilizar um endereço IP fixo. Para isso, clique sobre o ícone do Network Manager ao lado do relógio, acesse as propriedades da conexão e desmarque a opção "Modo Roaming", para ter acesso à configuração dos endereços:
m7b77ea08
Caso seu servidor tenha duas placas de rede, uma para a rede local e outra para a Internet, configure primeiro a interface de rede local, deixando para configurar a interface da Internet depois. Não se esqueça de verificar a configuração dos servidores DNS na aba "DNS", pois sem eles você não navega :)
No Ubuntu 8.04 existe um bug que faz com que as alterações não sejam aplicadas depois de salvas. Você pode contornar isso forçando uma atualização manual, reiniciando o serviço responsável pela configuração da rede:
$ sudo /etc/init.d/networking restart
Com a rede configurada, vamos à configuração dos serviços.
O primeiro passo é atualizar a lista de pacotes do apt-get, para ter certeza de que utilizaremos as versões mais atuais dos pacotes. Em versões anteriores do Ubuntu era necessário editar o arquivo "/etc/apt/sources.list", descomentando as linhas referentes aos repositórios universe e multiverse, mas nas versões atuais, incluindo o 8.04, os repositórios já vem ativados por padrão.
$ sudo apt-get update
Verifique em seguida se as partições que você deseja utilizar nos compartilhamentos de arquivos estão ativadas no arquivo "/etc/fstab" e configuradas para serem montadas automaticamente durante o boot. Se você configurou os pontos de montagem das partições durante a instalação, elas já estarão configuradas corretamente, caso contrário, você pode fazer com que o sistema passe a usá-las inserindo as linhas apropriadas no arquivo "/etc/fstab".
Se você acabou de particionar um novo HD em EXT3 e deseja que a partição "/dev/sdc1" criada seja montada na pasta "/mnt/sdc1", por exemplo, os passos seriam:
Criar a pasta onde a partição será montada:
$ sudo mkdir /mnt/sdc1
Testar a montagem da partição:
$ sudo mount /dev/sdc1 /mnt/sdc1
Adicionar a linha abaixo no final do arquivo "/etc/fstab", orientando o sistema a montá-la automaticamente durante o boot. Você pode abrir o arquivo no gedit, usando o comando "sudo gedit /etc/fstab":
/dev/sdc1 /mnt/sdc1 ext3 defaults 0 0
Examinando o arquivo /etc/fstab, você percebe que o Ubuntu não faz referência às partições dentro do fstab pelo dispositivo, mas sim pelo UUID, que é um identificador único. O uso dos UUIDs é um "xuncho" para solucionar o problema dos devices dos HDs mudarem a cada boot, fazendo com que as partições deixem de ser montadas.
Para seguir o padrão do sistema, identificando a partição através do UUID, você pode verificar qual é o UUID referente à sua partição usando o comando "blkid", como em:
# blkid /dev/sdc1
/dev/sdc1: UUID="5c5a3aff-d8a3-479e-9e54-c4956bd2b8fd" SEC_TYPE="ext2" TYPE="ext3"
Você pode então especificar o UUID na linha do fstab no lugar do device, como em:
UUID=5c5a3aff-d8a3-479e-9e54-c4956bd2b8fd /mnt/sdc1 ext3 defaults 0 0
Veja um exemplo:
21dc54fb


Hoje em dia, quase todo mundo que tem acessa via banda larga e tem mais do que um PC em casa, acaba de uma forma ou de outra configurando um deles para compartilhar recursos na rede, ou compartilhar a conexão. Conforme os upgrades e trocas acontecem, mais cedo ou mais tarde você acaba ficando com um micro disponível e acaba usando-o para configurar um servidor de arquivos, ou outro tipo de servidor dedicado para a rede, sem falar no casos em que você monta uma máquina especialmente para a tarefa.


Com as partições montadas, podemos passar para a etapa seguinte, que é instalar o Samba e criar os compartilhamentos desejados.Neste tutorial, aprenderemos como personalizar uma instalação padrão do Ubuntu 8.04, transformando-o em um servidor de rede local, com as seguintes funções:
  • Compartilhar arquivos e impressoras através do Samba, servindo como um servidor de arquivos para a rede local. 
  • Rodar máquinas virtuais através do VMware Server, que ficarão acessíveis para toda a rede (você pode manter uma VM com o Windows caso precise rodar aplicativos para a plataforma, por exemplo e acessá-la de qualquer um dos micros da rede). 
  • Servidor DHCP. 
  • Compartilhamento da conexão e proxy transparente com o Squid. 
  • Servidor SSH e NX Server, para que você possa acessar o servidor remotamente. 
  • Domínio virtual no No-IP, para que o servidor tenha um endereço fixo, para acesso remoto.
O tutorial é destinado a configurar o servidor de uma forma simples, de forma que você possa colocá-lo no ar em poucos minutos, sem precisar de muito conhecimento técnico e sem complicações. A idéia é que o servidor fique aberto para a rede local, aceitando conexões dos outros micros sem frescuras, mas que ao mesmo tempo seja bem seguro contra conexões provenientes da Internet.
No tutorial, utilizarei a versão desktop do Ubuntu, o que permite que você também utilize o servidor localmente, como se fosse mais um PC da rede. Se você preferir montar um servidor dedicado, pode executar os mesmos passos utilizando a versão Server do Ubuntu, que é otimizada para uso em servidores sem interface gráfica.
Se você ainda não tem o CD, pode baixá-lo no mirror da UFPR, que é normalmente o com acesso mais rápido dentro do Brasil:
Para a maioria dos casos, a versão de 32 bits (i386) é a recomendada, pois as versões de 64 bits ainda são menos usadas e por isso possuem mais problemas no geral, além de serem incompatíveis com muitos softwares de código fechado disponibilizados apenas em versão de 32 bits. Você só tem uma real necessidade de usar um sistema operacional de 64 bits se pretender utilizar mais do que 3 GB de memória RAM. Para mais detalhes, veja o meu artigo anterior sobre o tema:
http://www.hardware.com.br/artigos/barreira-dos-gb/.

Caso esteja curioso, o servidor que montei para este tutorial é baseado em um Pentium E2180 (2.0 GHz), com 2 GB de RAM. Ou seja, é uma máquina relativamente modesta para os padrões atuais, mas que ao mesmo tempo possui um bom poder de processamento, que vou usar para disponibilizar máquinas virtuais para a rede com o VMware Server. Os três HDs são para aumentar o espaço de armazenamento, já que esta será a principal função do servidor:.
m137bae6a
Com o sistema instalado, o primeiro passo é ajustar a configuração de rede, de forma que o servidor passe a utilizar um endereço IP fixo. Para isso, clique sobre o ícone do Network Manager ao lado do relógio, acesse as propriedades da conexão e desmarque a opção "Modo Roaming", para ter acesso à configuração dos endereços:
m7b77ea08
Caso seu servidor tenha duas placas de rede, uma para a rede local e outra para a Internet, configure primeiro a interface de rede local, deixando para configurar a interface da Internet depois. Não se esqueça de verificar a configuração dos servidores DNS na aba "DNS", pois sem eles você não navega :)
No Ubuntu 8.04 existe um bug que faz com que as alterações não sejam aplicadas depois de salvas. Você pode contornar isso forçando uma atualização manual, reiniciando o serviço responsável pela configuração da rede:

$ sudo /etc/init.d/networking restart

Com a rede configurada, vamos à configuração dos serviços.

O primeiro passo é atualizar a lista de pacotes do apt-get, para ter certeza de que utilizaremos as versões mais atuais dos pacotes. Em versões anteriores do Ubuntu era necessário editar o arquivo "/etc/apt/sources.list", descomentando as linhas referentes aos repositórios universe e multiverse, mas nas versões atuais, incluindo o 8.04, os repositórios já vem ativados por padrão.

$ sudo apt-get update

Verifique em seguida se as partições que você deseja utilizar nos compartilhamentos de arquivos estão ativadas no arquivo "/etc/fstab" e configuradas para serem montadas automaticamente durante o boot. Se você configurou os pontos de montagem das partições durante a instalação, elas já estarão configuradas corretamente, caso contrário, você pode fazer com que o sistema passe a usá-las inserindo as linhas apropriadas no arquivo "/etc/fstab".
Se você acabou de particionar um novo HD em EXT3 e deseja que a partição "/dev/sdc1" criada seja montada na pasta "/mnt/sdc1", por exemplo, os passos seriam:

Criar a pasta onde a partição será montada:

$ sudo mkdir /mnt/sdc1

Testar a montagem da partição:
$ sudo mount /dev/sdc1 /mnt/sdc1

Adicionar a linha abaixo no final do arquivo "/etc/fstab", orientando o sistema a montá-la automaticamente durante o boot. Você pode abrir o arquivo no gedit, usando o comando "sudo gedit /etc/fstab":

/dev/sdc1 /mnt/sdc1 ext3 defaults 0 0

Examinando o arquivo /etc/fstab, você percebe que o Ubuntu não faz referência às partições dentro do fstab pelo dispositivo, mas sim pelo UUID, que é um identificador único. O uso dos UUIDs é um "xuncho" para solucionar o problema dos devices dos HDs mudarem a cada boot, fazendo com que as partições deixem de ser montadas.

Para seguir o padrão do sistema, identificando a partição através do UUID, você pode verificar qual é o UUID referente à sua partição usando o comando "blkid", como em:

# blkid /dev/sdc1

/dev/sdc1: UUID="5c5a3aff-d8a3-479e-9e54-c4956bd2b8fd" SEC_TYPE="ext2" TYPE="ext3"

Você pode então especificar o UUID na linha do fstab no lugar do device, como em:

UUID=5c5a3aff-d8a3-479e-9e54-c4956bd2b8fd /mnt/sdc1 ext3 defaults 0 0

Veja um exemplo:
21dc54fb
Com as partições montadas, podemos passar para a etapa seguinte, que é instalar o Samba e criar os compartilhamentos desejados.