Escolar Documentos
Profissional Documentos
Cultura Documentos
Failover + Failback
gieri
[ Hits: 22.421 ]
Introdução
Como minha necessidade era urgente adquiri o Roteador TP-Link TL-R470T, que me
permitiu usufruir de todas essas funcionalidades, posso dizer que só tenho elogios ao
mesmo. No entanto sempre tive o desejo de fazer funcionar com minhas próprias mãos
e utilizando o GNU/Linux. Após muito tempo com inúmeras tentativas conseguir fazer
funcionar todas essas funções, neste artigo mostrarei como fazê-las.
Este artigo será dividido em partes, de modo que, seguido todos os passos ou até apenas
um, o leitor terá a capacidade de implementá-los. Todos os dados/comandos utilizados
neste artigo foram obtidos da internet durante os últimos anos, desta forma existem
dezenas de partes adquiridas de fontes diversas e algumas funções desenvolvidas por
mim.
Requisitos:
iproute2
iptables
Configurações:
200 nome_tabela_1
201 nome_tabela_2
Observação: não defina nenhum gateway na configuração das placas de rede, pois o
balanceamento não será reconhecido e o sistema utilizará apenas o gateway default.
Utilizaremos como base uma pasta criada na raiz do sistema com o nome internet, onde
ficaram os arquivos para balanceamento de link e migração de link, ficando assim:
/internet/
/internet/balanceamento.sh
Conteúdo do arquivo "balanceamento.sh":
#Carregar módulos
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ipt_MARK
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
# O uso do rp_filter faz o firewall sempre responder aos pacotes na mesma interface da
qual eles foram originados, prevenindo previne ataques diversos tentem tirar proveito da
regra que permite conexões na interface de loopback.
# No entanto faz com que o balanceamento seja menor, obrigando os pacotes irem
sempre pelas mesmas interfaces
# Zero (0) para desativado e (1) para ativado
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# Aplicar as regras
ip route flush cache
# Compartilha a conexão
iptables -t nat -A POSTROUTING -o $placa_rede_1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $placa_rede_2 -j MASQUERADE
/internet/failover.sh.
#!/bin/bash
while [ $i -le 10 ];
do
sleep $tempo_espera
done