OpenMPTCProuter Vs OverTheBox

OverTheBox, nous vous en avons parlé et re-parlé à satiété, cette solution développée par Ovh pour réunir le débit de xx lignes internet, qu’elles soient fibrées, ADSL, câble, ou même 4G. OTB fonctionne avec le protocole MPTCP, Multipath TCP, qui permet de gérer plusieurs flux IP.

Depuis quelques temps, OpenMPTCProuter a pour objectif de proposer une solution identique, mais forcément sans le support Ovh, sans leur matériel, sans la redondance des serveurs, etc. C’est une super idée réservée aux Geeks qui vont alors pouvoir investir dans un simple serveur VPS Ovh et un p’tit Raspberry Pi 3 coté client.

Le schéma de connexion est celui illustré par l’image sur le site d’OpenMPTCProuter, reprise  ici :

L’illustration montre 2 modems, 2 connexion internet donc, mais on peut aller au delà sans soucis, comme ici sur notre équipement de test :

Coté coût, une cinquantaine d’Euro pour un Raspberry Pi avec son boitier, une alim, et une carte SD convenable, et pour le serveur VPS, voyez vous même, 3.59 € TTC/mois, soit forcément une belle économie par rapport à la solution packagée d’Ovh :

Avec nos 5 lignes ADSL/4G, voici un test de débit :

Réalisé via notre OverTheBox « officielle », le débit est identique, pas de différences donc, c’est vraiment génial !

 

 

CONFIGURATION SERVEUR

Pour l’installation du serveur, rendez-vous sur https://github.com/Ysurac/openmptcprouter/wiki/Install-the-VPS et vérifiez à la fin que le mptcp est bien implémenté avec une commande uname -a :

Linux ns123456 4.14.24.mptcp #9 SMP Fri Mar 9 19:13:05 UTC 2018 x86_64 GNU/Linux

Dans notre cas, sur un Kimsufi et non un VPS, nous avons été obligés de modifier le kernel de la Debian installée automatiquement par Ovh pour basculer sur un vrai kernel Debian. La procédure est détaillée sur https://www.shaftinc.fr/changement-noyau-kimsufi.html, inutile de la ré-écrire, elle fonctionne à merveille.

Si le MPTCP n’est pas installé, installez les paquets de ce guide : http://mptcp.zugaina.com/index.fr.php

sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 379CE192D401AB61 
echo "deb https://dl.bintray.com/cpaasch/deb jessie main" >> /etc/apt/sources.list 
sudo apt-get update sudo apt-get install linux-mptcp

Attention à la fin il faut rebooter le serveur, le port SSH du serveur est alors modifié, il bascule sur 65222 et non 22 !!

Pensez maintenant à mettre de coté deux clés d’authentification, depuis la connexion ssh du serveur entrez :

cat /etc/glorytun-tcp/tun0.key 

047D0C201234567889902348989AEC020F9287AAB930D7393E99

La clé glorytun est en gras, soulignée, une fausse clé bien entendu, elle sera différente sur VOTRE serveur.

Entrez pour finir :

cat /etc/shadowsocks-libev/config.json 

pour récupérer la clé Shadowsocks sur la ligne :

 "key":"5vZETEi1ArmpPL7-xY12DfGsigb6VaB1A-IKwCzXwSI=",

Ici seule la clé soulignée est en gras nous intéresse, entre les guillemets : il s’agit là encore d’une fausse, VOTRE serveur vous en donnera une toute neuve.

 

CONFIGURATION ROUTEUR

Pour l’installation du routeur, allez sur https://github.com/Ysurac/openmptcprouter/wiki/Router-install pour charger et décompresser l’image de votre Raspberry Pi 3. A la fin, il prendra l’IP 192.168.100.1 et aura un DHCP activé.

Rendez-vous sur System, OpenMptcpRouter : http://192.168.100.1/cgi-bin/luci//admin/system/openmptcprouter
Entrez les différentes clés récupérées sur le serveur, puis l’IP du serveur :

Ajoutez alors sur WAN1 et WAN2 les IP de vos connexions internet, que ce soit une box adsl ou un routeur 4G.
Voici un exemple de notre configuration, avec plusieurs WAN :

Les passerelles IPv4 sont les adresses IP de vos boxes adsl ou 4G, TOUJOURS AVEC LEUR DHCP COUPE, c’est important. Ici nous avons donc du 0.2 (freebox), 2.3 (freebox), 5.1 (routeur 4G).

Validez puis allez sur l’onglet ETAT pour vérifier que tout fonctionne bien. Si tout est vert, connectez vous au routeur, vous obtiendrez une IP 192.168.100.xxx. Rendez-vous sur http://monip.org : c’est l’IP de votre serveur Mptcp qui va apparaitre, vous avez réussi !!

 

