Do ponto de vista da segurança e até mesmo da facilidade de configuração, é sempre recomendável usar um servidor com duas placas de rede, separando o tráfego proveniente da internet do tráfego da rede local. Com duas placas separadas, fica mais fácil criar as regras de firewall adequadas para bloquear acessos provenientes da internet e, ao mesmo tempo, permitir o tráfego vindo da rede local.
Se você acessa via ADSL, é recomendável manter o modem configurado como bridge ao invés de configurá-lo como roteador. Dessa forma, o servidor recebe todas as portas de entrada, permitindo que você acesse o servidor remotamente via SSH (muito útil para prestar suporte remoto em servidores instalados por você) ou disponibilize um servidor web ou FTP.
Embora acabe sendo mais trabalhoso, nada impede que você configure o modem como roteador e use o servidor para novamente compartilhar a conexão recebida do modem, acrescentando os demais serviços. Nesses casos, você vai precisar configurar o modem para encaminhar ao servidor as portas que devem ficar abertas, como a porta 22, usada pelo SSH (caso você pretenda administrar o servidor remotamente), por exemplo. Isso é feito através da interface de administração do modem, através da opção “Port Forwarding”, ou similar:
Encaminhamento de portas dentro da configuração de um D-Link 500G
As opções de configuração variam bastante de acordo com o modelo do modem, mas (com exceção de um punhado de modelos realmente muito antigos) deve estar disponível pelo menos a opção de criar regras estáticas de encaminhamento, onde você pode encaminhar um conjunto de portas, incluindo uma regra para cada uma. Na maioria dos casos, a interface de configuração do modem permite também encaminhar faixas de portas, ou criar uma DMZ (o que faz com que todas as portas sejam encaminhadas para o servidor, como se ele estivesse diretamente conectado à Internet).
No final, sua rede ficaria com uma topologia similar a essa, com o servidor colocado entre a rede local e o modem. Uma das interfaces do servidor receberia um endereço de rede local, de forma a receber os acessos provenientes dos clientes da rede e a segunda seria configurada para acessar a Internet através do modem:
Ao usar uma conexão via cabo, o layout da rede continua o mesmo, a única diferença é que no acesso via cabo a configuração da conexão é mais simples, já que é preciso apenas obter a configuração da rede via DHCP e não é necessário configurar o roteamento de portas, já que o cable modem funciona como um bridge.
Depois de montar o cabeamento da rede, comece configurando a rede local usando uma das faixas de endereços IP reservadas como, por exemplo, a 192.168.1.x, onde o servidor fica com o IP 192.168.1.1 (ou 192.168.1.254, caso prefira) e os micros da rede interna recebem endereços dentro da mesma faixa. O endereço IP de rede local do servidor (192.168.1.1 no exemplo) passa a ser o gateway da rede, já que é a ele que os clientes irão contactar quando precisarem acessar qualquer endereço externo:
No caso do servidor, o gateway padrão é definido apenas ao configurar a conexão com a Internet, não ao configurar a rede local. Caso você utilize um utilitário de configuração para configurar as interfaces de rede no servidor, configure primeiro a interface de rede local, mantendo os campos do default gateway e dos servidores DNS em branco, deixando para configurar a interface da Internet por último.
Isso evita alguns erros comuns. Por exemplo, se você configurar a conexão com a web e depois configurar a rede local, colocando um endereço qualquer no campo “default gateway”, o gateway informado na configuração da rede local vai substituir o gateway do provedor (definido ao conectar na internet), fazendo com que a conexão deixe de funcionar.
Aqui temos um exemplo de configuração manual da rede para distribuições derivadas do Debian, onde a interface eth0 é usada como interface de rede local e a eth1 é usada como placa de internet, configurada via DHCP:
# /etc/network/interfaces
auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
iface eth1 inet dhcp
Depois de configurada a rede, verifique se consegue pingar os PCs da rede interna (ex: ping 192.168.1.61) a partir do servidor. Se estiver usando Linux nas estações, experimente ativar o servidor SSH em uma das estações e tentar se conectar a ela a partir do servidor.
Da primeira vez que configurar a rede, use endereços IP estáticos para todas as estações, pois assim é mais fácil detectar problemas diversos. Depois de tudo funcionando, mude para configuração via DHCP, como veremos a seguir. Se alguma das estações estiver inacessível, verifique se não existe um firewall ativo, verifique o cabo de rede e experimente trocar a porta usada no switch.
Ao utilizar o Debian Sarge, Etch ou Lenny (ou outra distribuição diretamente derivada deles), é importante fixar os devices das interfaces depois de configurar a rede. Isso evita um problema recorrente, onde as interfaces mudam de posição a cada reset em servidores com duas ou mais interfaces de rede. A placa eth0 passa então a ser a eth1 e assim por diante, o que logo se torna uma grande dor de cabeça ao configurar um servidor para compartilhar a conexão, já que se as duas interfaces mudam de posição, nada funciona. O problema é solucionado através do uso de um pequeno utilitário chamado “ifrename”, que permite fixar os devices utilizados para as placas. Utilizá-lo é bem simples. Comece instalando o pacote via apt-get: # apt-get install ifrename Com as duas placas de rede configuradas, da forma como serão usadas, cheque os endereços MAC das interfaces usando o comando “ifconfig -a” e crie o arquivo “/etc/iftab“, relacionando o device de cada interface com o endereço MAC correspondente, seguindo o modelo abaixo: #/etc/iftab eth0 mac 00:16:36:D1:89:1D Uma vez criado, o arquivo é verificado a cada boot e a configuração se torna persistente, resolvendo o problema. Esta dica não se aplica às versões recentes do Ubuntu/Kubuntu, onde o problema foi solucionado através do uso de regras do udev. |
No CentOS, Fedora e outras distribuições derivadas do Red Hat, é usado um arquivo de configuração independente para cada interface, salvo dentro da pasta “/etc/sysconfig/network-scripts/”, de forma que a configuração do exemplo anterior ficaria:
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR= 00:16:36:D1:89:1D
BOOTPROTO=static
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.1
NETWORK=192.168.1.0
#/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=00:02:44:95:1D:88
BOOTPROTO=dhcp
USERCTL=no
As linhas “HWADDR” são configuradas com os endereços MAC das interfaces de rede. Elas não são obrigatórias, apenas servem como uma garantia adicional de que os devices das interfaces não serão alterados caso você instale outras placas de rede no futuro.
Note que ao conectar via ADSL com o modem configurado em modo bridge (onde você usa o “pppoeconf” ou o comando “adsl-start” para conectar), ou outra modalidade de acesso discado, a interface eth0 ou eth1 é substituída pela interface virtual ppp0. Ao usar uma placa wireless, a interface pode receber vários nomes, como “wlan0”, “ath0” ou “ra0”, de acordo com o chipset e o driver utilizado. É importante tomar nota dos devices utilizados por cada interface, já que precisaremos especificá-los nos passos seguintes. Em caso de dúvidas, cheque a configuração da rede usando o comando “ifconfig”.
Deixe seu comentário