Failover: 1 Máquina 2 Gateways

1. Failover: 1 Máquina 2 Gateways

Rubens José Rodrigues
rubensjrodrigues

(usa Ubuntu)

Enviado em 27/04/2017 - 15:21h

Cenário: Ubuntu 16.04.2 LTS / Apenas 1 NIC / APP Server em JAVA

Rede:
APP Server: <---- funcionando tudo ok nestas configurações
IP: 10.4.1.100
GW: 10.4.1.1

GW1: <---- funcionando tudo ok
IP:10.4.1.1

GW2: <----- Novo Link funcionando tudo ok
IP:10.4.1.2

Objetivo: Gostaria de criar um script que possa identificar se o GW1 estiver fora do ar, o APP Server possa automáticamente jogar o proprio default gaetway dele para GW2.

Não tenho necessidade de balancear os links, somente failover mesmo.

Andamento: Tentei adaptar o script abaixo, mas não consegui.

Podem me ajudar!?

# nohup > /dev/null /etc/init.d/failover.sh &
# Dados da interfaces de rede conectadas com a internet - Link 1
placa_rede_1=ens192
tabela_1=nome_tabela_1
gateway_1=10.4.1.1
peso_balanceamento_link_1=30

# Dados da interfaces de rede conectadas com a internet - Link 2
placa_rede_2=ens224
tabela_2=nome_tabela_2
gateway_2=10.4.1.2
peso_balanceamento_link_2=70

### Fim das Variáveis

#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

# Deletar a rota default
ip route del default

# Limpa as regras das tabelas
ip route flush table $tabela_1
ip route flush table $tabela_2

# Define a rota para as tabelas
ip route add default dev $placa_rede_1 via $gateway_1 table $tabela_1
ip route add default dev $placa_rede_2 via $gateway_2 table $tabela_2

ip route add default scope global nexthop via $gateway_1 dev $placa_rede_1 weight $peso_balanceamento_link_1 nexthop via $gateway_2 dev $placa_rede_2 weight $peso_balanceamento_link_2

# Aplicar as regras
ip route flush cache







  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts