Calculadora de MTU de WireGuard
¿Tu túnel conecta y responde al ping, pero las páginas se cuelgan? Introduce la mayor carga útil de ping sin fragmentación que pasa, o elige tu tipo de enlace, y obtén el MTU para wg0.conf, los comandos para aplicarlo y la escalera de pings para verificarlo. Todo se ejecuta en tu navegador.
Se ejecuta por completo en tu navegador. Nada de lo que escribes sale de la página.
Ejemplo: ping -M do -s 1472 IP_PUBLICA_SERVIDOR responde, así que escribes 1472. Si falla, sigue la escalera de los comandos de prueba de abajo e introduce el mayor tamaño que pasa.
Resultado
Tu ruta transporta paquetes completos de 1500 bytes: el 1420 por defecto sirve. Si las transferencias grandes siguen colgándose, la causa está en otro sitio (reenvío, masquerade, AllowedIPs). Aun así puedes escribir MTU = 1420 de forma explícita.
[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. Añade la línea MTU en [Interface] de /etc/wireguard/wg0.conf y reinicia el túnel
sudo wg-quick down wg0 && sudo wg-quick up wg0
# 2. O cámbialo en caliente sin reiniciar (se pierde en el próximo wg-quick down)
sudo ip link set dev wg0 mtu 1420
ip link show wg0 | grep -o 'mtu [0-9]*'
# Escalera de pings a la IP PÚBLICA del servidor, fuera del túnel: empieza por arriba, el primer tamaño que responde es tu carga útil
# Un tamaño que falla muestra 'message too long', 'needs to be fragmented' o ninguna respuesta
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
# Verificación a través del túnel, a la IP de túnel del servidor: debe responder con el nuevo MTU
ping -M do -s 1392 -c 3 10.66.66.1
# carga útil = MTU menos 28; si falla, baja más el MTU
La mitad de los problemas de MTU son la ruta, no la configuración
Doble NAT, el router de casa y un túnel apilado sobre otro túnel recortan bytes de tu ruta. Un VPS con una IPv4 pública limpia es un único salto en un enlace de 1500 bytes, donde el 1420 por defecto funciona sin más. El VPS de entrada de Contabo incluye una dirección IPv4 pública y acceso root completo.
Enlace de afiliado: podemos recibir una comisión, sin coste extra para ti. La calculadora sigue siendo gratuita y no depende de ello.
De dónde salen los números
WireGuard envuelve cada uno de tus paquetes en un datagrama UDP. La envoltura tiene un tamaño fijo, así que el MTU del túnel es simplemente el MTU de la ruta menos esa envoltura. Es exactamente lo que hace wg-quick cuando no se indica MTU: toma el MTU de la ruta hacia el endpoint y resta 80, de ahí el conocido 1420 en un enlace de 1500 bytes.
| Cabecera | Bytes |
|---|---|
| Cabecera IPv4 externa | 20 |
| Cabecera IPv6 externa | 40 |
| Cabecera UDP | 8 |
| Cabecera de datos de WireGuard (tipo, índice, contador) | 16 |
| Etiqueta de autenticación Poly1305 | 16 |
| Total sobre IPv4 / sobre IPv6 | 60 / 80 |
| Ping: cabeceras IPv4 + ICMP alrededor de la carga útil | 28 |
Una carga útil de ping de 1472 bytes viaja por tanto en un paquete de 1500 bytes. Si 1472 pasa con la bandera de no fragmentar, el MTU de tu ruta es 1500 y el 1420 por defecto sirve. Si solo pasa 1400, el MTU de la ruta es 1428 y WireGuard no debe enviar más de 1348 sobre IPv6. La calculadora resta 80, salvo que indiques que la conexión externa es solo IPv4: entonces bastan 60.
Valores típicos cuando no puedes medir
Un valor medido siempre gana a una tabla. Estas referencias sirven cuando no puedes ejecutar el ping, por ejemplo en un teléfono o en una red que no controlas.
| Tipo de enlace | MTU de la ruta | MTU de WireGuard |
|---|---|---|
| Ethernet, fibra, cable | 1500 | 1420 (por defecto) |
| ADSL/VDSL con PPPoE | 1492 | 1412 |
| Móvil, 5G, CGNAT | variable | 1280 (respaldo) |
| Túnel dentro de otra VPN | reducido dos veces | 1280 (respaldo) |
| Mínimo garantizado de IPv6 | 1280 | 1280 |