Projet

Général

Profil

Demande #2995

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

Ajouté par François Poulain il y a environ 6 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Catégorie:
-
Version cible:
Début:
08/03/2018
Echéance:
% réalisé:

100%

Temps estimé:
(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.


Sous-tâches

Demande #3005: Valider la bascule réseau de guaranaFerméChristian P. Momon

Actions

Historique

#1

Mis à jour par François Poulain il y a environ 6 ans

  • Assigné à mis à François Poulain
#2

Mis à jour par François Poulain il y a environ 6 ans

  • Statut changé de Nouveau à 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.

#4

Mis à jour par Quentin Gibeaux il y a presque 5 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF