Compartilhando a conexão

Por:
O recurso mais básico é justamente compartilhar a conexão. Comece configurando a rede local, usando uma das faixas de endereços IP reservadas a redes locais, como, por exemplo, 192.168.0.x, onde o servidor fica com o IP 192.168.0.1 e os micros da rede interna recebem endereços IP seqüenciais, de 192.168.0.2 em diante. Não se esqueça de colocar o endereço IP do servidor (192.168.0.1 no exemplo) como gateway padrão na configuração dos clientes. A configuração de gateway padrão no servidor fica em branco, pois o gateway padrão do servidor vai ser definido ao configurar a conexão com a internet.

Com a rede local funcionando, o próximo passo é conectar o servidor à internet. No acesso via cabo, você precisa apenas obter a configuração da rede via DHCP, de forma que configurar a conexão é muito simples.

Deixe para configurar conexão depois de configurar a rede local, pois 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.

Em seguida, temos os comandos que compartilham a conexão. Para ativar o compartilhamento, são necessários apenas três comandos:

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Substitua o “eth0” pela placa da internet. Este comando simplesmente compartilha a conexão proveniente da placa da internet com todas as demais placas de rede espetadas no servidor, por isso não é necessário especificar a placa de rede local.

O primeiro comando ativa o “iptable_nat“, o módulo do Iptables responsável por oferecer suporte ao roteamento de pacotes via NAT. O segundo ativa o “ip_forward“, o módulo responsável pelo encaminhamento de pacotes, utilizado pelo módulo 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 endereços que não façam parte da rede local (ou seja, qualquer coisa fora da faixa 192.168.0.x). A partir daí, o servidor passa a ser o gateway da rede.

Adicione os comandos em um dos scripts de inicialização do sistema, para que eles sejam executados automaticamente durante o boot. No Debian e derivados, coloque-os no final do arquivo “/etc/rc.local” (antes da linha “exit 0”). No Fedora, Mandriva e outros derivados do Red Hat, use o arquivo “/etc/rc.d/rc.local“.

É recomendável incluir também o comando abaixo, que cria um firewall básico, bloqueando todas as tentativas de conexão provenientes da interface conectada na Internet. Lembre-se de substituir o “eth1” pela interface conectada no cable-modem, caso diferente.

iptables -A INPUT -p tcp -i eth1 –syn -j DROP

Uma segunda opção, mais elegante, porém mais complicada, é criar um serviço de sistema, que pode ser ativado e desativado. Neste caso, crie o arquivo de texto “/etc/init.d/compartilhar”. Dentro dele vão as linhas abaixo. Observe que, novamente, o comando para ajustar o MTU dos pacotes em conexões via ADSL forma uma única linha:

#!/bin/bash

iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -p tcp -i eth1 –syn -j DROP
}

parar(){
iptables -F -t nat
}

case “$1” in
“start”) iniciar ;;
“stop”) parar ;;
“restart”) parar; iniciar ;;
*) echo “Use os parâmetros start ou stop”
esac

Este é um shell script que aceita três funções: start, stop e restart, executando dentro de cada uma os comandos que compartilham e param o compartilhamento da conexão. Esta estrutura é similar à usada nos demais scripts de inicialização do sistema, como os do Apache, Samba, Squid e outros serviços.

Transforme-o em um arquivo executável, usando o comando:

# chmod +x /etc/init.d/compartilhar

A partir daí, você pode iniciar e parar o compartilhamento usando os comandos:

# /etc/init.d/compartilhar start
# /etc/init.d/compartilhar stop

Se preferir, você pode compartilhar usando uma das ferramentas disponíveis nas distribuições. No Kurumin use o “Iniciar > Internet > Compartilhar conexão e firewall > Compartilhar conexão via modem ou ADSL PPPoE”. No Mandriva você pode usar o DrakGw, encontrado na seção “Rede e Internet” do Mandriva Control Center.

O próximo passo é configurar o servidor DHCP, de forma que o servidor distribua os endereços para os micros da rede.

