+ Responder ao Tópico



  1. #1

    Padrão Tutorial, compartilhando a conexão com duas placas de rede

    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
    #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.

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

    Servidor

    Se você acessa via ADSL,é recomendável manter o modem configurado como 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" .

    placa de rede
    #ifconfig eth0 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 192.168.0.2 netmask 255.255.255.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
    agora execute os comandos
    [quote] #echo 1 > /proc/sys/net/ipv4/ip_forward[/quote]
    #iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -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 :

    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
    Cliente

    Com os módulos levantados,configure o Ip e a máscara de rede.

    #ifconfig eth0 192.168.0.3 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
    nameserver 200.204.0.10
    nameserver 200.204.0.10
    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 192.168.0.2
    Nosso gateway é o ip da placa que se conecta com a internet do micro servidor.

    Dê um ping nás máquinas,para ver se tudo está funcionando.

    No servidor
    #ping 192.168.0.3

    No cliente

    #ping 192.168.0.1
    #ping 192.168.0.2
    Conecte o servidor

    #pon dsl-provider
    pronto!,nossa rede já esta funcionando .

    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

    /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
    [quote]#vi rede[/QUOTE]

    no arquivo coloque


    #!/bin/bash
    ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
    ifconfig eth1 192.168.0.2 netmask 255.255.255.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 ppp0 -j MASQUERADE
    vamos visualizar :

    /etc/init.d# cat rede
    #!/bin/bash
    ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
    ifconfig eth1 192.168.0.2 netmask 255.255.255.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 ppp0 -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.3 netmask 255.255.255.0 up
    route del default
    route del default gw 192.168.0.2
    ;-)




    Notas:
    Debian sarge 3.1 kernel padrão 2.6.8-*
    sistema atualizado
    tudo foi previamente testado
    referências:
    Linux Redes e Servidores,Carlos E. Morimoto
    Última edição por cROMADO; 31-03-2007 às 08:59.