A primeira regra no arquivo de configuração fazem que os clientes da faixa 192.168.1.0/24 saiam nateado pelo ip 187.64.174.186 que é meu IP do link principal.
A outra regra só vai funcionar caso o primeiro link fique indisponível e assim o segundo link vai assumir e todos os clientes vão sair pelo ip 186.68.173.182.
Neste momento todos seus clientes estão navegando.
Agora vem o Ifstated a parte mais importante desse artigo.
Vamos fazer um backup do arquivo de configuração padrão o ifstated.conf.
#mv /usr/local/etc/ifstated.conf /usr/local/etc/ifstated.conf.old
Vamos criar um novo ifstated.conf com as novas configurações.
#ee /usr/local/etc/ifstated.conf
init-state master if_up="re1.link.up"
net = '( "ping -q -c 1 -t 1 187.64.174.85 > /dev/null" every 5 )'
state master {
if ( $net) {
run "route delete default && route add default 187.64.174.85" }
if ( ! $net) {
run "route delete default && route add default 186.68.173.181" }
}
Veja que o arquivo de configuração não tem segredo nenhum.
Ele faz uma checagem de ping no seu gateway principal 187.64.174.85 a cada 5 segundos e caso nesse tempo o gateway fique indisponível ele vai alterar a rota para o 186.68.173.181. Depois de 5 segundo ele faz um checagem novamente o gateway principal e caso ele volte a ficar disponível, automaticamente vai alterar a rota para o gateway principal.
Você pode escolher para fazer a checagem de ping no gateway do seu roteador e também diminuir ou aumentar o tempo de checagem, isso depende de você.
Feito tudo isso preciso colocar daemon para fazer a checagem, digitando:
#ifstated -f /usr/local/etc/ifstated.conf
Pronto, agora o daemon está rodando e checando seu link a cada 5 segundos e assim temos um alta disponibilidade.
Mas agora você se pergunta, e se o servidor reiniciar o que vai acontecer?
Isso é um problema porque esse daemon não vai ser carregado automaticamente e sendo