script que altera o gateway

0

Eu tenho 2 servidores: mestre e escravo com o Ubuntu 16.04. O mestre está trabalhando como servidor do roteador e eu quero que o escravo assuma o controle do roteamento se o mestre estiver desligado.

Eu tenho 2 configurações de interface de rede no slave:

  1. / red_normal:

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
        address 192.168.100.3
        netmask 255.255.255.0
        gateway 192.168.100.1
        dns-nameserver 192.168.100.3
        dns-nameserver 192.168.100.1
        dns-nameserver 192.168.100.2
    
    #auto eth1
    #iface eth1 inet static
        #address 192.168.0.12
        #netmask 255.255.255.0
        #gateway 192.168.0.1
        #dns-nameserver 192.168.100.2
        #dns-nameserver 192.168.100.1
        #dns-nameserver 192.168.100.3"
    
  2. / red_contigencia:

    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    auto eth0
    iface eth0 inet static
        address 192.168.100.3
        netmask 255.255.255.0
        #gateway 192.168.100.1
        #dns-nameserver 192.168.100.3
        #dns-nameserver 192.168.100.1
        #dns-nameserver 192.168.100.2
    
    auto eth1
    iface eth1 inet static
         address 192.168.0.12
         netmask 255.255.255.0
         gateway 192.168.0.1
         dns-nameserver 192.168.100.2
         dns-nameserver 192.168.100.1
         dns-nameserver 192.168.100.3
    

Eu executo um script que altera essa interface se o servidor principal (LAN = 192.168.100.1 WAN = 192.168.0.11) estiver OFF fazendo checagem de ping: /kk.sh

#!/bin/bash
if  ! ping -c1 8.8.8.8 &>/dev/null
then
        if  ! ping -c1 192.168.0.11 &>/dev/null || ! ping -c1 192.168.100.1 &>/$
        then
                cp /red_contigencia /etc/network/interfaces;
                /etc/init.d/networking restart;
                ip route flush cache;
                route del default;
                ip addr flush eth0;
                ip addr flush eth1;
                ./scripts/firewall.sh;
                /etc/init.d/networking restart;
                touch /contingencia;
        fi
fi

if [ -e /contingencia ]
then
        if  ping -c1 192.168.0.11 &>/dev/null && ping -c1 192.168.100.1 &>/dev/$
        then
                cp /red_normal /etc/network/interfaces;
                ip addr flush eth0;
                ip addr flush eth1;
                /etc/init.d/networking restart;
                rm -rf /contingencia;
                echo ejecutando;
        fi
fi

Se eu tentar um ping na nova configuração com um cliente, ele não funcionará até que eu reinicie o servidor escravo. porque? Eu preciso trabalhar sem reiniciar.

THK.

    
por Sendoa Parada 24.10.2017 / 12:58

0 respostas