Le noyau Linux avant 3.6 utilisait la mise en cache de routage pour effectuer le routage multivoie IPv4, ce qui signifiait que le routage entre deux lignes / FAI distinctes était assez facile. À partir de 3.6, l'algorithme est devenu par paquet, ce qui signifie que certaines astuces de table de routage / règle / iptables étaient nécessaires pour atteindre les deux lignes / FAI.
Cependant, si vous aviez deux lignes avec le même FAI qui pouvaient acheminer une seule IP sur les deux lignes par paquet de manière équilibrée / avec basculement, alors à partir de 3.6, vous pourriez facilement obtenir une liaison de ligne (au niveau IP) en raison de le routage par paquet dans les deux sens.
Depuis la version 4.4, le noyau est à nouveau passé à un équilibrage de charge basé sur le flux basé sur un hachage sur les adresses source et de destination.
J'utilise actuellement le noyau 4.4.36 et j'utilise le routage par trajets multiples sur les connexions PPPoE. Mon trafic en aval du FAI est acheminé sur les deux lignes distinctes par paquet (une IP acheminée sur les deux lignes). Cela me donne une vitesse de téléchargement plus rapide que la vitesse d'une ligne individuelle. Presque la vitesse des deux lignes s'ajoutait. Cela fonctionne très bien, la vidéo Skype, la VoIP (UDP), YouTube, etc. fonctionnent tous très bien.
En raison de cette bonne expérience en aval, je veux l'essayer en amont, mais mon trafic en amont est acheminé selon le nouvel algorithme basé sur les flux sur les deux appareils ppp (qui ont la même adresse IP). Cela signifie que je ne peux pas atteindre une vitesse de téléchargement plus rapide que la vitesse d'une seule ligne.
Existe-t-il un moyen de configurer le noyau actuel pour utiliser l'algorithme par paquet? Ou une autre méthode pour réaliser un routage par trajets multiples par paquet? Aurais-je besoin de revenir à un ancien noyau (ce que je ne veux pas faire pour diverses autres raisons)?
Mon FAI ne prend pas en charge ppp multi-liens.
Au cas où cela serait pertinent, j'utilise actuellement Arch Linux ARMv7 sur un Raspberry Pi 3.