Bom Dia amigos de lista,

Amigos eu tenho um provedor de internet, e possuo 3 gateways de internet 

gateway1 = 192.168.254.1
gateway2 = 192.168.253.1
gateway3 = 192.168.252.1

utilizo ip route + iptables para determinar quais clientes saem pelo gateway1, 
gateway2, gateway3 segue script abaixo.

#Criado automaticamente

sudo echo 'Libera os Macs dos Gateways'
sudo /sbin/iptables -A FORWARD -m mac --mac-source 00:0B:23:03:AB:B2 -j ACCEPT
sudo /sbin/iptables -A FORWARD -m mac --mac-source 00:E0:7D:83:35:9E -j ACCEPT
sudo /sbin/iptables -A FORWARD -m mac --mac-source 00:19:5B:C4:90:5D -j ACCEPT
sudo /sbin/iptables -A FORWARD -m mac --mac-source 00:19:5B:C5:0E:F5 -j ACCEPT

sudo echo 'Libera o mac das maquinas'
sudo iptables -A FORWARD -m mac --mac-source 00:18:E7:0F:7E:AB -s 10.0.0.99 -j 
ACCEPT
sudo iptables -A FORWARD -m mac --mac-source 00:0E:2E:D9:48:09 -s 10.0.0.100 -j 
ACCEPT
sudo iptables -A FORWARD -m mac --mac-source 00:40:F4:DD:2F:DB -s 10.0.0.237 -j 
ACCEPT


sudo echo 'Mascara as saidas para os tres Gateways'
sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo echo 'Marca  os pacotes de fora pra dentro e de dentro pra fora'

sudo echo 'Libera o CPF: 090244277-54'
sudo /sbin/iptables -t mangle -A PREROUTING -i eth1 -s 10.0.0.99 -j MARK 
--set-mark 1
sudo /sbin/iptables -t mangle -A OUTPUT -s 10.0.0.99 -j MARK --set-mark 1

sudo echo 'Libera o CPF: 089279577-84'
sudo /sbin/iptables -t mangle -A PREROUTING -i eth1 -s 10.0.0.100 -j MARK 
--set-mark 2
sudo /sbin/iptables -t mangle -A OUTPUT -s 10.0.0.100 -j MARK --set-mark 2

sudo echo 'Libera o CPF: 057332957-59'
sudo /sbin/iptables -t mangle -A PREROUTING -i eth1 -s 10.0.0.237 -j MARK 
--set-mark 3
sudo /sbin/iptables -t mangle -A OUTPUT -s 10.0.0.237 -j MARK --set-mark 3

sudo echo 'Encaminha os pacotes para as respectivas tabelas de rotas'
sudo ip rule add fwmark 1 table link1 prio 20
sudo ip rule add fwmark 2 table link2 prio 20
sudo ip rule add fwmark 3 table link3 prio 20

sudo echo 'Crias as rotas para as respectivas tabelas de rotas'
sudo ip route add default via 192.168.254.1 dev eth0 table link1
sudo ip route add default via 192.168.253.1 dev eth0 table link2
sudo ip route add default via 192.168.252.1 dev eth0 table link3

sudo echo 'LIMPA tabela de roteamento CACHE'
sudo ip route flush cache

sudo echo 'NEGA O RESTANTE DOS MAC ADDRESS'
sudo iptables -A FORWARD -m mac --mac-source ! FF:FF:FF:FF:FF:FF -j DROP

sudo echo 'CONCLUIDO'

esse foi so um trecho do script uma vez que o script original tem muito mais 
linhas.

então, isso funicona perfeitamente, porem tem um negocio que eu queria ver se 
dava para implementar que seria algo mais dinamico, por que se o link1 
(gateway1) cair o cliente que esta marcado para sair pelo link1 simplemente 
para da fuincionar, eu queria saber se algum amigo de forum sabe uma forma de 
fazer com que ao cair o link1 (ou 2 ou 3) o cliente que esta direcionado a sair 
pelo link1 saia pelo link2, mas isso tem que ser somente se o link1 cair e nao 
alternadamente.

fico no aguardo de uma ajuda

atenciosamente
Bruno Almeida






_________________________________________________________________
Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
http://www.amigosdomessenger.com.br/
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a