Por favor, veja o roteamento avançado Linux & Documentação de Controle de Tráfego para "Roteamento para vários uplinks / provedores" aqui:
Eu tenho um servidor Linux rodando Debian que atua como um roteador / gateway para uma rede.
O servidor possui 3 NICs na eth0 é o principal ISP, na eth1 o ISP de backup e na eth2 da rede.
É possível configurar um script ou algo que irá verificar se a conexão com o provedor principal é para cima e se não para alternar (e configurar as rotas corretamente) para o provedor de backup?
Por favor, veja o roteamento avançado Linux & Documentação de Controle de Tráfego para "Roteamento para vários uplinks / provedores" aqui:
Você pode ler os métodos de verificação de status do gateway no linux / bsd é semelhante ao que você está pedindo.
Para responder você pergunta com precisão. Você tem normalmente 2 endereços IP públicos, um na eth0 e outro na eth1.
Você pode escrever um script que tente fazer o ping do gateway padrão do isp1 (no eth0) e mudar para o eth1 se o ping falhar. Mas isso só mudará quando o link ao seu lado estiver inativo (como a linha DSL desativada), mas não devido a uma interrupção na rede do provedor porque o seu gateway continuará pingando.
Então você provavelmente o que:
1.Ping gateway padrão do ISP1
2. Ping www.google.com ou qualquer outra coisa que seja confiável
3. Verifique o paquet na eth0 com o tcpdump 3.
Se 1 estiver inativo, você deve mudar o gatway defaut para o ISP2 gatway IP.
Se 1 é Ok, mas 2 é Ko, pode ser que é o google, pode ser uma interrupção no lado do ISP, você pode tentar outro serviço bem conhecido yahoo.com, microsoft.com se todos são Ko você provavelmente quer mudar para o ISP2. Você pode usar 3 aqui para ver se ainda recebe pacotes da internet.
Dependendo da sua distribuição, você certamente tem algum script ifup / ifdown em algum lugar em / etc, quando uma interface é ativada e desativada. Isso também pode ser usado para alternar o gateway. Eles serão chamados somente quando você perder o link de ethernet.
Na verdade, a redundância real da conexão com a Internet só é obtida usando-se o BPG como um Sistema Autônomo . Dessa forma, você pode ter qualquer número de uplinks de qualquer número de ISPs, que apontarão para o (s) seu (s) endereço (s) IP, que serão Enquanto o tópico de adquirir ASN & configurar BGP está fora do escopo da questão original, eu acho que é importante mencionar, no entanto. Se você se sentir interessado, aqui está um guia com o qual você pode começar:
Que tal fazer isso no roteador?
Os roteadores Draytek 2910 (ethernet) e 2820 (ADSL) suportam duas portas WAN com balanceamento de carga e failover. O roteador 3300 mais caro suporta 4 portas WAN.
JR
Nós temos um servidor Linux (um Raspberry Pi rodando Debian) que funciona como um gateway. O servidor linux tem 2 conexões de internet e executa serviços DHCP e NAT para o resto da rede.
Sua conexão de Internet primária é via gateway 192.168.3.1 (um pen drive USB 4G) e há uma conexão ADSL de backup em 192.168.1.1
Este script testa a conexão com a Internet no gateway 192.168.3.1 para ver se está funcionando (fazendo ping em um servidor DNS público de nível 3). Se a verificação da Internet falhar, ele enviará todo o tráfego para o gateway de backup 192.168.1.1
Ele também registra quando a conexão principal falha em /var/log/4glog.txt
#!/bin/bash
/sbin/route add 209.244.0.3 gw 192.168.3.1
if ping -c1 209.244.0.3 ; then
echo 4G Up
/sbin/route del default gw 192.168.1.1
/sbin/route add default gw 192.168.3.1
else
echo 4G Down
echo 'date' 4G Down >> /var/log/4glog.txt
/sbin/route del default gw 192.168.3.1
/sbin/route add default gw 192.168.1.1
fi
/sbin/route del 209.244.0.3
Execute este script no cron para manter automaticamente o gateway acessando a Internet.