Salutations à tous ! Comment allez-vous ? Bien j'espère 🙂
Je reviens sur ce forum afin de solliciter vos connaissances dans le monde Linux, dans le but éventuellement de trouver une solution à mon besoin.

Je m'explique : j'utilise aujourd'hui un petit RPi3 en tant que petit routeur sur lequel j'ai installé Pi.Hole. Sur ce Pi, j'ai actuellement 2 câbles Ethernet : 1 sur le port intégré (LAN Interne) & 1 via un adaptateur USB/LAN, connecté à la Livebox. Ca fonctionne à merveille et franchement, je ne m'en passerai plus jamais ! 🙂

A mon domicile, j'ai 2 types de connexion Internet : 1 Livebox ADSL 22 Mbps ainsi qu'1 4G+ LTE via un routeur TP-Link Archer M600 v2, et dont le débit dépasse les 110 Mbps par temps clair avec de l'Internet Illimité durant tout le Week-End (merci Bouygues !).

A noter aussi que Pi.Hole est configuré pour faire de l'unbound, via 127.0.0.1#5335

Mon projet : ajouter un second adaptateur USB/LAN afin d'y raccorder le routeur TP-Link, puis mettre en place une "bascule" automatique entre les 2 routeurs selon certains horaires et jours de la semaine. En gros : du lundi 00h01 au vendredi 23h59, je suis sur la Livebox, et le WE je passe par la 4G.
J'ai fait quelques recherches sur GlouGlouL sans vraiment obtenir satisfaction. Peut-être que je ne saisis pas forcément de bons mots-clés non plus, c'est fort probable.

Je pense qu'en terme de configuration déjà existante, je n'aurai rien à changer. Mais du coup, selon vous, ce projet est-il complètement barré ou bien est-ce de l'ordre du réalisable ? Peut-être à faire avec CRON ?

En espérant ne pas vous faire peur avec ce topic, je tiens à vous remercier par avance de l'aide que vous pourrez m'apporter 😉

Au plaisir,

V.

Salut,

Pour une bascule à un certain moment (jour/heure de la semaine) tu pourrais effectivement utiliser un cron avec un script qui change ta route par défaut.
Après si tu veux pouvoir utiliser les 2 connexions en même temps, c'est plus compliqué, mais il existe un utilitaire nommé mwan3 qui peut aider.
Mais en revenant sur le cas simple où tu as les 2 connexions disponibles mais 1 seule utilisée à un moment donné, tu peux même avoir les 2 routes par défaut et changer uniquement la partie "metrics" qui définie la route qui a la priorité.

Salut Malakai et merci pour ta réponse. Oui justement, c'est bien une bascule entre 2 liens Internet que je souhaite faire plutôt qu'un usage simultané.
Juste une précision : j'utilise iptables-restore avec un fichier rules.v4 dans lequel j'ai activé le post-routage vers ma 1e connexion Internet, comme ceci :

*nat
-A POSTROUTING -o ens192 -j MASQUERADE
COMMIT

du coup, quand j'aurai le 2 lien Internet de connecté, je devrai juste y ajouter une 2e règle ? Comme ceci par ex.:

*nat
-A POSTROUTING -o ens192 -j MASQUERADE
-A POSTROUTING -o ens256 -j MASQUERADE
COMMIT

Faut juste que je trouve comment faire pour le script... je me disais faire une sorte de "if up / if down". Ca le ferait ?
Je vais aussi regarder les liens que tu m'as fournis ; ça semble intéressant 🙂

Encore merci !

++

V.

  • lxr a répondu à ça.

    Re,

    Ce que tu as mis comme code iptables c'est pour le "Masquerade", c'est à dire, vulgairement, créer un NAT. C'est mieux expliquer ici (mais a nouveau en anglais).
    Ce dont toi tu as besoin c'est plutôt la sortie de la commande ip route ou route -n qui te montreras les routes dont tu dispose. Tout est plutôt bien expliquer dans le lien des "metrics" que j'ai mis dans mon post précèdent.
    Essaye dans un premier temps de lancer les commandes directement et de vérifier que la nouvelle route est bien prise en compte (tu peux par exemple vérifier l'ip publique que tu as en allant sur ifconfig.co). Une fois les commandes lancées depuis le terminal et le fonctionnement bien compris, on verra pour l'automatisation avec un script.

    5 jours plus tard

    virgo77 Salut !

    Ton projet me parle beaucoup car j'ai eu exactement la même problématique (Cable vs 4G) sauf que dans mon cas c'est installé en failover 🙂

    Pour le coup ta problématique est plus simple : une bascule à un moment donné. Il faut passer par un script qui sera lancé par une CRON.

    Ton script sera hyper simple ! (la partie métrique indiquée par @Malakai est également très pratique 🙂 )

    #!/bin/bash
    ip route del default 
    ip route add default via GATEWAY_ADSL

    Et après tu peux faire des montages tarabiscotés comme moi avec certaines adresses internes qui sont sortent en 4G tout le temps et d'autres via le câble.
    cf : https://manpages.debian.org/stretch/iproute2/ip-rule.8.en.html

    Répondre…