Calculateur MTU WireGuard
Votre tunnel se connecte et répond au ping, mais les pages bloquent ? Entrez la plus grande charge utile de ping sans fragmentation qui passe, ou choisissez votre type de lien, et obtenez le MTU à mettre dans wg0.conf, les commandes pour l'appliquer et l'échelle de pings pour le vérifier. Tout s'exécute dans votre navigateur.
S'exécute entièrement dans votre navigateur. Rien de ce que vous tapez ne quitte la page.
Exemple : ping -M do -s 1472 IP_PUBLIQUE_SERVEUR répond, vous tapez 1472. S'il échoue, suivez l'échelle dans les commandes de test ci-dessous et entrez la plus grande taille qui passe.
Résultat
Votre chemin transporte des paquets complets de 1500 octets : le 1420 par défaut convient. Si les gros transferts bloquent encore, la cause est ailleurs (forwarding, masquerade, AllowedIPs). Vous pouvez tout de même écrire MTU = 1420 explicitement.
[Interface]
PrivateKey = <client private key>
Address = 10.66.66.2/32
MTU = 1420
[Peer]
PublicKey = <server public key>
Endpoint = SERVER_PUBLIC_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
# 1. Ajoutez la ligne MTU dans [Interface] de /etc/wireguard/wg0.conf, puis redémarrez le tunnel
sudo wg-quick down wg0 && sudo wg-quick up wg0
# 2. Ou changez-le à chaud sans redémarrer (perdu au prochain wg-quick down)
sudo ip link set dev wg0 mtu 1420
ip link show wg0 | grep -o 'mtu [0-9]*'
# Échelle de pings vers l'IP PUBLIQUE du serveur, hors tunnel : partez du haut, la première taille qui répond est votre charge utile
# Une taille qui échoue affiche « message too long », « needs to be fragmented » ou aucune réponse
ping -M do -s 1472 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1464 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1452 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1444 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1400 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1372 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1300 -c 3 SERVER_PUBLIC_IP
ping -M do -s 1252 -c 3 SERVER_PUBLIC_IP
# Vérification à travers le tunnel, vers l'IP tunnel du serveur : doit répondre avec le nouveau MTU
ping -M do -s 1392 -c 3 10.66.66.1
# charge utile = MTU moins 28 ; si cela échoue, baissez encore le MTU
La moitié des soucis de MTU vient du chemin, pas de la config
Double NAT, box domestique et tunnel empilé sur un tunnel grignotent tous des octets sur votre chemin. Un VPS avec une IPv4 publique propre, c'est un seul saut sur un lien à 1500 octets, où le 1420 par défaut fonctionne tel quel. Le VPS d'entrée de Contabo inclut une adresse IPv4 publique et un accès root complet.
Lien affilié : nous pouvons toucher une commission, sans surcoût pour vous. Le calculateur reste gratuit et n'en dépend pas.
D'où viennent les chiffres
WireGuard enveloppe chacun de vos paquets dans un datagramme UDP. L'enveloppe a une taille fixe, donc le MTU du tunnel est simplement le MTU du chemin moins cette enveloppe. C'est exactement ce que fait wg-quick quand aucun MTU n'est indiqué : il prend le MTU de la route vers l'endpoint et retire 80, d'où le 1420 habituel sur un lien de 1500 octets.
| En-tête | Octets |
|---|---|
| En-tête IPv4 externe | 20 |
| En-tête IPv6 externe | 40 |
| En-tête UDP | 8 |
| En-tête de données WireGuard (type, index, compteur) | 16 |
| Tag d'authentification Poly1305 | 16 |
| Total sur IPv4 / sur IPv6 | 60 / 80 |
| Ping : en-têtes IPv4 + ICMP autour de la charge utile | 28 |
Une charge utile de ping de 1472 octets voyage donc dans un paquet de 1500 octets. Si 1472 passe avec le drapeau « ne pas fragmenter », votre MTU de chemin est 1500 et le 1420 par défaut convient. Si seul 1400 passe, le MTU de chemin est 1428 et WireGuard ne doit pas envoyer plus de 1348 sur IPv6. Le calculateur retire 80, sauf si vous indiquez que la connexion externe est en IPv4 seul : 60 suffisent alors.
Valeurs types quand on ne peut pas mesurer
Une valeur mesurée vaut toujours mieux qu'un tableau. Ces repères servent quand le ping est impossible, par exemple sur un téléphone ou un réseau que vous ne contrôlez pas.
| Type de lien | MTU du chemin | MTU WireGuard |
|---|---|---|
| Ethernet, fibre, câble | 1500 | 1420 (défaut) |
| ADSL/VDSL en PPPoE | 1492 | 1412 |
| Mobile, 5G, CGNAT | variable | 1280 (repli) |
| Tunnel dans un autre VPN | réduit deux fois | 1280 (repli) |
| Minimum garanti IPv6 | 1280 | 1280 |