Publications similaires

  • le Hackintosh, un iMac moins cher ?

    Avec la récente présentation d’Apple et des matériels de plus en plus fermés, la question du Hackintosh se pose de plus en plus. Kesako ? Un ordinateur regroupant certains composants PC mais fonctionnant à 100 % sous OS/X, le système d’exploitation d’Apple. Il est donc possible de monter un ordinateur de A à Z, avec des composants choisis (tous ne seront pas acceptés par OS/X), et mieux encore, des composants parfois supérieurs à ceux sélectionnés par Apple. De nombreux sites…

  • SkyDSL2+ et VoIP

    Vous êtes nombreux à vous intéresser sur la possibilité de réaliser de la VoIP sur le satellite KaSat, avec l’offre SkyDSL2+ illimitée. Après quelques tentatives peu fructueuses, nous avons cherché à comprendre le pourquoi du comment : le codec audio était en cause, trop « large bande » !! Quelques recherches plus tard, nous avons pu configurer un téléphone VoIP de Grandstream avec le codec G729, un codec qui n’utilise que 8 kbps. Le compte SIP utilisé est celui d’une offre téléphonie d’OVH…

  • |

    Vistumbler : un p’tit tour et puis un scan !

    Nous vous l’avions présenté voici quelques mois déjà, Vistumbler, un logiciel permettant de scanner les réseaux WiFi de votre voisinnage. Nous avons voulu aller plus loin, et embarquer un Vistumbler en voiture, couplé avec un GPS. Voici la configuration utilisée : PC portable ACER avec son alimentation voiture 12 Vcc Dongle Bluetooth Belkin Module USB WiFi Wisacom avec sortie d’antenne RP SMA Antenne 7 dBi omni avec embase magnétique GPS Bluetooth sur batterie autonome L’antenne omni7, placée sur le toît…

  • Raspberry Pi + H801 : défilement aléatoire en Python

    Un petit script en python pour votre Raspberry Pi, suite au premier billet sur le H801 : # -*- coding: utf-8 -*- import time import os import random while True:   color = « %06x » % random.randint(0, 0xFFFFFF)   somme = « sendip -p ipv4 -p udp -us 30978 -ud 30977 -d 0xfbeb » + color + « 00005c59d6000 -v 192.168.1.127 > /dev/null »   os.system(somme)   time.sleep(0.3) Sauvegardez le sous le nom led.py et exécutez le avec python3 led.py : vos leds font alors s’allumer…

  • |

    Zones blanches et balance

    Nous, je ne vous parlerai pas ici de balance de régime mais de balance de charge, load balancing in english, une répartition effectuée par un routeur spécialisé, connecté à plusieurs ports WAN. Qu’est-ce qu’un port WAN ? Wide Area Network, un réseau très étendu en quelque sorte, que vous connaissez toutes et tous sous un nom générique : internet !! Le port WAN est en fait la sortie de votre « box » ou de votre modem ADSL, modem fibre, ou modem…

  • Gridrouter : la maison connectée

    Comment surveiller votre consommation de gaz, d’électricité ? Cela passe sans doute par ces modules appelés Gridrouter outre-Atlantique. Mais leurs fonctionnalités ne s’arrêtent pas là : Des essais ont déjà eu lieu par exemple pour réguler la consommation énergétique d’un foyer : toutes ces petites machines communiquent entre elles et sont donc capables d’indiquer aux fournisseurs d’énergie les besoins exacts  en temps réel. A quoi bon du coup faire fonctionner une centrale électrique à pleine capacité et consommer un maximum…

