Project

General

Profile

Actions

Demande #2995

closed

Demande #1903: Commander, installer une machine comme passerelle réseau pour le local / réinstaller/remplancer Opium ?

Guarana: remettre un script de changement de route pour la liaison de secours

Added by François Poulain over 6 years ago. Updated almost 5 years ago.

Status:
Fermé
Priority:
Normale
Category:
-
Target version:
Start date:
03/08/2018
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)
Difficulté:
2 Facile

Description

Depuis la migration de Opium->Guarana, cette fonctionnalité n'a pas été remise en route. Elle nécessite un présence au local car il y a de forts risques de perte d'accès.


Subtasks 1 (0 open1 closed)

Demande #3005: Valider la bascule réseau de guaranaFerméChristian P. Momon03/08/2018

Actions
Actions #1

Updated by François Poulain over 6 years ago

  • Assignee set to François Poulain
Actions #2

Updated by François Poulain over 6 years ago

  • Status changed from Nouveau to Résolu

J'ai repris et installé le script de changement de route.

#!/bin/bash
# Script de changement de route
# kankan_01, 21 Août 2013
# PoluX, 19 mars 2018
# This work is free. You can redistribute it and/or modify it under the
# terms of the Do What The Fuck You Want To Public License, Version 2,
# as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.

function restartasterisk()
{
    if [ "$newnet" == "ee" ]
    then
        ssh root@192.168.3.4 "ln -sf /etc/asterisk/sip.conf.ee /etc/asterisk/sip.conf" 
    elif [ "$newnet" == "bbox" ]
    then
        ssh root@192.168.3.4 "ln -sf /etc/asterisk/sip.conf.april /etc/asterisk/sip.conf" 
    fi

    ssh root@192.168.3.4 "asterisk -rx 'sip reload'" 
}

function getcurrentroute()
{
    echo $(/sbin/ip route | grep 'default' | awk '{print $3}')
}

currentroute=$(getcurrentroute)

function getcurrentnet()
{
    if   [ "$currentroute" == "192.168.1.254" ]
    then
        echo "bbox" 
    elif [ "$currentroute" == "10.2.0.1" ]
    then
        echo "ee" 
    else
        echo -e "Erreur : impossible de déterminer le réseau courant.\nIl est possible que la configuration réseau ai été changée à la main,\nou qu'il y ai eu un problème lors de l'initialisation du réseau.\nVeuillez vérifier manuellement la liste des règles de routage :\n";
        /sbin/ip route
        exit 1;
    fi
}

currentnet=$(getcurrentnet)
echo "Réseau courant : $currentnet" 

##Réseau par défaut : bbox
if [ "$1" == "" ]
then
    echo 'Pas de changement de réseau demandé'
    exit 0
elif [ "$1" == "ee" ]
then
    newnet="ee" 
else
    newnet="bbox" 
fi

echo "Réseau demandé : $newnet" 

if [[ "$newnet" == "$currentnet" ]]
then
    echo 'Le réseau demandé est déjà le réseau actuel'
else

    if [ "$newnet" == "ee" ]
           then
        /sbin/ip route del default via 192.168.1.254 dev enp6s0
        /sbin/ip route add default via 10.2.0.1      dev enp0s31f6
    else
        /sbin/ip route del default via 10.2.0.1      dev enp0s31f6
        /sbin/ip route add default via 192.168.1.254 dev enp6s0
    fi

    echo 'Réseau changé.'
    currentroute=$(getcurrentroute)
    currentnet=$(getcurrentnet)
    echo "Nouveau réseau courant : $currentnet" 

    echo "Redémarrage du serveur Asterisk" 
    restartasterisk    

    echo "Flush conntrack" 
    conntrack -F

    echo 'Redémarrage VPN'
    /etc/init.d/openvpn restart
fi

C'est testé bbox -> ee et ee -> bbox.

Actions #4

Updated by Quentin Gibeaux over 5 years ago

  • Status changed from Résolu to Fermé
Actions

Also available in: Atom PDF