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
Vamos descobrir o modelo da nossa placa de redeinternet<--->modem<--cabo straight-->Pc1<--crossfire-->pc2
Este exemplo é o meu caso,e podemos ver que os chipsets das placas são respectivamente SIS900 e Realtek 8139.#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)
Vamos ver se o módulo que abilita a placa esta levantado
Neste caso esta levantado,se fosse o contrário poderiamos fazer o seguinte :#lsmod
8139too
sis900
modprobe [nome do modulo]
Os módulos ficam na pasta#modprobe 8139too
* versão do seu kernel#cd /lib/modules/2.6.8-2-386*/kernel/drivers/net
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.
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 ...#/usr/sbin/pppoeconf
Verificando as placas
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
placa de rede
o "UP" é usado caso a placa não esteja levantada,caso contrário não use.#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
Placa que tem a conexão com a internet
As placas devem ser configuradas nesta ordem,primeiro a placa de rede depois a da internet .#ifconfig eth1 192.168.0.2 netmask 255.255.255.0 up
Agora os comandos de Firewall que ativam o compartilhamento.
Veja se os módulos subiram corretamente#modprobe iptable_nat
agora execute os comandos#lsmod | grep ip
[quote] #echo 1 > /proc/sys/net/ipv4/ip_forward[/quote]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 eth0 -j MASQUERADE
Clienteiptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
Com os módulos levantados,configure o Ip e a máscara de rede.
Temos que configurar o servidor DNS.#ifconfig eth0 192.168.0.3 netmask 255.255.255.0 up
#ifconfig
coloque os servidores no arquivo /etc/resolv.conf
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.#vi /etc/resolv.conf
search lan
nameserver 200.204.0.10
nameserver 200.204.0.10
Apagando configurações anteriores.
#route del defaultNosso gateway é o ip da placa que se conecta com a internet do micro servidor.#route add default gw 192.168.0.2
Dê um ping nás máquinas,para ver se tudo está funcionando.
No servidor
#ping 192.168.0.3
No cliente
Conecte o servidor#ping 192.168.0.1
#ping 192.168.0.2
pronto!,nossa rede já esta funcionando .#pon dsl-provider
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
vamos visualizar :#!/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# 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
Agora vamos criar o link que vai carregar no boot o arquivo criado./etc/init.d# chmod +x rede
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
N 2#runlevel
Você está no Nível 2,beleza!
voltando ao link
o S99 (S maiúsculo) deve ser usado,ele diz em que ordem o script é executado em relação aos outros existentes no carregamento./etc/rc2.d# ln -s /etc/init.d/rede S99rede
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