Neste artigo usaremos o iptables para fazer um compartilhamento de seu link dedicado com a Internet (speedy, velox, lp, etc) com suas estações de rede.
Temos uma máquina Linux com 2 (duas) placas de rede:
eth0: 200.x.x.x (ip fixo da internet)
eth1: 10.0.0.x (ip fixo interno)
Verifique se o iptables está instalado:
# rpm -q iptables
iptables-1.2.4-1cl
No caso estou usando a versão 1.2.4 do iptables em um Conectiva, se o seu não estiver instalado, faça o download (www.rpmfind.net, por exemplo) e instale-o com o seguinte comando:
# rpm -Uvh iptables-version
Depois de instalado vamos compartilhar à Internet. Digite a seguinte seqüência de comandos no shell:
modprobe iptable_nat : Carregar o módulo NAT (isso carrega todos os outros);
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE : Na tabela NAT (-t nat), adicionar uma regra (-A) após o routing;
echo 1 < /proc/sys/net/ipv4/ip_forward : Habilitar IP forwarding.
O ambiente gerado pela configuração realizada pelos comandos acima será descartada após o reinício do servidor, dessa forma sugiro que você aplique
estas regras em algum script que será executado durante a fase de inicialização do servidor (ex.: /etc/rc.d/rc.local).
Cliente
Configure suas estações de rede da seguinte forma:
gateway: IP do servidor Linux
servidores DNS: qualquer servidor DNS válido (ex.: 200.204.0.138)
Recarregue as configurações das estações e pronto, estará navegando de modo
transparente.
[8] Comentário enviado por fernandowilson em 26/05/2004 - 13:36h
nao entendi, pois tenho um roteador que tem seu ip da rede interna 10.0.0.x e minhas maquinas seguem essa sequencia. e voce sitou um ip valido 200.xxx.xxx.xxx numa segunda placa, como isso funciona?
[11] Comentário enviado por alphainfo em 04/06/2004 - 15:31h
Permitem dar o meu pedacinho de contribuição ao artigo??
Da maneira que ficou, os clientes de email (ex:OutLook Express) não funciona. Então, sugiro que o script completo fique assim:
#!/bin/bash
##################################
# Comeco
##################################
IPREDE=Coloque aqui o IP da sua rede, por exemplo "192.168.1.0"
DNS1=Coloque aqui o primeiro DNS que a telemar te deu, exemplo "200.167.232.14"
DNS2=Coloque aqui o segundo DNS que a telemar te deu, exemplo "200.165.20.150"
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe ip_conntrack
echo "Habilitando o roteamento a WEB ..."
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Feito!"
#### Para funcionar os OutLook da vida...
iptables -A FORWARD -p udp -s $IPREDE -d $DNS1 --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -s $IPREDE -d $DNS2 --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -s $DNS1 --sport 53 -d $IPREDE -j ACCEPT
iptables -A FORWARD -p udp -s $DNS2 --sport 53 -d $IPREDE -j ACCEPT
#
echo " Feito!"
####
echo "Liberando o acesso ao SMTP e POP dos clientes de email ..."
[17] Comentário enviado por fasmaia em 16/08/2004 - 22:02h
seguindo o raciocinio besta compilação, que tal agregar um limitador e um controle de IP cliente, dai fica um servidor de internet completo, e é o que eu to precisando he, he, ,he ,he.....
[18] Comentário enviado por fasmaia em 16/08/2004 - 22:02h
seguindo o raciocinio besta compilação, que tal agregar um limitador de banda e um controle de IP cliente, dai fica um servidor de internet completo, e é o que eu to precisando he, he, ,he ,he.....
[20] Comentário enviado por cacosapo em 02/09/2004 - 09:21h
excelente, parabéns!
só um toque de segurança, na linha:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
ficaria melhor, de acordo com o exemplo:
iptables -t nat -A POSTROUTING -i eth1 -o ppp0 -j MASQUERADE
do jeito que estava dependendo de outros parametros de configuração, uma pessoa maliciosa poderia usar seu firewall para mascarar acessos (e possiveis ataques) a outras pessoas.
[23] Comentário enviado por credmann em 05/12/2004 - 06:41h
Eu preciso de uma regra que habilite o acesso dos clientes ao domínio '*.avast.com'. Tentei acrescentar '-d *.avast.com' e não funcionou. Preciso que os clientes só possam acessar a web para fazer a atualização do antivírus.
[27] Comentário enviado por cRaYoN em 25/02/2005 - 18:27h
Cara o artigo é muito bom! Sei que o objetivo da comunidade VOL é auxliar o pessoal, mas, gostaria de lembrar, como trabalho em Administração de Rede, que todos podem utilizar os scripts para servidores caseiros, mas quando for utilizar num ambiente de Trabalho (Produção), estude bastante o IPTABLES e conheça todas as suas características porque ele é uma poderosa arma.
Digo isso, porque num trabalho, vira e mexe, tem um mala que necessita de um acesso externo, e voce vai ter que ter conhecimento para liberar!
[28] Comentário enviado por mtcporto em 15/03/2005 - 23:27h
Ola!
eu li o seu tutorial sobre compartilhamento, estava bem legal. Mas assim como o cara do FTP, eu estou com um problema. Na minha rede tem um linux com 3 placas de rede (1 velox e 2 de rede interna) atualmente o linux ta dando conta do recado e junto com aquela pequena regrinha e uma tabela de rotas tranquila, ta conseguindo fazer com que os clientes acessem internet e as duas redes que precisamos ter acesso. Tudo otimo se nao fosse por um detalhe:
Os clientes nao conseguem acessar alguns sites.
Ex.: www.caixa.com.br, www.bancoreal.com.br, www.globo.com, www.msn.com, www.hotmail.com e por ai vai.
Isso e alguma regra que ficou faltando, algum modulo que faltou carregar ou o que?
A distro e kurumin linux 4, so tem 2 regras de iptables (pra compartilhamento de rede e pra acesso as sub-redes de um dos roteadores) e a tabela com as rotas. De servidor, so tem o ssh rodando. Alguma ideia?
[31] Comentário enviado por thiagoantunees em 24/07/2006 - 16:02h
È seguinte cara eu preciso configurar da seguinte forma
Servidor -->eth0 entrada de internet (modem router)
-->eth1 saida - para o (AP/HUb) como eu faço redirecionar a intenet da eth0 para eth1 ,passando da eth1 (AP/HUB) distribuindo para os clientes.Essas regras podem ser feitas pelo iptables como faço isso alguém pode me ajudar desde ja agradesso.
[35] Comentário enviado por leandrobrunoo em 28/08/2009 - 10:46h
Queria saber se a placa eth0 q o modem estar conectado IP o 192.168.0.3
e a eth1 q e a do switch pode ser o ip com a mesma faixa ex 192.168.0.4 e qual seria o gateway da placa eth1 ?
as regras de firewall seria a mesma aqui desse artigo ?
[36] Comentário enviado por nicolasmafre em 31/01/2018 - 23:47h
[8] Comentário enviado por fernandowilson em 26/05/2004 - 13:36h
nao entendi, pois tenho um roteador que tem seu ip da rede interna 10.0.0.x e minhas maquinas seguem essa sequencia. e voce sitou um ip valido 200.xxx.xxx.xxx numa segunda placa, como isso funciona?
Eu estou com a mesma dúvida, pois falaram mas não explicaram. Eu também tenho duas placas de rede ("eno1" e "enp5s0") e meu roteador também tem seu ip interno. Tudo que vejo manda a primeira placa (eno1) fixar um ip e na segunda (enp5s0) deixar como dhcp, mas ja testei com a segunda interface de rede em static e dhcp e nada funcionou.
Outra coisa, nos arquivos leio, todos mandam colocar a interface que recebera a internet no comando do IPTABLES, mas aqui é posto "ppp0" ao invés (por exemplo) "enp5s0". Por qual motivo isso?