prioridades nas rotas sobre ppp

1. prioridades nas rotas sobre ppp

davi
tosko

(usa Debian)

Enviado em 01/08/2010 - 16:33h

Ola boa tarde a todos.

Seguinte, tenho 2 links adsl em um servidor fazendo balanceamento de serviços (80 e 443 vai pro ppp1 e o resto pro ppp0), ok esta tudo funcionando.

o problema é o seguinte, no meu script que monta o balanceamento consta as linhas pon adsleth0 e pon adsleth1 que inicia os ppp, so que é o seguinte, as vezes o ppp1 inicia primeiro do que o ppp0 e as vezes o ppp0 inicia primeiro que o ppp1 e isto gera um problema porque na tabela de roteamento padrão do sistema as vezes o ppp1 ta em cima e as vezes o ppp0 esta em cima, e como o sistema rotea de acordo com a primeira rota que se encaixe se o ppp1 estiver em cima TUDO vai passar por ele e o ppp0 ficara inutilizado, já que eu só criei regras de direcionamento de 80 e 443 e o resto passa pela rota padrão

segue o meu scripts de inicialização pra ficar mais claro:

pon adsleth0
pon adsleth1

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE


iptables -t mangle -A PREROUTING -i eth2 -p tcp --dport 80 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -i eth2 -p tcp --dport 443 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 2
ip rule add fwmark 2 table link2
ip route add default dev ppp1 table link2
ip route del default dev ppp1


a solução (gambiarra) que eu encontrei foi colocar esta ultima linha "ip route del default dev ppp1" porem, isto não fica perfeito, porque as vezes o sistema inicia e as discagens nem concluiram então como o sistema não monta o ppp1 nem o ppp0 então as rotas tambem nao são montadas e nada funciona, resumindo tenho que resolver muita coisa manualmente e se um dia eu não tiver aqui e a maquina for reiniciada é sujeito não levantar tudo pra funcionar o roteamento automaticamente. uma ideia que eu tive foi de que tipo depois da regra pon adsleth0 eu colocar tipo um tempo, de uns 15 segundos ai ele continua pon adsleth1 (mais 15 segundos) ai continua carregando o resto do script, se alguem souber fazer isto ou alguma solução melhor favor estou aqui para aprender.

Valeu des de já.




  


2. Re: prioridades nas rotas sobre ppp

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 02/08/2010 - 08:27h

Esse é o lance. Pra vc fazer esperar por 15 segundos (por exemplo), é só acrescentar esta linha abaixo no momento q a primeira interface subir:

sleep 15

Sendo q 15 é em segundos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts