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