Forum Linux.général Avoir plusieurs accès internet sur une passerelle

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
2
2
août
2021

Ma vieille gateway est actuellement reliée via ethernet à ma box. Cependant, j'ai régulièrement des coupures d'accès.
Comme mon forfait téléphonique 4G est "illimité" et mon débit meilleur que mon ADSL, je souhaiterais profiter d'icelui pour, soit faire du load balancing, soit l'utiliser pour du fallback.

Le problème, c'est que je n'y arrive pas.

Je n'arrive qu'à couper le lien ethernet, activer (manuellement) le wifi vers le téléphone et changer mon iptable et la table de routage.

Cependant le fallback semble m'imposer de rebooter ma gateway.

Ainsi, je suis à la recherche d'aide pour essayer d'avoir mes deux connexions fonctionnelles.

Je pense que http://lstein.github.io/Net-ISP-Balance/ serait la solution, mais comme je n'arrive pas faire cohabité mes réseaux.

Quelqu'un a-t-il une idée ?

Merci.

  • # ip routes ?

    Posté par  . Évalué à 2 (+1/-0).

    Bonjour,

    Il me semble qu'il est possible d'utiliser ip route avec l'option nexthop en donnant la priorité à la gateway la plus rapide

    • [^] # Re: ip routes ?

      Posté par  (site Web personnel) . Évalué à 2 (+1/-0).

      Merci j'ai regardé.
      Ça me semble pas mal. Hormis un point que je ne comprends pas :

      Il est nécessaire d'intervenir manuellement (commande line ou script) pour "couper" l'interface dont on souhaite se passer.
      Admettons que je script cela. Lorsque l'interface est "tombée", je n'ai plus moyen de scripter pour déterminer si le réseau est de retour. Oui ? Non ?

      • [^] # Re: ip routes ?

        Posté par  . Évalué à 2 (+0/-0).

        il faut que tu fasses un script (ou utilises des outils existants)
        qui vont tester que ton lien internet via la box ne fonctionne plus.

        évidemment tu ne peux pas te baser sur l'état de la carte qui sera UP tant que la box est allumé, ni sur l'IP de ta BOX pour la meme raison.

        mais tu peux par exemple pinguer le DNS de l'opérateur, en forçant sa route via la BOX
        si ca pingue plus, soit la box est éteinte, soit l'adsl est morte => basculer la route vers le wifi

        • [^] # [HS]Re: ip routes ?

          Posté par  (site Web personnel) . Évalué à 2 (+0/-0).

          Je m'insère dans cette discussion car j'aimerais éclaircir (pour moi) un point : tu proposes de pinguer (ici le DNS du FAI) pour vérifier que la liaison n'est pas coupée. Mais je me posais déjà cette question : à quelle fréquence pinguer ? Par exemple si je le fais toutes les secondes il y aura forcément un moment (ici < 1s) où je n'aurais pas de liaison (j'espère me faire comprendre).

          En fait je ne sais pas vraiment quelle conséquence ça peut avoir. Je m'étais posé cette question à un moment où je voulais surveiller ma connexion avec mon VPN.

          « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

  • # OverTheBox

    Posté par  . Évalué à 3 (+2/-0).

    Hello,
    c'est le principe même de l'overthebox, soit clé en main (chercher sur le web ça te donnera le lien direct vers la boite qui propose ce service).

    Soit à la mano en suivant la doc du projet libre: https://github.com/Ysurac/openmptcprouter/wiki/Router-install

    Dans tous les cas il faut louer un point de sortie qui fait le boulot, perso j'ai fait avec un VPS, ça me coûte moins de 5€/mois et je suis peinard.

    Sinon l'autre solution est de mettre en tête de réseau un opnsense ou un openwrt.

    Voir par exemple https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3

    eric.linuxfr@sud-ouest.org

  • # Test de route

    Posté par  (site Web personnel) . Évalué à 1 (+0/-0).

    En voulant aller un peu plus loin, j'ai les routes suivantes :

    root@moucraine:~# ip route
    default via x.y.z.254 dev p3p1 
    x.y.z.0/24 dev p3p1  proto kernel  scope link  src x.y.z.169 
    1O.0.0.0/24 dev p4p1  proto kernel  scope link  src 10.0.0.1 
    172.17.1.0/16 dev docker0  proto kernel  scope link  src 172.17.1.1

    Et les interfaces suivantes :

    root@moucraine:~# ip addr | grep -wE 'UP|inet'
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
        inet 127.0.0.1/8 scope host lo
    2: p3p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet x.y.z.169/24 brd x.y.z.255 scope global p3p1
    3: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 10.0.0.1/24 brd 10.0.0.255 scope global p4p1
    4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        inet 192.168.1.9/24 brd 192.168.1.255 scope global wlan0
    5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
        inet 172.17.1.1/16 scope global docker0

    Et en essayant d'ajouter une route vers mon autre point d'accès :

    root@moucraine:~# ip route add 192.168.1.0/24 via 192.168.1.254 dev wlan0
    RTNETLINK answers: Network is unreachable

    Du coup je ne comprends pas pourquoi je ne peux pas ajouter de route ?

    Quelqu'un a-t-il une idée ?
    Merci.

    L'idée c'est de pouvoir être sûr que je puisse faire un (par exemple) :

    root@moucraine:~# ping -c 1 -W 5 -I wlan0 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) from 192.168.1.9 wlan0: 56(84) bytes of data.
    From 192.168.1.9 icmp_seq=1 Destination Host Unreachable
    
    --- 8.8.8.8 ping statistics ---
    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

    Aussi bien qu'un :

    root@moucraine:~# ping -c 1 -W 5 -I p3p1 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) from x.y.z.169 p3p1: 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=120 time=28.1 ms
    
    --- 8.8.8.8 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 28.173/28.173/28.173/0.000 ms
    • [^] # Re: Test de route

      Posté par  . Évalué à 2 (+0/-0). Dernière modification le 04/08/21 à 10:15.

      parce que tu ajoutes une route sur laquelle il est deja 192.168.1.X

      dans ton cas il faut cibler des hôtes particuliers, et preciser la route via lesquels tu les pingues.

      si tu veux pinguer les DNS de google, tu ajoutes les routes suivantes :

      ip r a 8.8.8.8 via 192.168.1.254 dev wlan0
      ip r a 6.6.6.6 via x.y.z.254 dev p3p1

      du coup avec le ping 8.8.8.8 tu test ta passerelle wifi, avec ping 6.6.6.6 tu testes ton ethernet

      pour supprimer la route

      ip r d xxxx via yyyy dev zzzz

      • [^] # Re: Test de route

        Posté par  (site Web personnel) . Évalué à 1 (+0/-0).

        Euh.. Qu'est-ce que j'ai raté ?

        root@moucraine:~# ip route add 8.8.8.8 via 192.168.1.254 dev wlan0
        RTNETLINK answers: Network is unreachable
        • [^] # Re: Test de route

          Posté par  . Évalué à 2 (+0/-0). Dernière modification le 05/08/21 à 10:06.

          d'après l'ip route précédente ton wifi n'est pas allumé donc le reseau 192.168.1.0/24 n'est pas joignable ?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.