:. Como compartilhar a conexão usando uma única placa de rede

 Por Carlos E. Morimoto
 http://www.guiadohardware.net
 31/07/2003



Compartilhar a conexão hoje em dia é arroz com feijão. Em qualquer distribuição atual bastam apenas aquelas três comandinhos, como vimos no artigo sobre a configuração do iptables que publiquei mês retrasado (https://guiadohardware.info/artigos/256/): :

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

Em muitos casos você nem precisa digitar comando nenhum. No Kurumin basta clicar no Iniciar > Configuração do Sistema > Conectar na Internet ou Compartilhar Conexão e Firewall > Compartilhar conexão via modem ou ADSL PPPoE e no Mandrake você pode usar o DrakGw, encontrado na seção Rede e Internet do Mandrake Control Center.

Em qualquer um dos três casos o sistema passa a rotear os pacotes recebidos na placa de rede local para a placa de rede (ou modem) que está conectada na Internet.

Mas, se você for um sujeito realmente pobre, que não tem nem 20 reais para comprar uma segunda placa de rede existe a possibilidade de compartilhar a conexão usando uma única placa de rede, utilizando o recursos de alias para a placa de rede que vimos no tutorial sobre a configuração do Apache.

Normalmente, a topologia para compartilhar a conexão é ligar o modem ADSL/Cabo na placa eth0 do servidor, conectar a placa eth1 do mesmo servidor no HUB e conectar as demais estações ao Hub:

Ao compartilhar usando uma única placa todo mundo passa a ser conectado diretamente ao Hub, inclusive o modem. O servidor é configurado para ter duas placas de rede "lógicas" uma para se conectar na Internet e outra para a rede local.

Uma dica é que os modems ADSL geralmente utilizam um cabo de rede cross-over já que são feitos para serem conectados diretamente a um PC e não ao hub. Nestes casos você precisa ligar o modem na porta uplink do Hub.

O primeiro passo é se conectar normalmente à Internet no servidor, usando as configurações de sempre. A partir do momento em que ele estiver acessando crie o alias para a placa de rede "lógica" que o conectará aos micros da rede local, usando o comando:

ifconfig eth0:1 192.168.0.1/24

Isto fará com que o servidor passe a se comportar como se tivesse duas placas de rede, uma ligada ao modem ADSL e outra ligada à rede local, respondendo no endereço 192.168.0.1 (você pode trocar por outro se preferir). O "/24" indica a configuração da máscara de subrede, equivale a digitar "255.255.255.0"

obs: No Kurumin 2.0 ou anterior é preciso instalar o pacote "net-tools" (apt-get install net-tools). Isto foi corrigido no Kurumin 2.01.

Compartilhe a conexão da forma usual e configure os clientes da rede e eles já devem ser capazes de navegar.

Aqui eu testei substituindo um servidor com o Coyote por um micro rodando o Kurumin. O Coyote esta configurado para usar o endereço 192.168.0.1 na rede local com demais micros da rede configurados para acessar através dele.

Simplesmente desliguei o servidor, espetei o cabo do modem no Hub, configurei o Kurumin para acessar a Internet, criei o alias para a placa de rede ("ifconfig eth0:1 192.168.0.1/24" se você já esqueceu... :), compartilhei a conexão usando o ícone no Iniciar e os outros micros da rede voltaram acessar imediatamente, sem que eu precisasse alterar nenhuma configuração.

Lembre-se que um alias para a placa de rede não é o mesmo que uma placa de rede física espetada na placa mãe. Por isso o utilitário para compartilhar a conexão que você usa na sua distribuição pode ter problemas para trabalhar desta forma. Se por acaso ele falhar, use os três comandinhos para compartilhar diretamente através do iptables que já vimos:

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

Para que a alteração se torne definitiva, você deve:

a) Editar o arquivo /etc/modules dicionando a linha:

iptable_nat

No final do arquivo, para que o módulo seja carregado no início do boot.

b) Editar o arquivo /etc/rc.d/rc.local (no Mandrake e outras distribuições) ou /etc/init.d/bootmisc.sh (Debian ou Kurumin), adicionando as linhas para criar o alias para a placa de rede e compartilhar a conexão no final do arquivo:

ifconfig eth0:1 192.168.0.1/24
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Esta receita é genérica, deve funcionar em qualquer distribuição. Lembre-se de substituir o "ppp0" no comando por "eth0" caso o seu ADSL/Cabo utilize IP Fixo ou o endereço seja obtido via DHCP sem autenticação. O "ppp0" é usado em serviços onde é preciso autenticar via PPPoE ou PPTP.

Outra observação é que alguns modems ADSL são configurados para atuarem como servidores DHCP. Nestes casos, ao configurar as estações para obterem IP automáticamente elas podem obter IPs a partir do modem ADSL e não a partir do servidor DHCP da sua rede local. Neste caso você precisará configurar as estações para usar IP fixo.


Compartilhar a conexão usando uma única placa de rede relaxa um pouco a segurança da rede. Embora o modem ADSL fique conectado diretamente no Hub, ninguém na Internet será capaz de enxergar os micros da rede local, pois eles utilizarão uma faixa de IPs inválida, como 192.168.0.x ou 10.0.0.x. Você ainda pode adicionar um firewall "fecha tudo" no servidor, para que ele não responda a pings, feche todas as portas etc.

O problema é que com o modem ADSL ligado diretamente ao hub, alguém que consiga obter acesso à configuração do modem poderia ganhar acesso aos micros da rede local através dele. Os modems ADSL não são apenas dispositivos burros que fazem a conversão analógico/digital, eles possuem vários recursos para rotear pacotes, criar vários tipos de filtros e em muitos casos até túneis VPN.

As empresas de telefonia e provedores geralmente protegem as configurações do modem com uma senha para que o usuário não possa ficar brincando com elas, mas em geral usam a mesma senha em milhares de modems! Muitas vezes o modem vem aberto para aceitar conexões da web, protegido apenas pela senha, sem falar que por terem tantos recursos sempre existe a possibilidade de surgirem bugs diversos de segurança. Pense no modem como PC que nunca recebe atualizações de segurança.

Se alguém consegue obter acesso à configuração do modem pode ganhar acesso aos micros da rede local que estará conectados diretamente a ele. Este é o grande problema.

Usando duas placas de rede ainda seria preciso passar pelo servidor de compartilhamento, que pode ser protegido com um bom firewall. Ao conectar o modem diretamente no Hub esta linha de proteção é perdida.




Copyright 2003 Carlos E. Morimoto, http://www.guiadohardware.net - Todos os direitos reservados