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



» Login
Login:
Senha:

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

Esqueci minha senha

» Wallpaper

Dica

Compartilhando internet com iptables
Linux user
Publicado por Vitor Ribeiro de Souza em 19/11/2004

Login: vitor.jjb, 537128 pontos Homepage:
[ Hits: 37162 ]

Compartilhando internet com iptables

Há vários tutoriais de como compartilhar internet com o iptables, eu mesmo já procurei vários e nenhum nunca funcionava! Até que um belo dia li em algum lugar tais comandos sem complicações alguma. Aí vai a dica, você irá compartilhar, simplesmente, sua internet com sua rede local.

Abra um terminal e digite os seguintes comandos:

# iptables -F
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F POSTROUTING -t nat
# iptables -F PREROUTING -t nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o ppp0 -j MASQUERADE


Pronto, seu servidor já está compartilhando a internet! Agora só falta configurar os clientes, caso seja Windows é só ir na configuração da placa de rede e indicar o gateway. Se for clientes Linux você pode dar o comando:

# route add -net gw 192.168.0.1

Baseando-e na hipótese de que o IP do servidor é 192.168.0.1.

Pronto, internet compartilhada.

E isso galera espero que ajude, aqui quebrou mo galhão!!!


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Fake cam no aMSN
   Dica Linux recomendada Nova versão do MLDonkey, agora com suporte à rede do Kazaa
   Dica Linux recomendada Quem precisa de Pidgin?!
   Dica Linux recomendada Axel: alternativa ao wget
   Dica Linux recomendada Seu Gmail no Live Bookmark do Firefox

Comentários
[1] Comentário enviado por vagnerd em 19/11/2004 - 14:33h:

issu ajuda pra carai ... eu ja usei!!
Flws ;)

[2] Comentário enviado por naoexistemais em 20/11/2004 - 07:45h:

Será que nenhum funcionava ou você não tinha entendido, porque eu mesmo escrevi vários artigos e o mesmo já foi usado por milhares pessoas e sem problema.

Acho que nesse ponto você generalizou....

falou,


[3] Comentário enviado por vitor.jjb em 20/11/2004 - 18:10h:

Amigo, em todos os artigos uqe li sobre isso, eles so colocavam os comandos para compartilhar e aceitar o ip_forward... mas nao botavam para limpar as Regras.... e eu nao falei que TODOS OS ARTIGOS DO MUNDO estavam errados.... apenas todos os artigos que EU LI nao funcionaram :)
flwww

[4] Comentário enviado por vargas88 em 03/01/2005 - 17:19h:

Depois de varios tutoriais esse muito simples pratico e ultra eficiente resolveu meu problema.
Coloquei no final do arquivo /etc/rc.local
e ta rodando muito bem.

[5] Comentário enviado por danilorlima em 18/11/2005 - 22:13h:

se eu substituir ppp0 por eth0 também da certo é que aqui a internet é a rádio e outra coisa o q significa /24 192.168.0.0/24 , so pode ter 24 clientes ??? :) :)

[6] Comentário enviado por removido em 24/11/2005 - 13:55h:

