Internet Sharing

From Pruonckk.org

Autor Original: Pruonckk le Punk

Distro: Debian 3.1

Conteúdo

Prefácio

Muitas vezes temos em casa mais de um computador e nossa conexão nao permite o compartilhamento ou até mesmo voce tem uma conexão de Dial-up e gostaria de dividir ela com outro computador, entao se você tem um desses casos, este tutorial pode ser util para você.

Requerimentos

Se você vai compartilhar a adsl com outro micro, voce irá precisar de:

Uma Placa de rede 10/100 
Um Hub/Swithc ou Cabo crossover ( no caso do cabo cross, so pode usar com mais uma maquina )
Uma conexão com a internet

Criando uma rede

Bom, para compartilhar a internet, iremos precisar inicialmente de criar uma rede, se voce for compartilhar a internet, e sua conexao for adsl, então mantenha a seguinte estrutura

Placa de rede 1 ( eth0 ) --> conexão com a internet
Placa de rede 2 ( eth1 ) --> conexao de Rede Local

Caso voce for compartilhar uma conexao dial-up então sua placa de rede será quem fará a conexão da rede local

Inicialmente voce já deve ter um ip configurado para comunicaçao com o seu modem, para verificar qual é o seu ip, abra um terminal (xterm, konsole, gnome-terminal... ) e digite o seguinte comando

/sbin/ifconfig

a saida do comando será algo semelhante ao seguinte:

eth0       Encapsulamento do Link: Ethernet  Endereço de HW 00:E0:7D:A2:EF:3A
         inet end.: 200.250.241.209  Bcast:255.255.255.255  Masc:255.255.255.0
         endereço inet6: fe80::2e0:7dff:fea2:ef3a/64 Escopo:Link
         UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
         RX packets:5304553 errors:1 dropped:0 overruns:0 frame:0
         TX packets:3404353 errors:0 dropped:0 overruns:16 carrier:0
         colisões:0 txqueuelen:1000
         RX bytes:1683936055 (1.5 GiB)  TX bytes:3471646904 (3.2 GiB)
         IRQ:5 Endereço de E/S:0xc400
lo         Encapsulamento do Link: Loopback Local
         inet end.: 127.0.0.1  Masc:255.0.0.0
         endereço inet6: ::1/128 Escopo:Máquina
         UP LOOPBACKRUNNING  MTU:16436  Métrica:1
         RX packets:1245431 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1245431 errors:0 dropped:0 overruns:0 carrier:0
         colisões:0 txqueuelen:0
         RX bytes:297554646 (283.7 MiB)  TX bytes:297554646 (283.7 MiB)


Entao neste caso podemos ver que o meu ip é o ip 200.250.241.209, no meu caso, eu tenho uma conexão da net ( virtua ), esse ip é pego automaticamente por um cliente dhcp

no seu caso, este ip pode variar, pode ser uma rede exclusiva como 192.168.10 ou outra coisa qq

Bom, se a sua rede for 200.xxx.xxx.xxx voce pode usar qualquer ip para sua rede interna agora, se sua rede for 192.168.10.0 voce teria que usar uma rede 192.168.1.0 para separar as duas

Entao, primeiramente vamos configurar a rede, no debian, voce pode abrir o seguinte arquivo:

/etc/network/interfaces

Esse arquivo será semelhante ao seguinte, no caso de voce pegar a conexao por dhcp

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp


Eu preciso agora, que voce abra o arquivo /etc/network/interfaces com o usuario root para isso, voce pode usar os seguintes comando no terminal

xhost +
su root

agora com isso, voce pode abrir pelo terminal o seu editor de texto favorito, e mandar abrir o arquivo /etc/network/interfaces

( se voce vai usar uma placa de rede apenas, no caso de compartilhar dial up, troque o eth1 por eth0 na configuracao abaixo )

e acrescente ao fim do arquivo as seguintes configuracoes

auto eth1
iface eth1 inet static 
       address 192.168.20.1
       netmask 255.255.255.0
       broadcast 192.168.20.255
       network 192.168.20.0

com isso, voce ja pode salvar o arquivo e fechar o editor de texto para carregar essas configuracoes execute os seguintes comandos:

/etc/init.d/networking stop
/etc/init.d/networking start

Configurando a segunda estação

Bom, se sua segunda estação for debian, você pode usar o mesmo esquema pra configurar, caso seja outra distro, ou seja windows, voce tem que verificar, onde ficam as configurações para sua versão, oque voce precisa é que a estação tenha os seguintes dados

ip:                      192.168.20.2
mascara de rede:         255.255.255.0
dns:                     192.168.20.1
gateway:                 192.168.20.1

com isso configurado, tente dar o seguinte comando da estação que voce configurou agora

ping 192.168.20.1 

a saida do comando deverá ser algo semelhante ao abaixo

PING 192.168.20.1 (192.168.20.1) 56(84) bytes of data.
64 bytes from 192.168.20.1: icmp_seq=1 ttl=128 time=2.70 ms


se der algo como timeout, ou outro tipo de erro, entao sua conexao nao esta funcionando se a saida for a acima, entao está tudo ok, e podemos passa para o proximo passo


Criando um Script para compartilhamento de internet

Bom, agora, precisamos montar o script para compartilhar a internet, entao abra um edito de texto qualquer, e acrescente os seguintes dados dentro

 #!/bin/bash
 
 echo "1" > /proc/sys/net/ipv4/ip_forward

 # Limpando as tabelas
 iptables -F
 iptables -t nat -F
 iptables -t mangle -F

 # Macarando conexões da rede
 # se sua conexao estiver na interface ppp0 basta trocar o eth0 por ppp0
 # a interface ppp0 é usada tb em dial-up, entao, neste caso, troque o eth0 
 # por ppp0

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

Ok, agora, pode salvar, e fechar o editor de texto

Colocando na inicialização da máquina


Com o úsuario root, você ira mover este arquivo para o diretorio /etc/init.d/ entao supondo que voce chamou o arquivo de compartilhamento, voce irá executar o seguinte comando

mv compartilhamento /etc/init.d/

Feito isso, agora temos de dar permissao de execução ao arquivo, entao use o comando abaixo:

chmod +x /etc/init.d/compartilhamento

Agora execute o arquivo digitando:

/etc/init.d/compartilhamento

Feito isso, agora temos que criar uma chamada para ele na inicialização, va ate o diretorio /etc/rc2.d usando o seguinte comando

cd /etc/rc2.d

e use o seguinte comando para criar a chamada

ln -s /etc/init.d/compartilhamento /etc/rc2.d/S99compartilhamento

Instalando um Servidor DNS

Bom, para que o nosso servidor de nomes ( DNS ) possa ser a nossa maquina, precisamos instalar um servidor de dns nela, nesse caso usaremos o bind9, selecione pelo synaptic, ou instale usando o apt

apt-get install bind9

A configuração padrão da instalação, já libera ele pra resolver nomes, então com isso podemos mandar um ping da estação

ping www.uol.com.br

A saida deverá ser semelhante a abaixo

PING www.uol.com.br (200.221.2.45): 56 data bytes
64 bytes from 200.221.2.45: icmp_seq=0 ttl=55 time=10.4 ms


Pronto, você ja tem uma internet compartilhada, divirta-se



Voltar

Ferramentas pessoais
Inutilidades