Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Linux    

Compartilhando uma conexão com o Linux


Comentários  2
Visualizações  
20.093

Uma das coisas que o Linux faz melhor é compartilhar uma conexão Internet, seja ela discada ou fixa, com outros computadores em uma rede. Além de compartilhar bem, pode dar até segurança adicional através de um firewall. Este tutorial traz o básico para quem quiser compartilhar sua conexão com uma rede local.

Um dos casos mais comuns é esse, você ter uma conexão com a Internet, e outros computadores em uma rede interna. Então você quer compartilhar essa conexão com os outros computadores. Poderia-se usar servidores de proxy para isso, mas queremos compartilhar totalmente! Então o que fazer?

Primeiro de tudo, você precisa verificar qual a versão do seu kernel. Kernels diferentes utilizarão ferramentas diferentes. Vejamos:

Versão do Kernel Utilitário
2.0.x ipfwadm
2.2.x ipchains
2.4.x iptables

É claro que não podemos descartar o fato de que quanto maior a versão do kernel, melhor é a implementação desses utilitários! Então é sempre bom você usar o mais atual, que no nosso caso é o iptables! :)

O que queremos fazer aqui se chama Masquerading. Masquerading é quando o Linux atua como um gateway entre a Internet e a Rede Local, alterando os pacotes, de modo que ele vá pro lugar certo, e retorne para o lugar em que saiu. Um jeito bem simples de se compartilhar a sua conexão, considerando que a sua rede local seja: 192.168.0.0/24 (que significa a faixa de IPs de 192.168.0.1 até 192.168.0.254). Vamos lá:

ipfwadm (Kernel 2.0.x)

# ipfwadm -F -p DENY
# ipfwadm -F -a ACCEPT -m -S 192.168.0.0/24

ipchains (Kernel 2.2.x)

# ipchains -P forward -j DENY
# ipchains -A forward -s 192.168.0.0/24 -j MASQ

iptables (Kernel 2.4.x+)

# iptables -P FORWARD DROP
# iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
# iptables -A FORWARD -d 192.168.0.0/24 -i eth0 \
  -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

No caso do iptables, você terá que substituir o eth0 pelo seu tipo de conexão. No exemplo a Internet aqui está funcionando através da placa de rede ‘eth0’ e a rede local em ‘eth1’, então eu ativei o masquerading na ‘eth0’, que é a placa da Internet.

Se você usa conexão discada, então ao invés de ser ‘eth0’ ou ‘eth1’, você usará ‘ppp0’, que é a interface de conexão PPP, utilizada pelos provedores de acesso discado.

E antes que eu me esqueça (e você também), há um passo essencial que *nunca* pode ser descartado. Você terá que habilitar o IP Forwarding no kernel do Linux, para ele poder repassar os pacotes da sua rede interna para a Internet. Não importa que versão do kernel você tenha, execute o seguinte comando:

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

Pronto, sua conexão está compartilhada com todos da sua rede interna. A única coisa que lhe restou pra fazer agora é configurar as próprias máquinas da rede interna para usarem esta conexão compartilhada. Se você estiver usando Linux, você apenas terá que adicionar uma rota padrão, que é o gateway:

# route add -net default gw 192.168.0.1

Onde 192.168.0.1 é o IP da máquina servidora. Pronto, sua máquina cliente já está usufruindo do masquerading que a outra máquina está fazendo.

Caso a máquina cliente seja Windows, configure na placa de rede para ela ter como Gateway o IP da máquina servidora.

As configurações que você fez no Linux vão se desfazer assim que você reiniciar o sistema, então é bom deixar todos estes comandos que você fez num arquivo de inicialização. Você pode colocá-los, por exemplo, dentro do arquivo ‘/etc/rc.d/rc.local’.

Agora é USAR, USAR e USAR!

20.093

Comentários  2
Visualizações  
20.093


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

2 respostas para “Compartilhando uma conexão com o Linux”

  1. Alexandre disse:

    Estou iniciando uma equipe de linux na empresa que trabalho e este site é simplesmente sensacional!!! Estou copiando tudo que posso para ler depois!!

    Não sei como agradecer!!

    Abração

    Alexandre

  2. Philipp disse:

    Boa noite,

    Parabéns pelo artigo, simples, limpo e direto.

    Todas as informações constam pertinentes…

    Show…

    Abraço.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *