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 !!
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
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.
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…
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 🙂 !
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
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.
le noyau linux intègre bien le mptcp ? cf http://blog.multipath-tcp.org/blog/html/2015/12/16/mptcp_tools.html
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
les images disponibles sont ici : https://www.openmptcprouter.com/download Il n’y a effectivement pas de modem 4G dedans.
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 ?
aucun problème, le routeur 4G aura une IP 192.168.xx.xx, le reste importe peu.
Ok merci 😉
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 ?
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 ?
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é.
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: »
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.
Question précédente sur la DMZ : pour rediriger le port 80, un exemple est donné ici : https://github.com/Ysurac/openmptcprouter/wiki/Port-forwarding
Pas encore pu tester, mais la redirection du port 80 donné par l’exemple me suffirait.
Bonjour, avez-vous réglé votre problème de Netflix ?
Non, je n’ai pas trouvé comment faire.
Ç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
Je ne vois pas le post proposé.