Failover de l’auto-hébergement via le WiFi d’un voisin (ou un téléphone portable)

Un accès Internet de particulier n’est pas très fiable: problèmes sur le réseau, box en rade, coupure de la fibre dans le boîtier de l’immeuble ou de la rue etc.

Mais en passant par un VPN comme je le fais, on peut si besoin passer temporairement par un autre accès Internet, tout en gardant la même adresse IP, en bénéficiant de l’IPv6 etc.

Avec le Turris seul (mais ça marche pas bien)

C’est mon routeur Turris qui route tout le trafic réseau à travers le tunnel VPN (wireguard). Je peux facilement le configurer pour qu’il se connecte en client WiFi: en cliquant sur « scan » d’une interface réseau sans-fil, en se connectant au SSID voulu, et en l’assignant à la zone WAN. Dans ce cas, il y route bien le trafic sortant, mais pas le trafic entrant.

Le tunnel VPN ne s’établit pas dans ce cas, pour une raison que j’ignore. Quelqu’un d’autre parle des mêmes symptômes sur https://forum.openwrt.org/t/wireguard-interface-does-not-connect-on-wwan0-only-on-wan-running-openwrt-21-02-2/124087 , mais on n’a pas trouvé de solution probante.

Après avoir bricolé sans succès les paramétrage du Turris (firewall etc), j’ai fini par mettre en place un contournement.

Contournement avec un autre routeur devant le Turris

J’avais un vieux routeur WiFi Linksys WRT54GL, sur lequel j’avais installé DD-WRT.

J’ai pu le configurer en client WiFi du réseau de mon voisin (qui est consentant, bien sûr), et le brancher à la place de ma box Internet sur le port WAN du Turris. Dans ce cas, le Turris se connecte bien au VPN Wireguard, et y fait passer tout le trafic Internet, sortant mais aussi entrant (pour l’auto-hébergement).

Le réseau WiFi de mon voisin est fourni par une Freebox v6 (dite « revolution »), et est configuré en mode « WPA1/WPA2 – AES/TKIP (obsolète) ». Il a fallu tâtonner pour trouver la bonne configuration côté DD-WRT. La voici:

  • Dans Wireless -> Basic Settings, choisir le mode « Client », et le Network Name de la freebox
  • Dans Wireless -> Security, choisir « WPA2-PSK », l’algorithme « TKIP » et mettre le mot de passe du WiFi (le Wifi ne se connectait pas tant que je n’avais pas choisi le bon algorithme accepté par la freebox)
  • Dans Setup -> Basic Setup, choisir « DHCP » ET choisir une « Local IP Address » différente de celle du réseau source. La box en question fait du DHCP sur 192.168.1.x. J’ai donc dû en mettre un autre: 192.168.2.1
  • Dans Setup -> Advanced Routing, vérifier que c’est le mode « Gateway »

Dans Status -> Wireless, il doit y avoir marqué « 1 Connect clients » si le Wifi est bien connecté (c’est ce qui me manquait tant que le bon algorithme n’était pas choisi). Et la grosse lumière « cisco systems » à gauche de l’appareil doit s’allumer.

Source d’une partie de ce paramétrage: https://www.smartdomotik.com/2014/09/13/how-to-use-dd-wrt-router-as-wireless-adapter-client-mode/

Et ça fonctionne aussi avec un partage de connexion d’un smartphone. Dans mon cas, avec un partage configuré en « WPA2 PSK » sur le smartphone Android, a fallu choisir sur le routeur « WPA2-PSK » et « CCMP-128 (AES) » comme algorithme.

La bascule est automatique sur le nouveau réseau. Par contre, si je le fais plusieurs fois de suite, il arrive que ça plante le client wireguard. Dans ce cas, un redémarrage du Turris est nécessaire.

Conclusion

J’aurais bien aimé y arriver avec le Turris seul, ça aurait été bien plus simple et élégant. En attendant, c’est une belle réutilisation de ce très vieux routeur WRT54GL (qui prenait la poussière).

Mais surtout, je devrais gagner en « uptime » de mon auto-hébergement avec cela.

Evidemment, je perds un peu en débit quand je passe par le WiFi du voisin ou par un smartphone, mais peu importe: mes services ne sont pas coupés, c’est l’essentiel.

2 réflexions sur « Failover de l’auto-hébergement via le WiFi d’un voisin (ou un téléphone portable) »

  1. Bonjour,

    Super article.
    A t hasard, tu as déjà tenté un client wireguard sur ce vieuw routeur WRT54GL avec DDWRT ou autre ?

    1. Non, je n’ai pas eu l’occasion de tester le client wireguard là-dessus.
      Mais cet appareil est tellement limité (en taille maximum du firmware, en mémoire vive, en puissance etc) que je doute que ça puisse y fonctionner de manière convenable

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *