Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: depois de mudanças
Por JoseLucas
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Roteamento de pacotes e NAT no Linux
Linux user
Publicado por Magno Maguione em 24/11/2009

Login: magnolinux, 184604 pontos
[ Hits: 10873 ]

Roteamento de pacotes e NAT no Linux

Resolvi escrever essa dica depois de ver muitos posts de usuários com dúvidas em como fazer o compartilhamento de internet no Linux.

O compartilhamento da internet no Linux é feito através do Netfilter/Iptables, que é o firewall nativo das distribuições a partir do kernel 2.4.

Primeiro devemos estar com a placa de rede configurada e com a conexão com a internet funcionando. Para ver como configurar a placa de rede você pode dar uma olhada na minha dica:
Partindo do pressuposto que a internet está funcionando, a seguir será descrito os comandos que farão o roteamento e NAT da conexão.

Roteamento de pacotes:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Esse comando escreve o número 1 dentro do arquivo ip_forward, ativando o roteamento de pacote. O padrão é 0. Com isso o Linux passa a rotear os pacotes de uma interface para a outra e vice-versa.

NAT:

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Esse comando permite que todos os micros da rede possam sair para a internet com apenas um IP público. O "-o eth0" é a interface que está conectada com a internet, se fosse uma conexão Velox seria "-o ppp0".

Pronto... Para compartilhar a internet no Linux é necessário somente esses dois comandos, um ativa o roteamento de pacote, o outro faz o nat. Agora vamos criar um script e colocar para iniciar durante o boot.

Criando script, dentro do /usr/local/bin:

# vim /usr/local/bin/firewall

#!/bin/bash

echo "Ativando compartilhamento "

# Ativando Roteamento de pacote
echo 1 > /proc/sys/net/ipv4/ip_forward

# NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

echo " Compartilhamento ativado"

Salve e saia do arquivo. Dê permissão de execução no script com o comando:

# chmod +x /usr/local/bin/firewall

Agora vamos colocar esse script para ser iniciado durante o boot. Edite o arquivo /etc/rc.local:

# vim /etc/rc.local

E adicione a seguinte linha em seu final:

/usr/local/bin/firewall

Salve e saia do arquivo.

Pronto... Internet será roteada toda vez que o micro for reinicializado!

Obs.: Existem outras formas de colocar um script para ser inicializado durante o boot, esta é a forma mais simples, em outra dica demonstrarei uma forma mais profissional de colocar um script para ser inicializado.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Autenticação do KPPP Red Hat 8
   Dica Linux recomendada Conectiva 10, com KDE, porém sem áudio.
   Dica Linux recomendada Limitando taxa de download do Yum (Fedora)
   Dica Linux recomendada Notify-osd para "tudo" no Arch Linux
   Dica Linux recomendada Resolvendo problemas de acentuação e Ç nas páginas web do servidor Apache

Comentários
[1] Comentário enviado por xirux em 26/04/2010 - 10:23h:

Obrigado Magnolinux, lendo teu artigo eu comecei a ficar a vontade pra evoluir.

[2] Comentário enviado por magnolinux em 06/07/2010 - 11:46h:

Entãi xirux, no vol existe milhares de artigos e dicas que te ajudarão a evoluir no mundo linux e comphania...

Fico contente que minha dica foi valida. Em breve voltarei a escrever novamente no vol

abraço....


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.