Demande #2995
fermé
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 plus de 6 ans.
Mis à jour il y a environ 5 ans.
Temps estimé:
(Total: 0:00 h)
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.
- Assigné à mis à François Poulain
- 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.
- Statut changé de Résolu à Fermé
Formats disponibles : Atom
PDF