não, isse /24 quer dizer a mascara da rede que esta sendo utilizada, nesse xaso a /24, logo dizendo que vc pode endereçar até 254 ip com essa mascara (192.168.0.1 até 192.168.0.254, sendo 192.168.0.0 determina qual a rede e 192.168.0.255 para dizer que é o broadcast, falow?????

[7] Comentário enviado por xafranski em 05/04/2006 - 19:50h:

Blz cara...
Show de bola!!!
Funcionaou tranquilo. Valeu pela dica

[8] Comentário enviado por priest em 24/05/2006 - 10:25h:

nesta parte "192.168.0.0/24" eu devo colocar a faixa de ip existente em minha rede? ex: tenho 4 micros aqui na rede com ip's variando de 192.168.0.1 até 192.168.0.4, no caso ficaria assim "192.168.0.1/4 " ?

[9] Comentário enviado por priest em 24/05/2006 - 22:22h:

como faço pra logar como root dentro do terminal? Pq eu ja loguei no sistema como root, mas no terminal como que faz ?

[10] Comentário enviado por LINUX_FLAVIO em 21/07/2006 - 13:18h:

Nota dez finalmente alguem curto e grosso (hehehe) Cara vc foi brilhante !!! Assim fica facil mesmo...

[11] Comentário enviado por bigfootmachado em 01/11/2006 - 15:19h:

Cara, valeu, to tava tentando mexer nisso fazia uns 3 dias e nada.
Outra coisa, o bom é vc acrescentar essas linhas de comando no final do arquivo /etc/rc.d/rc.local pois eu uso o CL 10 e ae reinicia a maquina, ele perde as config.
Mas, valeu mesmo
T+

[12] Comentário enviado por salvianoporto em 18/01/2007 - 14:59h:

Cara, è isso ai mandou bem pois tenho visto muito tutoriais mas so mostra os comandos básicos sem limpar a tabela existente.

Blz .... t ++++

[13] Comentário enviado por thiagopeixoto em 20/02/2007 - 15:03h:

Uma observação importante para quem não está conseguindo (como eu estava rs):
Conexao: CABO / CABLE
Provedor: AJATO

Nas máquinas clientes insira o DNS do seu provedor, no meu caso (SP):
DNS1: 200.162.196.29
DNS2: 200.162.192.5

Para saber o DNS de seu provedor vc pode consultar em www.abusar.org.br (eu particularmente não entrei lá, mas dizem que tem ;-) ) OU através de uma máquina Windows conectada no Ajato digitar ipconfig /all no prompt do DOS e lá estará os dois DNS`s. Tb tem a possibilidade de ligar pra lá e pedir, mas sinceramente nem sei se eles liberam esta informação...

Espero ter ajudado alguem aih...

[14] Comentário enviado por jeffersonjbj em 25/02/2007 - 19:05h:

Não consegui. Estou compartilhando duas máquinas linux e aparece a seguinte mensagem na hora de configurar o gateway da máquina cliente:
Host name lookup failure

[15] Comentário enviado por FireBird em 08/03/2007 - 00:58h:

Ficou bacana... Mas você poderia ter feito algo em relação a segurança. Pelo menos colocar algumas políticas em DROP pra evitar certos tipos de acesso.

[16] Comentário enviado por durvalnetolinux em 16/07/2007 - 14:21h:

pessoal boa tarde. eu sou iniciante em linux.....

e estou precisando montar um servidor pra compartilhar a internet e fazer o controle de acesso.....com o squid!
site, palavras etc!

apostyilas e tutorias eu agradeceria muito!

SDS

[17] Comentário enviado por durvalnetolinux em 16/07/2007 - 14:22h:

a sim estou usando o fedora 6... vcs acham bom? aconselham algum outro?

SDS

[18] Comentário enviado por Jandairs em 22/01/2008 - 15:36h:

OLA GALERA ESTOU PRECISANDO DE UMA LUZ SE ALGUEM PUDER ME AJUDAR. ESTOU PRECISANDO DE ONFIGURAR UM SERVIDOR DE INTERNET COM O FEDORA / HED E ESTOU PRECISANDO COMPARTILHAR A CONEXÇÃO COM SQUID PRA FAZER UNS FILTRO DE SITE PROIBIDO SO QUE A NET É A RADIO E ELES USAM U ROTIADOR QUE JOGA DIRETO PRO SWITCH PRECISO FASER COM QUE ELA JOGA PRO SERVIDOR PRA FASER O FILTRO ALGUEM PODE ME DAR UMA LUZ AI, PORQUE EU JA MONTEI MUITO SERVIDOR DE NET COM MODEM ADSL E NÃO COM NET A RADIO . URGENTE POR FAVOR

[19] Comentário enviado por m4gnu5 em 22/12/2008 - 23:26h:

amigo eu não consegui! me ajude por favor "minha placa de rede para a rede interna e eth2 minha placa de rede externa e eth0, como faço para compartilhar
a eth0 com a eth2,a eth1 esta sem uso! me ajude agradeço desde já!
mais um detalhe minha eth2 ip dela é 192.168.3.254. queria que roteasse para minhas maquinas da rede interna!

[20] Comentário enviado por ielsistemas em 29/12/2008 - 14:09h:

Olá amigo, meu caso está sendo igual ao de todos mas ñ tive muito sucesso vou lhe descrever a minha rede:
na eth0 eu tenho um ip real x.x.x.x
na eth1 eu tenho um ip inválido 192.168.1.1
Ai eu atribui eles na placa e talz... o servidor conseguiu navegar blz... mas quando eu configuro as estações com 192.168.1.2 e o gw 192.168.1.1 que é a placa interna elas simplesmente não navegam.
estou usando debian 4 e abaixo segue meus conf pr vc ter uma noção:

a linha q esta descomentada no sysctl
#Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.conf.default.forwarding=1




[21] Comentário enviado por ielsistemas em 29/12/2008 - 14:11h:

Olá amigo, meu caso está sendo igual ao de todos mas ñ tive muito sucesso vou lhe descrever a minha rede:
na eth0 eu tenho um ip real x.x.x.x
na eth1 eu tenho um ip inválido 192.168.1.1
Ai eu atribui eles na placa e talz... o servidor conseguiu navegar blz... mas quando eu configuro as estações com 192.168.1.2 e o gw 192.168.1.1 que é a placa interna elas simplesmente não navegam.
estou usando debian 4 e abaixo segue meus conf pr vc ter uma noção:

a linha q esta descomentada no sysctl
#Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.conf.default.forwarding=1

e logo abaixo meu interfaces q fica no etc/network/interfaces
auto lo
iface lo inet loopback


auto eth0
iface eth0 inet static
address x.x.x.x
netmask 255.255.255.248
gateway x.x.x.x
#Servidores DNS
dns-nameservers 201.10.128.3

auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.255
broadcast 192.168.1.255
network 192.168.1.0

agora me diga se tem algo errado?
valew conto com a ajuda de vcs....

[22] Comentário enviado por joelmelo em 24/08/2010 - 22:36h:

Segui as dicas e FUNFOU BACANA.

1º Passo:

Na maquina Real
#ifconfig etho 192.168.0.1
Na maquina Virtual
#ifconfig etho 192.168.0.2

2º Passo:

Executei o comando ping na Maquina real
#ping 192.168.0.2

Na Maquina Virtual
#ping 192.168.0.1

pingou e ambos corresponderam, ou seja, significa que estão em redes.

3º Passo:

Configurar a maquina real para um roteador para vm. Como meu modem não é roteado, terei que rotear usando minha própria máquina. Para isso execute o seguinte comandos:

#iptables -L -nV
#iptables -L -t nat
#iptables -L -t mangle

4º Passo:

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


Obs.: Você pode abrir o editor de arquivo /etc/sysctl.conf e descomentar a seguinte linha deixando assim:

net.ipv4.ip_forward=1

caso se estiver no 0 coloque 1 em seguida salve o editor de arquivo, aew n precisa usar o comando echo 1 > /proc/sys/net/ipv4/ip_forward uma coisa ou outro eu prefiro net.ipv4.ip_forward=1

5º Passo:

Agora é so colocar o gateway na maquina virtual:

#route add default gw 192.168.01

teste com o comando ping 4.2.2.2

6º Passo:
Adicionar a resolução de nome dentro da pasta /etc/resol.conf na VM

nameserver 8.8.8.8
nameserver 4.2.2.2

Salva e sai do editor de arquivo
Feito isso ele já estaraá na internet direto e correr pro abraço.

7º Passo:
Pra deixar sua net funcionando, mesmo desligando a maquina faça o seguinte procedimento:

Na Maquina Real faça o mesmo procedimento porém não incluindo o gateway e mudando o endereço do ip, na pasta /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 8.8.8.8

Feito isso salve o arquivo.

Na Maquina Virtual abre qualquer editor de arquivo /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 8.8.8.8

Pronto feito isso salve e sai do arquivo.

8º Passo:

Abre o editor de arquivo /etc/resol.conf e acrescentar o item abaixo tanto na maquina real quanto na virtual:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 4.2.2.2
nameserver 128.8.10.90
nameserver 198.41.0.4
nameserver 192.5.5.241
nameserver 193.0.14.129
nameserver 199.7.83.42
nameserver 192.36.148.17
nameserver 192.58.128.30
nameserver 202.12.27.33
nameserver 192.33.4.12
nameserver 192.228.79.201

Após isso salve e feche o arquivo. Com isso vc jah tem dns e rede configurado msm se desligar a maquina.

Obs.: Caso queira criar outra maquina real é só seguir o mesmo passo da 7º e da oitava, porém modificando o ip da maquina e colocando o endereço do Gateway, e fazendo as configuração no /etc/resolv.conf /etc/network/interfaces

9º Passo:

Acrescente as 2 linhas no /etc/rc.local

modprobe iptables_nat
iptables -t nat -A POSTROUTING -o ppp0 MASQUERADE

obs.: No red Hat terá que colocar no /etc/rc.d/rc.local

No Denbian /etc/rc.local


Contribuir com comentário
CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
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.