Académique Documents
Professionnel Documents
Culture Documents
Aqui temos um exemplo de configurao manual da rede para distribuies 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 estaes, experimente ativar o
servidor SSH em uma das estaes e tentar se conectar a ela a partir do servidor.
Da primeira vez que configurar a rede, use endereos IP estticos para todas as estaes, pois assim
mais fcil detectar problemas diversos. Depois de tudo funcionando, mude para configurao via
DHCP, como veremos a seguir. Se alguma das estaes estiver inacessvel, verifique se no existe
um firewall ativo, verifique o cabo de rede e experimente trocar a porta usada no switch.
Depois de tudo preparado, ativar o compartilhamento propriamente dito bastante simples. No
Linux, o compartilhamento feito usando o Iptables, o firewall integrado ao Kernel. Na verdade, o
Iptables expandido atravs de mdulos, por isso suas funes vo muito alm das de um firewall
tradicional, incluindo funes avanadas de roteamento. Para ativar o compartilhamento, so
necessrios apenas trs comandos:
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Substitua o "eth1" pela placa da Internet. Este comando simplesmente compartilha a conexo
proveniente da placa da internet com todas as demais placas de rede espetadas no servidor, por isso
no necessrio especificar a placa de rede local.
O primeiro comando ativa o "iptable_nat", o mdulo do Iptables responsvel por oferecer suporte
ao roteamento de pacotes via NAT. O segundo ativa o "ip_forward", o mdulo responsvel pelo
encaminhamento de pacotes, utilizado pelo mdulo iptable_nat.
Finalmente, o terceiro cria uma regra de roteamento, que orienta o servidor a direcionar para a
internet todos os pacotes (recebidos dos clientes) que se destinarem a endereos que no faam
parte da rede local (ou seja, qualquer coisa fora da faixa 192.168.1.x). A partir da, o servidor passa
a ser o gateway da rede.
Em muitas distribuies com o Kernel 2.6, necessrio usar um quarto comando ao compartilhar
uma conexo ADSL. Este comando ajusta os tamanhos dos pacotes recebidos do modem ao MTU
usado na rede local. Note que, apesar da diagramao do livro tornar necessrio quebrar o comando
em duas linhas, trata-se de um nico comando:
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m \
tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
A barra invertida ("\") faz com que o shell no interprete o caractere seguinte (no caso, a quebra de
linha), permitindo quebrar o comando em duas linhas, sem causar um erro. Esse um truque que
permite incluir comandos longos demais para caberem na pgina, divididos em duas linhas ou mais.
Na verdade, o comando forma uma nica linha.
Como de praxe, importante proteger o servidor de ataques provenientes da Internet usando um
firewall. Podemos ativar um firewall simples de bloqueio usando mais alguns comandos do
Iptables, complementando os trs comandos anteriores:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
O primeiro comando faz com que o seu servidor deixe de responder a pings, o que evita muitos
ataques casuais. Os dois comandos seguintes protegem contra IP spoofing (uma tcnica usada em
diversos tipos de ataques, onde o atacante envia pacotes usando um endereo IP falseado como
remetente, tentando assim obter acesso a PCs da rede interna) e contra pacotes invlidos, que so
comumente utilizados em ataques DoS e ataques de buffer overflow.
As duas linhas seguintes autorizam pacotes provenientes da interface de loopback (lo), juntamente
com pacotes provenientes da rede local. Como pode ver, a sintaxe das regras do Iptables segue um
padro lgico, onde voc especifica uma determinada condio e diz o que o firewall deve fazer
com os pacotes que se enquadrarem nela. No caso da regra que autoriza os pacotes da rede local
(iptables -A INPUT -i eth0 -j ACCEPT) usamos os parmetros "-A INPUT" (pacotes de entrada) e
"-i eth0" (recebidos na interface eth0), seguidos da regra "-j ACCEPT", que diz que os pacotes
devem ser aceitos sem checagem adicional. No se esquea de substituir o "eth0" pela interface de
rede local correta, caso diferente.
Continuando, a linha "iptables -A INPUT -p tcp --dport 22 -j ACCEPT" abre a porta 22, usada pelo
SSH para conexes externas, permitindo que voc possa administrar o servidor remotamente. Voc
pode abrir mais portas simplesmente adicionando mais linhas, com as portas desejadas. Concluindo,
temos a linha "iptables -A INPUT -p tcp --syn -j DROP", que faz o trabalho pesado, bloqueando
tentativas de conexo provenientes da Internet.
Depois de testar o compartilhamento, falta fazer com que os comandos sejam executados durante o
boot, tornando a configurao permanente. A forma mais simples de fazer isso colocar os
comandos no arquivo "/etc/rc.local", um script prprio para a tarefa, que est disponvel tanto em
distribuies derivadas do Debian quanto em distribuies da linhagem do Red Hat. Um exemplo
de arquivo completo, incluindo os comandos para ativar o firewall seria:
#!/bin/sh
# /etc/rc.local
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
o servidor verifica a cada dez minutos se as estaes ainda esto ativas. Se voc tiver mais
endereos IP do que mquinas, os endereos IP das estaes raramente vo precisar mudar. Mas, no
caso de uma rede congestionada, o "max-lease-time" determina o tempo mximo que uma estao
pode usar um determinado endereo IP. Isso foi planejado para ambientes onde haja escassez de
endereos IP, como, por exemplo, em um provedor de acesso, onde sempre existem mais clientes do
que endereos IP disponveis e se trabalha contando que nem todos vo ficar conectados
simultaneamente. Em condies normais, essas duas opes no so muito importantes. O que
interessa mesmo o bloco que vai logo abaixo, onde ficam as configuraes da rede.
A opo "range" determina a faixa de endereos IP que ser usada pelo servidor. Se voc utiliza a
faixa de endereos 192.168.1.1 at 192.168.1.254, por exemplo, pode reservar os endereos de
192.168.1.1 a 192.168.1.100 para estaes configuradas com IP fixo e usar os demais para o DHCP,
ou ento reservar uma faixa especfica para ele, de 192.168.1.101 a 192.168.1.201, por exemplo. O
importante usar faixas separadas para o DHCP e os micros configurados com IP fixo.
Na "option routers" vai o endereo do default gateway da rede, ou seja, o endereo do servidor que
est compartilhando a conexo. No necessrio que o mesmo micro que est compartilhando a
conexo rode tambm o servidor DHCP. Pode ser, por exemplo, que na sua rede o gateway seja o
prprio modem ADSL que est compartilhando a conexo e o DHCP seja um dos PCs.
A opo "option domain-name-servers" contm os servidores DNS que sero usados pelas
estaes. Ao usar dois ou mais endereos, eles devem ser separados por vrgula, sem espaos. Em
geral, voc vai usar os prprios endereos DNS do provedor, a menos que voc configure um
servidor DNS interno na sua rede (que pode ser instalado no prprio micro que est compartilhando
a conexo e rodando o DHCP). Estes servios consomem poucos recursos da mquina.