Outils pour utilisateurs

Outils du site


Panneau latéral

Vie de l'asso

Outils de travail

Bureau

Communication

Adminsys

Réseau

Services

ADSL/VDSL

WiFi

VPN

Hébergement de machines

Législatif et politique

Matériels

Transparence

Café vie privée

adminsys:routeur_abonne_acces_secours_smartphone

Configurer un accès de secours (via ordiphone) sur un routeur abonné

Voir aussi : Préparation d'un routeur abonné

Pour les accès fixes opérés par FAImaison (xDSL ou réseaux de quartier), on peut souhaiter, en cas de panne, suppléer à la connexion FAImaison.

Ce guide s'attache à détailler la mise en place d'une connexion de secours, à l'aide du routeur abonné et d'un ordiphone. Ce montage a l'avantage de ne bien souvent requérir aucun matériel supplémentaire.

Fonctionnement

Il faut un ordiphone disposant d'un forfait internet mobile et un routeur abonné tournant avec OpenWRT, et disposant d'un port USB.

  • La bascule vers la connexion du téléphone se fait dès que l'on branche le téléphone au routeur en USB et qu'on active le partage de connexion (tethering) sur l'ordiphone.
  • On repasse sur la connexion principale quand on débranche l'ordiphone du routeur.

On prendra le cas d'un ordiphone sous Android 7 et d'un routeur Sagem PlusNet Hub One, mais la configuration doit pouvoir s'adapter aisément à d'autres matériels.

Procédure de configuration initiale

Étape 1 : Installation des modules

On se connecte en SSH au routeur abonné, puis on installe les modules nécessaires à l'exploitation d'un smartphone comme carte réseau via USB :

opkg update
opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether

Étape 2 : ajout de l'interface TetheringWAN

Si on branche le smartphone et que l'on active le partage de connexion via USB ; on devrait voir apparaître une nouvelle interface réseau usb0. On peut le vérifier à l'aide de la commande ip -br link.

Il faut ensuite ajouter et configure une nouvelle interface virtuelle (notion OpenWRT) :

uci set network.TetheringWAN=interface
uci set network.TetheringWAN.proto='dhcp'
uci set network.TetheringWAN.ifname='usb0'
uci set firewall.@zone[1].network='wan wan6 TetheringWAN'
uci commit

ifup TetheringWAN

Si on teste à ce stade, le trafic doit passer par l'ordiphone (on peut vérifier la route par défaut via ip route).

Étape 3 : retour à la normale

Ce qui ne marche pas encore, c'est le retour à la normale : si on débranche l'ordiphone, on a plus rien ; alors que l'on souhaiterait se remettre à utiliser l'interface réseau WAN par défaut.

Pour cela, on va utiliser le mécanisme d'évènements d'OpenWRT afin de détecter l'arrêt de l'interface TetheringWAN et réagir en relançant l'interface WAN.

Créer un fichier /etc/hotplug.d/iface/10-resume-wan-after-fallback avec le contenu suivant :

if [ "$ACTION" = "ifdown" -a "$INTERFACE" = "TetheringWAN" ]
then
    ifup wan
fi

Penser à rendre ce fichier exécutable :

chmod +x /etc/hotplug.d/iface/10-resume-wan-after-fallback

Voilà c'est fini, la bascule doit fonctionner dans les deux sens en réagissant au branchement/débranchement de l'ordiphone.

En avant pour des pannes sereines ! 8-)

Documenter la procédure sur place

Dans le cas notamment d'un lieu partagé, il est intéressant de documenter la procédure de bascule sur l'accès de secours par écrit. C'est l'objet de cette affichette : procedure_acces_internet_de_secours_via_smartphone.odt

BONUS : indiquer l'état de la connexion à l'aide des LED du routeur

Le routeur utilisé ayant une led pour afficher son état, autant en profiter pour mettre en évidence l’état du réseau (bleu : ok, rouge : plus de réseau).

S’assurer que le service cron est activé :

# /etc/init.d/cron enable
# /etc/init.d/cron start

Ajouter la tâche suivante :

* * * * * ping -c 1 vpn.faimaison.net > /dev/null && /root/led blue || /root/led red

Et le script à placer dans /root/led :

#!/bin/sh
 
set_state()
{
    local color=$1
    local state=$2
 
    echo "$state" > "/sys/class/leds/bthomehubv5a:$color:power/trigger"
}
 
reset()
{
    for color in green red blue
    do
        set_state "$color" 'default-on'
        set_state "$color" 'none'
    done
}
 
on()
{
    local color=$1
 
    set_state "$color" 'default-on'
}
 
reset
on "$1"

Références

adminsys/routeur_abonne_acces_secours_smartphone.txt · Dernière modification: 2020/01/22 22:39 de sanpi