Compartilhamento de conexão ADSL
Em muitos casos, o compartilhamento da conexão ADSL pode ser um requisito importante para determinados ambiente de rede.
Tabela de conteúdo |
Requisitos
- iptables
- módulo iptable_nat
- duas placas de rede
Configuração
Vá em sistema ==> Administração ==> rede ou execute o comando:
$ su - Password # system-config-network
Primeiro passo: entendendo as interfaces
As interfaces disponíveis podem variar, no nosso caso, temos eth0, eth1 e ppp0. Partimos do princípio que o ppp0 já está configurado e que você já usava sua conexão ADSL antes. Para essa situação, vamos compartilhar o dispositivo ppp0, direcionando a conexão para o dispositivo eth1. Para um melhor entendimento, explica-se: o modem ADSL (que é o dispositivo de rede ppp0) é ligado na placa eth0, que realiza uma discagem para estabelecer a conexão. Depois de estabelecida a conexão, o dispositivo ppp0 passa a usar a porta da eth0 e é por esse motivo que eth0 é mantida desabilitada, já que não teria utilidade. A conexão recebida por ppp0 é roteada pelo iptables por intermédio de um NAT até a interface eth1 onde as demais máquinas podem se servir.As vantagens de compartilhar desse modo uma conexão ADSL são claras quando é necessário realizar algum tipo de tratamento de gerência sobre a conexão, como um controle de banda ou uma filtragem de pacotes.
Segundo passo: preparando as interfaces
Não é preciso mexer nas configurações da interface ppp0. Normalmente, uma conexão ADSL utiliza o protocolo DHCP para obter as configurações necessárias ao seu próprio funcionamento, mas a interface eth1 precisa ser configurada corretamente para servir às outras máquinas da rede interna. Deve-se escolher uma classe de IP para a rede interna; no nosso caso, escolhemos que todas as máquinas da rede interna devem ter um IP do tipo 10.0.0.XXX e, para tanto, a interface eth1 deve estar adequada para funcionar dentro desses parâmetros. Damos a eth1 o ip fixo 10.0.0.1 com a máscara de sub-rede 255.255.255.0 e o Gateway padrão em branco (se for definido um gateway aqui, este sobrescreveria o gateway da interface ppp0 e o compartilhamento não funcionaria). O passo mais importante é definir quais serão os DNSs usados. É o DNS que direciona seu computador na grande rede e sem ele, você ficaria preso em sua rede interna sem conseguir navegar externamente.
Para descobrir um DNS válido, com a sua conexão ppp0 ativa, execute o comando "ifconfig" e esteja atento ao resultado obtido para a interface ppp0:
# ifconfig
ppp0 Link encap:Protocolo Ponto-a-Ponto
inet end.: 201.51.235.125 P-a-P:200.164.44.41 Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Métrica:1
RX packets:291808 errors:0 dropped:0 overruns:0 frame:0
TX packets:249206 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:3
RX bytes:224444533 (214.0 MiB) TX bytes:106222887 (101.3 MiB)
Em vermelho, aparece um DNS que pode ser usado na sua configuração do eth1. Basta somente um DNS para que seu compartilhamento funcione, mas o Linux aceita até três DNSs hierárquicos, o que significa que se o primeiro falhar, o segundo assume e assim por diante. Para adicionar o DNS, selecione o dispositivo eth1 e clique na aba DNS, como mostrado na figura (é normal que os DNSs mudem, os que aparecem na figura são de uma configuração anterior):
Terceiro passo: ativando o NAT
Embora as interfaces já estejam configuradas corretamente neste ponto, é preciso ativar o NAT para que os pacotes que cheguem na interface eth1 sejam roteados corretamente para a interface ppp0 e vice-versa. O iptables, com o auxílio do módulo iptable_nat consegue isso facilmente com o seguinte comando:
# modprobe iptable_nat # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Ou, de uma forma mais completa e dinâmica:
touch /var/lock/subsys/local modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Quarto passo: configurando os clientes da rede
Terminada a etapa de compartilhamento, configurar os clientes da rede para receber a conexão compartilhada é uma tarefa bem simples. Obviamente, deve-se usar IPs que estejam dentro do range da sua rede; nesse caso, escolhemos IPs do tipo 10.0.0.XXX e como o ip 10.0.0.1 está reservado ao servidor, na placa eth1, começaremos a atribuir um ip fixo a contar de 10.0.0.2 em diante. A máscara de rede não muda e permanece a esma: 255.255.255.0, já o gateway passa a apontar para a placa eth1, ficando, portanto, 10.0.0.1. O passo mais complicadoseria a configuração dos DNSs. Uma confusão comum é colocar como DND o endereço de eth1, mas isso apenas confinaria os clientes até a rede interna; os endereços corretos, os da rede externa, são os mesmos DNSs obtidos nos passos anteriores. Feito issdo, os clientes passam a compartilhar a conexão.
Quinto passo: compartilhamento na inicialização
Para que o compartilhamento seja carregado na inicialização, adicione ao arquivo /etc/rc.local os comandos usados para ativar o NAT. Neste exemplo, usamos o editor de texto VI:
# vi /etc/rc.local
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Uma observação final é que uma instalação nova do Fedora vem com regras de firewall que impedem o compartilhamento da conexão. É preciso limpar as regras antes que o compartilhamento funcione realmente, para fazer isso, execute o comando:
# iptables -F


