Wireguard et 3G/4G Free Mobile

Depuis plusieurs mois, j’utilise un outil de tunnel chiffré formidable qui s’appelle Wireguard. Ça me permet de surfer sur les autoroutes de l’information de l’Internet mondial où que je sois sans trahir depuis où je me connecte et sans que le fournisseur d’accès (point d’accès wifi ouvert, etc) que j’utilise ne sache ce que je fais en ligne. Un seul bémol, lorsque je l’utilise au travers d’une connexion 3G/4G Free Mobile partagée en wifi par mon téléphone, des endroits du grand Internet mondial me sont inaccessibles. J’ai enquêté et fini par trouver une solution. Je vous la livre en exclusivité.

Le problème et la solution tournent autour d’un élément déterminant du fonctionnement des réseaux de communication : le/la MTU (Maximum Transmission Unit). Pour faire très approximatif, ça dit la taille max des paquets qu’on peut échanger.

Cette valeur est normalement détectée automatiquement et on n’a jamais à s’en préoccuper. Dans notre cas, la valeur détectée lorsque je monte le tunnel Wireguard sur mon accès 4G partagé est de 1420 octets. Dans cette configuration, je n’arrive pas à faire certaines choses en ligne, par exemple me connecter en SSH sur mon serveur perso. C’est embêtant.

Du coup, j’ai cherché un peu et j’ai compris que ça venait de cette valeur de MTU, 1420. En tatonnant un peu, j’ai fini par tomber sur une valeur qui fonctionne et me permet bien de me connecter en SSH : 1416 octets. Aussi, comme Wireguard est un outil formidable, j’ai pu l’indiquer dans le fichier de configuration lu par l’utilitaire wg-quick :

# wg0.conf
[Interface]
…
MTU = 1416
…

Ensuite, il suffit de relancer Wireguard et le tour est joué !

NB : je n'ai aucune idée de pourquoi ces 4 octets font une différence… si quelqu'un a l'explication, je suis preneur évidemment.