[1] Comentário enviado por
wellington79 em 12/09/2009 - 13:59h:
Muito bom !!! Adorei vou testar.
[2] Comentário enviado por
LPI em 12/09/2009 - 14:16h:
Qualquer Duvida ou problema, meu email é lucas@hexato.com.br, se precisar de algo é só entrar em contato, ficarei feliz em ajudar.
[3] Comentário enviado por
guilhermerezende em 12/09/2009 - 15:55h:
Amigo, não funciona. Talvez você ainda não percebeu os problemas de irá enfrentar em conexões seguras e sites "balanceados". Esse método que está mostrando até funciona, com ip´s válidos e sem sofrer NAT. Eu estou a 5 anos procurando uma solução que balanceie conexões oriundas de NAT sem nenhum problema. Segue outro exemplo p/ pesquisa que ja tentei e tbm não consegui, enfrentando o mesmo problema citado acima. Da uma pesquisada e qualquer novidade poste aqui.
Abs!!!
# initialise two chains that will put the mark on the packet and keep it in memory
iptables -t mangle -N CONNMARK1
iptables -t mangle -A CONNMARK1 -j MARK --set-mark 1
iptables -t mangle -A CONNMARK1 -j CONNMARK --save-mark
iptables -t mangle -N CONNMARK2
iptables -t mangle -A CONNMARK2 -j MARK --set-mark 2
iptables -t mangle -A CONNMARK2 -j CONNMARK --save-mark
# get the mark on packet that belongs to an existing connection
iptables -t mangle -A PREROUTING -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
# if the mark is zero if means the packet does not belongs to any existing connection
iptables -t mangle -A PREROUTING -p tcp -m state --state NEW -m statistic --mode nth --every 2 --packet 0 -j CONNMARK1
iptables -t mangle -A PREROUTING -p tcp -m state --state NEW -m statistic --mode nth --every 2 --packet 1 -j CONNMARK2
[4] Comentário enviado por
LPI em 12/09/2009 - 17:08h:
Ola, não entendi exatamente sua duvida, voce só vai utilizar o MARK, se desejar estipular o link pelo qual cada pacote vai passar, mais poste aqui, ou me mande um email, explicando realmente o seu Problema.
Att
Lucas Ruan
[5] Comentário enviado por
alexandre_mpm em 14/09/2009 - 10:39h:
Cara parabens pelo seu artigo, gostei muito mesmo. Isso realmente funciona! Porem tem um problema que se vc acessar sites de banco a conexão fica caindo toda hora quase impossível de fazer uma transação bancária para resolver isso, tem que criar uma regra na tabela magle, marcando o pacote e depois indicar por qual interface vai sair. Ficaria mais ou menos assim:
iptables -A PREROUTING -t mangle -p tcp --dport 443 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4
acredito que seja assim
ip rule fwmark 4 lookup (TABELA DE REGRAS)prio 3 >> /dev/null
[6] Comentário enviado por
LPI em 14/09/2009 - 10:44h:
Ola, cara aqui utilizei desse modo e minha conexão com sites HTTPS continuaram funcionando perfeitamente...
Nessa Regra de MARK que vc sitou a cima, é para marcar os pacotes destinados a sites HTTPS saiam apenas por uma determinada Faixa de IP, no seu caso vc deve utilizar o Balanceamento em apenas uma rede Interna...
No meu caso tive que fazer em duas redes Internas, oq me Impossibilita a usar essa Regra..
Att
Lucas Ruan
[7] Comentário enviado por
info24hs em 14/09/2009 - 11:56h:
Amigo.. faltou a redundancia.. não encontrei ela.
[8] Comentário enviado por
LPI em 14/09/2009 - 13:42h:
A redundancia em muita distribuições é feita apenas por essa regra :
ip ro add default scope global equalize nexthop via $NET_EXT_GW1 weight 1 nexthop via $NET_EXT_GW2 weight 1
abraçosss
Att
Lucas Ruan
[9] Comentário enviado por
info24hs em 14/09/2009 - 14:50h:
Amigo.. estas enganado, o comando ip route ... nexthop serve apenas para balancear a saída das conexões.. e quando um link cair como é que fica?
[10] Comentário enviado por
LPI em 14/09/2009 - 14:53h:
Cara vc pode usar a seguinte regra se preferir, essa não esta 100% ainda, mais é só adicionar algumas regras e sera o bastante :
ROTALINK1=`xxx.xxx.xxx.xxx`
ROTALINK2=`yyy.yyy.yyy.yyy`
If ( ping –I eth0
www.terra.com.br –c 2) && ( ping –I eth2
www.terra.com.br –c 2);then
$LINK=`cat /var/log/link`
if [ $LINK == 0 ];then
Limpar rotas
Script_balanceamento_dois_links
echo >/var/log/link
fi
else
if (ping –I eth0
www.terra.com.br –c2 );then
Limpar rotas
route add default gw $ROTALINK1
echo 0 >/var/log/link
else
Limpar rotas
Route add default gw $ROTALINK2
echo 0 >/var/log/link
fi
fi
Acho que isso já da conta do recado…o ping –I pinga direto pela interface...o resto já fala por si só..
Da para melhorar, tipo status para link1, link2 ou dois links... nesse caso acima eu somente usei dois status 0 ou 1, para balanceamento ou algum link fora.
Faz um teste e me avisa.
Att
Lucas Ruan
[11] Comentário enviado por
doomk em 25/09/2009 - 12:03h:
elaborei um script de failover para redundância com 3 links de internet, no momento está a 6 meses em produção sem nenhum problema.
aki na empresa funciona da seguinte forma:
temos os seguintes links,
4mb - ajato
1mb - transit
12mb - virtua
conexões http,https - saem pelo virtua
conexões ssh - sai pelo transit
conexões ftp,email - saem pelo ajato
como temos uma banda muito boa pra saida de internet, não precisei me preocupar com balanceamento e sim com redundância, precisei elaborar um script que, caso um desses links caiam, automaticamente teria q ser feito um chaveamento, quase que imperceptível.
está rolando na boa, e faz um bom tempo que não ouço mais akela famosa frase: A INTERNET CAIU???? ESTAMOS SEM INTERNET???? CADE O MENININHO DO SUPORTE???? kkkk
quem tiver necessitanto de uma solução semelhante a minha, é só me contactar.
abraço a todos.
[12] Comentário enviado por
eeds em 25/09/2011 - 02:30h:
Exelente material me ajudou muito, só que o msn fica desconectando se você tiver uma solução eu agradeço muito .
[13] Comentário enviado por
eabreu em 09/03/2012 - 14:50h:
Amig LPI,
Lendo seu artigo Balanceamento de link + redundância, fiquei com uma dúvida: a redundância neste artigo é feita de que maneira ?
Se não foi postada como posso fazer essa redundância com base nas informações do artigo, pode me ajudar ?
Grato pela Atenção
Att
Edson de Abreu Oliveira
[14] Comentário enviado por
afajalves em 25/04/2012 - 10:24h:
Lucas, bom dia
Gostei muito do seu artigo mais tenho algumas duvidas.
teria como vc me passar seu e-mail ou me adicionar no Skype ou msn
Skype: in5_ajunior
msn: afajalves@uol.com.br
desde já agradeço e parabens pelo artigo