Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Compartilhar a conexão no debian


Tabela de conteúdo

Introdução

Compartilhar a conexão no debian nunca foi tão fácil,quero mostrar pra vocês o que eu fiz pra conseguir,minha motivação é o fato de ter difículdades para achar tutoriais fáceis para o Debian.

"Do ponto de vista da segurança e até mesmo da facilidade de configuração,é sempre recomendável usar um servidor com duas placas de rede,separando o tráfego proveniente da internet do trafego da rede local" (Carlos E Morimoto, Linux Redes e Servidores).

Pois bem,vamos usar um micro com duas placas de rede,este micro é que vai distribuir a conexão pra nossa rede,no caso,apenas um micro,ou seja,vamos compartilhar a conexão com 2 micros,más para mais sistemas não mudaria nada,a não ser o fato de usar switche ou hub.

Nosso esquema

internet<--->modem<--cabo straight-->Pc1<--crossfire-->pc2

Vamos descobrir o modelo da nossa placa de rede

#lspci

    0000:00:00.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91)

    0000:00:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Este exemplo é o meu caso,e podemos ver que os chipsets das placas são respectivamente SIS900 e Realtek 8139. Vamos ver se o módulo que abilita a placa esta levantado

#lsmod
    8139too
    sis900

Neste caso esta levantado,se fosse o contrário poderiamos fazer o seguinte :

modprobe [nome do modulo]

#modprobe 8139too

Os módulos ficam na pasta:

  1. cd /lib/modules/2.6.8-2-386*/kernel/drivers/net
* versão do seu kernel

Os módulos possuem a extenão ".ko" ,exemplo: sis900.ko,ao subir tire a extensão.

Se você usar uma placa,na qual o driver esteja muito difícil de encontrar ou talvez só exista pro Windows,use a ferramenta : Ndiswrapper que permite usar drivers do Windows no Linux,no debian ele vem no próprio cd de instalção,más hoje em dia é fácil comprar uma placa com Chipset Realtek 8139 ou outros aceitos pelo Linux,e a preços bem em conta,algo em torno de R$20,00.

Configuração

Vamos configurar o Servidor,o micro que está com as duas placas,depois o Cliente.

Linha de Comando

Servidor

Se você acessa via ADSL,é recomendável manter o modem configurado com Bridge.

Configure a conexão

#/usr/sbin/pppoeconf

Agora configure o IP,e máscara de rede,lembre-se de usar a mesma classe de ip's pra sua rede,exemplo : 192.168.0.1,192.168.0.2 ...

Verificando as placas

#ifconfig

Placa de rede,a que vai conectar um micro ao outro,atente para o cabeamento,se for com dois micros apenas,este cabo deve ser "Crossfire",se for usar hub ou switche seria o cabo reto,ou "Straight" .

#ifconfig eth2 192.168.0.1 netmask 255.255.255.0 up

O "UP" é usado caso a placa não esteja levantada,caso contrário não use.

Placa que tem a conexão com a internet:

    #ifconfig eth1 200.159.196.216 netmask 255.255.254.0 up

As placas devem ser configuradas nesta ordem,primeiro a placa de rede depois a da internet. Agora os comandos de Firewall que ativam o compartilhamento.

    #modprobe iptable_nat

Veja se os módulos subiram corretamente

    #lsmod | grep ip

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

    #iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE

Este último comando deve ser executado em uma única linha,e caso você esteja usando autenticação ppp0,comum pra quem usa em casa,a interface eth0 é substituida por ppp0,ficando assim :

Cliente

<p style="text-indent: 26px;" align="justify">Com os módulos levantados,configure o Ip e a máscara de rede.

    #ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up
    #ifconfig

    Temos que configurar o servidor DNS.

    coloque os servidores no arquivo /etc/resolv.conf
    #vi /etc/resolv.conf
    search lan
    200.150.4.3
    200.150.4.5
    200.150.4.4

Vamos adicionar uma rota de saída pra nossa rede, o nosso Gateway,onde nosso cliente vai pegar um ip válido e sair pro mundo. Apagando configurações anteriores.

    #route del default
    #route add default gw 200.159.196.1

Nosso gateway é o ip da placa que se conecta com a internet. Dê um ping nás máquinas,para ver se tudo está funcionando.

No servidor

    #ping 192.168.0.2

No cliente

    #ping 200.159.196.216
    #ping 192.168.0.1

Conecte o servidor

    #pon dsl-provider

Pronto! Nossa rede já esta funcionando .

Scripts

Más tudo que nós fizemos está na memoria RAM,quando reiniciarmos toda configuração será perdida,então vamos fazer um pequeno script para ser inicializado durante o boot,isto pode ser feito tanto no servidor quanto no cliente.

Servidor

entre como root no diretório

#cd /etc/init.d

Crie um arquivo qualquer,com seu editor preferido;se ainda não usa,aconselho usar o VI,pois além de funcionar perfeitamente,como todos outros comandos usados aqui,este também é cobrado na prova LPI ;-) .

Criando o arquivo:

#vi rede

no arquivo coloque:

    #!/bin/bash
    ifconfig eth2 192.168.0.1 netmask 255.255.255.0 up
    ifconfig eth1 200.159.196.216 netmask 255.255.254.0 up
    pon dsl-provider
    modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE

vamos visualizar:

    /etc/init.d#cat rede
    #!/bin/bash
    ifconfig eth2 192.168.0.1 netmask 255.255.255.0 up
    ifconfig eth1  200.159.196.216 netmask 255.255.254.0 up
    pon dsl-provider
    modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE

Torne o script executável:

    /etc/init.d# chmod +x rede

Agora vamos criar o link que vai carregar no boot o arquivo criado. Entre no diretório /etc/rc2.d

Lembre-se rc2.d se refere ao diretório padrão carregado pelo seu sistema,se for outro este deve mudar para rc3.d por exemplo,más tenho quase certeza que você não mudou o carregamento padrão,e não se assuste que isso não muda por acaso,só se você o fizer mesmo.

Para confirmar o Nível:

    #runlevel
    N 2

Você está no Nível 2,beleza! Voltando ao link:

/etc/rc2.d# ln -s /etc/init.d/rede S99rede

o S99 (S maiúsculo) deve ser usado,ele diz em que ordem o script é executado em relação aos outros existentes no carregamento.

Cliente

    /etc/init.d#vi rede2
    #!/bin/bash
    ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up
    route del default
    route del default gw 200.159.196.1

;-)


Notas

Foi utilizado neste tutorial o Debian sarge 3.1 kernel padrão com kernel 2.6.8 e sistema atualizado.

Todos os procedimentos aqui citados foram testados.

Referências

  • Linux Redes e Servidores, Carlos E. Morimoto

Autor

Leonardo Macedo Cerqueira "cROMADO"

Horários baseados na GMT -3. Agora são 10:02.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.