Table des matières
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 !
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"