VPNSmith
Outil gratuit - MTU WireGuard

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.

Que savez-vous de votre lien ?

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.

Connexion vers le serveur (hors tunnel)
Commandes pour

Résultat

1500
MTU du chemin
-80
Surcoût WireGuard
1420
MTU à régler

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.

wg0.conf
[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
apply-mtu.sh
# 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]*'
test-mtu.sh
# É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.

Voir le VPS Contabo

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êteOctets
En-tête IPv4 externe20
En-tête IPv6 externe40
En-tête UDP8
En-tête de données WireGuard (type, index, compteur)16
Tag d'authentification Poly130516
Total sur IPv4 / sur IPv660 / 80
Ping : en-têtes IPv4 + ICMP autour de la charge utile28

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 lienMTU du cheminMTU WireGuard
Ethernet, fibre, câble15001420 (défaut)
ADSL/VDSL en PPPoE14921412
Mobile, 5G, CGNATvariable1280 (repli)
Tunnel dans un autre VPNréduit deux fois1280 (repli)
Minimum garanti IPv612801280

Questions fréquentes

Quel est le MTU WireGuard par défaut, et pourquoi 1420 ?
Quand la config n'a pas de ligne MTU, wg-quick règle le MTU de l'interface sur celui de la route vers l'endpoint moins 80 octets. Sur un lien standard de 1500 octets, cela donne 1420. Les 80 octets sont le pire cas : 40 d'en-tête IPv6, 8 d'UDP et 32 de trame WireGuard. Sur IPv4, le surcoût réel est de 60 octets, donc 1440 passerait aussi, mais 1420 est sûr dans les deux cas.
Comment mesurer le bon MTU ?
Envoyez un ping vers l'IP publique du serveur avec le drapeau « ne pas fragmenter » et une grande charge utile, puis réduisez-la jusqu'à obtenir des réponses : ping -M do -s 1472 sous Linux, ping -f -l 1472 sous Windows, ping -D -s 1472 sous macOS. Prenez la plus grande charge utile qui passe, ajoutez 28 octets d'en-têtes IP et ICMP pour obtenir le MTU du chemin, et retirez 80 pour WireGuard. Le calculateur fait l'arithmétique et écrit les commandes pour votre système.
WireGuard se connecte mais aucune page ne charge : c'est le MTU ?
Très probablement, quand le petit trafic passe et pas le gros. Un handshake, une requête DNS et un ping sont petits, donc ils réussissent. Une page web complète est un paquet de taille maximale ; s'il dépasse le MTU du chemin et que le message ICMP « fragmentation nécessaire » est filtré quelque part, il est perdu en silence. Baisser le MTU WireGuard sous le vrai MTU du chemin corrige le problème. Si rien ne passe du tout, vérifiez d'abord le forwarding IP, la règle de masquerade et AllowedIPs.
Pourquoi 1280 est-il le repli sûr ?
La RFC 8200 impose à tout lien IPv6 de transporter des paquets de 1280 octets, et en pratique tout chemin IPv4 le fait aussi. Un MTU WireGuard de 1280 fonctionne donc en PPPoE, en mobile, derrière un CGNAT ou dans un tunnel imbriqué sans mesure, au prix de quelques pourcents d'efficacité sur un lien propre à 1500. Si le tunnel transporte lui-même de l'IPv6, le MTU de l'interface ne doit pas descendre sous 1280.
Client ou serveur : où régler le MTU ?
Du côté dont le lien est contraint, c'est-à-dire presque toujours le client (ADSL domestique, mobile, bureau). Le MTU d'une interface ne limite que ce qu'elle envoie : le baisser côté client corrige les envois et les requêtes, et les réponses du serveur suivent le MSS TCP qui en découle. Si le serveur est lui-même derrière un lien inférieur à 1500, réglez-le aussi là.
La ligne MTU= marche-t-elle sous Windows, macOS, Android et iOS ?
Oui. Les applications WireGuard officielles lisent la clé MTU= de la section [Interface] et l'appliquent à l'activation du tunnel. Sous Linux, c'est wg-quick qui l'applique, et vous pouvez aussi la changer à chaud avec ip link set dev wg0 mtu, ce qui ne survit pas à un redémarrage du tunnel.