[MASOCH-L] Script de balanceamanto

Rejaine Monteiro rejaine at bhz.jamef.com.br
Thu Nov 11 17:37:57 BRST 2010


Pessoal

Estou usando um script de balanceamento e tem funcionado normalmente. Só
estranho o fato de que as vezes, o acesso a uma página da Internet
parece ficar "preso" e ao dar um F5  ou ao clicar em um link novamente,
para recarregar a página, a mesma é aberta instantaneamente e por isso
estou com receio do script estar incorreto e consequentemente
comprometendo a performance de uso da Internet de forma geral.

Por isso peço a ajuda de vocês para avaliar se há algo errado aqui,
apesar de acreditar também que possa ser algo relacionado à má qualidade
do link ADSL , claro...

A marcação dos pacotes é feito por um script de firewall à parte e ao
final  é executado o script de balanceamento abaixo.
A ideia é direcionar todos os pacotes de saída HTTP (80/TCP) para a
internet ADSL, deixando o link principal Embratel livre para correio
eletrônico e aplicação WEB da empresa.
O iptraf demonstra que os pacotes marcados estão de fato saindo pelo
link ADSL e tudo funciona relativamente bem (salvo pela observação
citada anteriormente)
Uso tambem' um script para monitorar (pingar) a conexão via ADSL e
derrubar a interface da ADSL em caso de problemas de conexão... Enfim...

Qualquer ajuda será bem vinda

==============================
#!/bin/bash
#Script de balanceamento

# Resetando tabelas de rotas, padrao do sistema
echo "255 local" > /etc/iproute2/rt_tables
echo "254 main" >> /etc/iproute2/rt_tables
echo "253 default" >> /etc/iproute2/rt_tables
echo "0 unspec" >> /etc/iproute2/rt_tables

#Setando variaveis
#IPD:LINK INTERNET EMBRATEL (ROTA DEFAULT)
#DSL: LINK ADSL (USADO PARA SAIDA DOS PACOTES MARCADOS (80/TCP) PARA
INTERNET)
export IPD_DEV=eth1
export IPD_IP="200.243.222.66"
export IPD_GW="200.243.222.65"
export IPD_NET="$IPD_IP/27"
export DSL_DEV=eth2
export DSL_IP="192.168.1.2"
export DSL_GW="192.168.1.1"
export DSL_NET="$DSL_GW/24"

#limpando rotas default
route del default gw $IPD_GW
route del default gw $DSL_GW

#Removendo detecao de pacotes marcianos
for eee in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 0 > $eee
done
cat /proc/sys/net/ipv4/conf/*/rp_filter


#load balancing
ip rule del fwmark 3
ip route del table 30
ip rule add fwmark 3 lookup 30 prio 30
ip route add default via $DSL_GW dev $DSL_DEV table 30
ip rule del from $IPD_IP
ip rule del from $DSL_IP
ip rule add prio 10 from $IPD_IP table 10
ip route del default via $IPD_GW dev $IPD_DEV src $IPD_IP proto static
table 10
ip route add default via $IPD_GW dev $IPD_DEV src $IPD_IP proto static
table 10
ip rule add prio 11 from $DSL_IP table 11
ip route del default via $DSL_GW dev $DSL_DEV src $DSL_IP proto static
table 11
ip route add default via $DSL_GW dev $DSL_DEV src $DSL_IP proto static
table 11

#adicionando routa default para Embratel (pacotes nao marcados devem
sair por aqui)
ip route add default via $IPD_GW

#atualizar tabelas de roteamento
ip route flush cache
route -n

==============================



More information about the masoch-l mailing list