adircastro
(usa Debian)
Enviado em 07/08/2007 - 20:40h
Estou com a seguinte situação: tenho 2 links, ambos via rádio e compartilhado, sem contar que tenho
problemas de perdas de pacotes e quedas constantes, além do DNS de um deles, do que mais utilizo, sempre
me deixar na mão. Constantemente tenho que fazer a troca manual de provedor, reiniciando o servidor a cada
troca, pois uso o brazilFW num disquete para um provedor, e o HD para o outro provedor. Imaginem o
problema.
Buscando minimizar essa situação vexatória, achei um scritp que proporciona ao dois links atuarem juntos, um
cedendo o lugar para o outro, quando o principal cair.
Criei o arquivo em /etc/init.d e dei permissão 777. Quando retiro o cabo da placa eth1, que é o link principal
com o IP 192.168.100.14, recebo a mensagem de "destino inacessível" ...somente o link reserva com o IP
10.10.0.186 na eth2, está acessando internet, o principal não funciona de jeito nenhum.
Segue abaixo meu iptables e o o script pra redundância que baixei na internet e adaptei para o meu caso. E
logo mais abaixo segue o arquivo com minhas configurações de placa de rede.
Será que há algo de errado neles?
Onde devo gravar o script que faz a redundância, que que permissão e como fazer com que ele realmente
atue, fazendo essa troca automática pra mim? Já li nos foruns que alguns conseguiram, mas não estou
acertando.
Se alguém puder me orientar, agradeço a todo tipo de ajuda.
CONFIGURAÇÕES INICIAIS DO IPTABLES
# /etc/init.d/iptables.conf
# Limpa e inicia os modulos
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat
#
# Proxy transparente - eth0 - rede local
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
#
# Compartilhando a internet - ethx - internet
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
----------------
/etc/init.d# cat redundance
#!/bin/sh
#
# Variaveis
# LAN
IF_LAN=eth0 # Interface LAN
IP_LAN='192.168.0.14' # IP da interface LAN
NET_LAN='192.168.0.0/24' # Faixa de IPs da LAN
#
# Link principal
IF_PRINCIPAL=eth1 # Interface do link principal - SK
IP_PRINCIPAL='192.168.100.14' # IP da interface do link principal
GW_PRINCIPAL='192.168.100.100' # IP do roteador do link principal
#
# Link reserva
IF_RESERVA=eth2 # Interface do link reserva - leolar
IP_RESERVA='10.10.0.186' # IP da interface do link reserva
GW_RESERVA='10.10.0.185' # IP do roteador do link reserva
#
# Ativa modulos
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
#
# Ativa roteamento no kernel
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#
# Define o timeout (em segundos) para o link reserva assumir
echo "10" > /proc/sys/net/ipv4/route/gc_timeout
#
# Adiciona rotas redundantes
ip route add default via $GW_PRINCIPAL dev $IF_PRINCIPAL
ip route append default via $GW_RESERVA dev $IF_RESERVA
ip route flush cache
#
# Ativa mascaramento de saida para as duas interfaces externas
$iptables -A POSTROUTING -t nat -s $NET_LAN -o $IF_PRINCIPAL -j MASQUERADE
$iptables -A POSTROUTING -t nat -s $NET_LAN -o $IF_RESERVA -j MASQUERADE
-----------------------
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.14
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
# dns-* options are implemented by the resolvconf package, if installed
#
# Segunda placa de rede
auto eth1
iface eth1 inet static
address 192.168.100.14
netmask 255.255.255.0
broadcast 192.168.100.255
network 192.168.100.0
gateway 192.168.100.100
#
# Terceira placa de rede
auto eth2
iface eth2 inet static
address 10.10.0.186
netmask 255.255.255.252
broadcast 10.10.0.255
network 10.10.0.0
gateway 10.10.0.185