No Linux o serviço de DHCP é exercido pelo dhcp3-server, que nas distribuições baseadas no Debian pode ser instalado através do comando:

# apt-get install dhcp3-server

Os comandos “/etc/init.d/dhcp3-server start” e “/etc/init.d/dhcp3-server stop” gerenciam a atividade do serviço. No Fedora o pacote com o servidor dhcp se chama simplesmente “dhcp” e pode ser instalado através do yum. Uma vez instalado, use os comandos “service dhcpd start” e “service dhcpd stop”. No caso do Mandriva, o pacote se chama “dhcpd“.

Em qualquer um dos três casos, o arquivo de configuração é o dhcpd.conf. No Debian, o caminho completo para ele é “/etc/dhcp3/dhcpd.conf” e no Mandriva e Fedora é apenas “/etc/dhcpd.conf“. Apesar dessas diferenças nos nomes, o que interessa mesmo é a configuração do arquivo e esta sim é igual, independentemente da distribuição.

Este é um exemplo de arquivo de configuração básico:

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.201;
option routers 192.168.0.10;
option domain-name-servers 200.177.250.10,200.204.0.10;
option broadcast-address 192.168.0.255;
}

A opção “range” determina a faixa de endereços IP que será usada pelo servidor. Se você utiliza a faixa de endereços 192.168.0.1 até 192.168.0.254, por exemplo, pode reservar os endereços de 192.168.0.1 a 192.168.0.100 para estações configuradas com IP fixo e usar os demais para o DHCP, ou então reservar uma faixa específica para ele, de 192.168.0.100 a 192.168.0.201, por exemplo. O importante é usar faixas separadas para o DHCP e os micros configurados com IP fixo.

Na “option routers” vai o endereço do default gateway da rede, ou seja, o endereço do servidor que está compartilhando a conexão. Não é necessário que o mesmo micro que está compartilhando a conexão rode também o servidor DHCP. Pode ser, por exemplo, que na sua rede o gateway seja o próprio modem ADSL que está compartilhando a conexão e o DHCP seja um dos PCs.

A opção “option domain-name-servers” contém os servidores DNS que serão usados pelas estações. Ao usar dois ou mais endereços, eles devem ser separados por vírgula, sem espaços. Em geral você vai usar os próprios endereços DNS do provedor, a menos que você configure um servidor DNS interno na sua rede, que pode ser instalado no próprio micro que está compartilhando a conexão e rodando o DHCP. Estes serviços consomem poucos recursos da máquina.

O servidor DNS mais usado no Linux é o Bind. No Kurumin ou Debian em geral, você mata o coelho com um “apt-get install bind“. Este servidor DNS pode ser configurado para implementar um sistema de domínios e subdomínios na sua rede, mas o uso mais comum é simplesmente fazer um “cache”, onde o servidor DNS simplesmente repassa as requisições para um dos 13 root servers da internet e vai armazenando os endereços que já foram acessados.

Você pode substituir o arquivo de configuração padrão por este modelo, ou editá-lo conforme a necessidade. Ao fazer qualquer alteração no arquivo, você deve reiniciar o servidor DHCP usando o comando:

# /etc/init.d/dhcp3-server restart

(ou “service dhcp restart” no Fedora)

Sempre que configurar um servidor com duas placas de rede, é importante que o servidor DHCP seja configurado para escutar apenas na placa da rede local. No Debian, esta configuração vai no arquivo “/etc/default/dhcp3-server“. Procure pela linha:

INTERFACES=””

… e adicione a placa que o servidor DHCP deve escutar, como em:

INTERFACES=”eth0″

Para que a configuração entre em vigor, basta reiniciar o serviço novamente.

Você pode adicionar também um servidor Squid, de forma a usar o cache para melhorar a velocidade do acesso, ou implantar restrições de acesso. Quem tem crianças pequenas em casa, pode usar o Dansguardian para filtrar páginas impróprias. Você pode ler mais sobre eles no guia que publiquei em 2006: https://www.hardware.com.br/guias/compartilhando-conexao-squid/

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X