MPTCP vs Dual WAN

L’inconvénient des routeurs Dual/Multi WAN est de présenter plusieurs adresses publiques. Cela peut poser des problèmes d’identification sur certains schémas d’authentification en mode client mais également un casse-tête pour les connections entrantes. Pour y remédier tout le monde (dans notre monde…) a entendu parler de la solution OTB proposée par OVH, qui n’est jamais que l’intégration de technologies existantes mais qui permet de travailler avec une IP publique unique. Depuis la mise en production commerciale le projet semble assez stable, il ne bouge plus trop, par contre les tarifs ont explosés.

Il existe une alternative, openMPTCProuter qui s’appuie sur les mêmes technologies mais en version open et va permettre l’agrégation de 8 liens (xDSL, fibre et 4G) tout en utilisant une seule IP, celle du serveur VPS sur lequel elle s’appuie. Il faut bien comprendre que pour utiliser cette solution vous aurez besoin d’un serveur VPS pour supporter le serveur de relai et votre nouvelle IP publique. Il existe des VPS à partir de quelques euros (OVH, Online), ce qui sera important ici c’est d’une part la latence, il faut donc un VPS proche, et d’autre part que la bande passante du VPS soit supérieure à la bande passante agrégée, tout du moins si vous cherchez à atteindre un débit supérieur. Mais cette tecno peut aussi être déployée dans le but de sécuriser un site, auquel cas le débit importe moins…

Déploiement

On va commencer à installer le serveur sur un VPS ou une VM Linux disposant d’une IP publique, je ne vais pas recopier, tout se trouve ici. Attention à bien respecter les versions minimales des distributions.

Ensuite on passe du côté du routeur. J’ai bêtement beaucoup galéré en voulant installer le routeur dans une VM ESXi, il semblerait que cette image comporte quelques bugs non résolus.(voir plus bas). Le plus simple pour tester est donc de le faire sur un Raspbery, dans mon cas un PI3, j’ai gravé l’image que l’on trouve ici avec Etcher et configuré en me laissant guider avec les infos du VPS, le tout en 10 minutes avec un résultat parfait. Attention toutefois à penser de désactiver le DHCP des box pour ne laisser actif que celui du routeur MPTCP.

En mode production la question du DHCP pourra se poser si l’on dispose déjà d’un DHCP sur un serveur ou un NAS, mais on peut aussi envisager plusieurs modes de fonctionnement, dont un qui consisterait à faire fonctionner le routeur MPTCT en mode bridge et le coller sur le port WAN du routeur existant sur le site. Ainsi on ne perdrait pas les bénéfices de son routeur préféré, un USG dans mon cas, tout en m’affranchissant des contraintes du Dual WAN.

On notera que cette solution fonctionne dans les deux sens, il sera ainsi possible d’utiliser la nouvelle IP publique pour publier des services et ainsi résoudre la problématique de ceux qui ne disposent pas d’une IP fixe.

Pour l’instant openMPTCProuter n’est qu’une succession de betas, la mise en production semble donc hasardeuse. La solution semble stable, les débits en download sont très bons par contre l’upload reste en retrait. Des tests plus approfondis s’imposent et la mise en commun des expériences de tous est bienvenue ! 

Remarques et astuces

ESXi : Pour que le routeur (coté client) puisse fonctionner sur ESXi, il faut simplement accepter le mode Promiscuous dans les options de sécurité du vSwitch0 dans la configuration réseau du serveur ESXi. Par contre rien de spécial à faire si le VPS est sur un serveur ESXi. Coté VPS sur ESXi, il est possible d'installer les VM-Ware tools.

DHCP : Il est tout à fait possible de désactiver le serveur DHCP sur le LAN du routeur openMPTCP si on a déjà un tel serveur (AD ou Synology par exemple).

DNS : Si on veut bénéficier des dérogation pour certains protocoles (Netflix...), il faut que les clients utilisent le DNS d'openMPTCP (quitte à chaîner celui d'AD au dessus).

IPV6 : Si pas d'IPV6 sur le VPS ou IPV6 mal configuré il vaut mieux désactiver, surtout pour les premiers tests.

Performances : Sur un Raspberry 3 qui n'a qu'une interface Ethernet 100 : 85 Mb/s Max. Sur un ESXi j'ai fait 150 Mb/s avec deux lignes vDSL.

Sources

https://www.multipath-tcp.org/
https://openwrt.org/
https://github.com/Ysurac/openmptcprouter/wiki
http://blogwifi.fr/openmptcprouter-vs-overthebox/