22 commentaires

  1. Bonjour,

    Tout d’abord, merci pour ce tutoriel simple et bien réalisé ! 🙂

    Petite question côté matériel, le Raspberry pouvant accueillir 1 connexion via Ethernet + 1 lien Wifi + X nombre de connexion Wifi supplémentaire avec un ou plusieurs dongles wifi, auriez-vous une idée pour garder le Raspberry tout en y connectant plusieurs liens réseaux (Box Adsl, fibre) en Ethernet ?

    Merci d’avance pour votre réponse,
    Azer56

    1. le seul port ethernet suffit à gérer plusieurs liens internet (box):
      192.168.0.1, 192.168.2.1, 192.168.3.1, 4.1, etc. et on valide ça dans le raspberry, tout simplement, il n’y a pas besoin d’un port ethernet ou autre par connexion internet.

    2. Bonjour Azer56

      Effectivement comme le dit Blog. Il n’y a besoin que d’un port ethernet.
      Il faut connecter le cable du RaspBerry sur un switch et tous les routeurs sur ce switch.
      Enfin si j’ai bien suivi tous les tutos sur le net…

      1. Bonjour,
        Merci à vous deux pour vos réponses.
        J’ai testé comme indiqué dans vos réponses pour le branchement, et ça fonctionne plutôt bien (avec lien 4G Free + fibre SFR).
        Merci 🙂 !

  2. Bonjour

    Merci pour le tuto
    J’ai finis d’installer OpenMPTCProuter et de configurer le VPS.
    Je me lance donc dans les tests dans la soirée.
    Encore merci pour ce tuto

  3. Après quelques tests, je n’ai pas l’agrégation de mes deux lignes. (une adsl et l’autre 4G via la sim de mon tel). Je passe directement sur la connexion adsl et celle de mon tel passe à l’as. J’ai ce message qui apparait « Multipath seem to be blocked ……… »

    Si je teste avec mon ADSL seule, je passe bien par mon VPS.
    Si je teste avec ma connexion 4G seule, je passe bien par mon vps et j’ai le débit de ma 4G.

    Mais les deux en même temps pas d’agrégation.

    Sais-tu d’où peut venir le problème? En sachant que sur mon 4g j’ai illimité mais seulement 30Go de data en modem. Pour pallier ce problème j’utilise les applications PDANet+ ou tether clockworkmod (ça empêche la détection du mode modem) sur un PC et je partage cette connexion via le câble Ethernet.

  4. Bonjour,

    Super article, très intéressant.

    Je voulais faire de l’agrégation de ligne avec une ligne ADSL et une ligne 4G.

    Je vois qu’un Raspberry Pi fait office de routeur.
    Toutefois n’existe t’il pas des modem 4G/ADSL qui pourrait faire de même ? (avec OpenMPTCProuter dedans)

    Merci

  5. Merci pour la réponse.

    Par contre est ce possible d’agréger ADSL+4G ?
    y’a pas une histoire d’IP qui pose problème en 4G ?

  6. Merci pour ce super tutoriel intéressant.
    Est il possible d’utiliser la carte wifi d’une RB PI pour se connecter à un réseau wifi public et l’ agréger avec une connexion ADSL? Si oui comment la déclarer comme interface WAN dans openmptcp router ?

  7. Merci pour ce tuto !
    Est il possible d’utiliser la carte wifi d’une RB PI pour se connecter à un réseau wifi public et l’ agréger avec une connexion ADSL? Si oui comment la déclarer comme interface WAN dans openmptcp router ?

    1. absolument aucune idée, jamais testé, il faudrait poser la question sur le forum d’OpenMPTCP à priori. Ce genre de liaison, je l’aurai plus faite avec un point d’accès universel en mode client, qu’avec le wifi intégré.

  8. Merci pour cet article.

    Config actuelle : 1 lien ADSL (Red SFR) + 1 lien 4G (Huaweï 4G et Free Mobile).

    Dans mon cas, tout est au vert mais je n’ai que le débit ADSL quand je fais un test de débit.
    J’ai redémarré le serveur VPS, le Raspberry sans succès. J’ai également inversé WAN1 et WAN2 car l’ADSL était déclaré sur le WAN1 (en master). Cela ne change rien.
    Quand je vais sur http://monip.org/, j’ai bien l’adresse IP du VPS.
    Là je sèche.

    Je voudrais juste signaler que sur la dernière version d’OpenMPTCProuter, dans le paramétrage, j’ai bien l’ « IP du serveur » mais pas « Clef de ShadowSocks » et « Clef Glorytun » mais seulement le champ « Clef d’OpenMPTCProuter VPS ».
    Cette clé est obtenue par la commande sur le serveur VPS :
    cat openmptcprouter_config.txt
    et prendre ce qui suit « Your OpenMPTCProuter VPS Admin key: »

  9. Merci pour cet article.
    L’agrégation fonctionne correctement (4G Free Mobile + ADSL Red SFR).

    2 questions non résolues :

    – Comment créer une DMZ à partir du VPS pour pointer sur un routeur qui est entre mon LAN et le Raspberry Pi ?

    – J’ai testé 3 VPS différents : OVH, Scaleway et Firstheberg. Le moins cher étant Scaleway. Dans les 3 cas, je ne peux utiliser Netflix qui considère que j’utilise un proxy. Je ne peux pas utiliser non plus l’appli Android de SFR pour regarder la TV. Sur le VPS de Scaleway, j’avais une erreur 103, je crois, pour aller sur le site http://www.jeuxvideo.com.

    Conclusion : l’agrégation c’est super pour le gain en débit mais beaucoup moins pour les questions ci-dessus.

  10. Ça devrait pourtant marcher, j’ai trouvé ce post sur un autre fil:
    Perso j’ai testé en « VPS » Firstheberg et je suis maintenant sur le public cloud Ikoula. J’ai eu aucun souci chez les deux, et ils ont l’avantage de ne pas être blacklisté chez Netflix par exemple

Les commentaires sont fermés.