Marcio Cunha

¿WireGuard lento? Cómo solucionar pérdida de paquetes y MTU

Aprenda a diagnosticar y resolver la pérdida de paquetes, cuellos de botella de MTU y fallos de handshake en túneles WireGuard paso a paso.

Marcio Cunha•4 min
También disponible en:PortuguêsEnglish
Resumen
  • La pérdida de paquetes en redes virtuales suele ocurrir cuando el MTU supera la capacidad física de la ruta de red.
  • La unidad máxima de transmisión define el límite de bytes que un paquete puede tener sin sufrir fragmentación.
  • Los fallos silenciosos de handshake frecuentemente indican bloqueos de tráfico UDP en cortafuegos intermedios.
  • Ajustar las reglas de MSS clamping evita que paquetes sobredimensionados sean descartados dentro del túnel VPN.
  • Las herramientas de diagnóstico ayudan a aislar fallos de enrutamiento antes de culpar a la criptografía.

¿Por qué WireGuard experimenta pérdida de paquetes en la práctica?

WireGuard se ha convertido en el estándar de oro para redes privadas virtuales debido a su simplicidad y excelente rendimiento. Sin embargo, cuando se implementa sobre conexiones de internet inestables o proveedores con filtrado estricto, los usuarios a menudo experimentan velocidades lentas o conexiones colgadas. En la práctica, esto significa que los paquetes de datos más grandes simplemente desaparecen a mitad de camino porque superan los límites de tamaño soportados por la ruta de enrutamiento física.

Antes de culpar a la sobrecarga de cifrado o al alto uso de CPU, debemos entender que el tráfico encapsulado añade peso de cabecera. Si la red física intermedia impone un límite estricto de tamaño de paquete, el exceso se descarta. Para investigar problemas complejos de conectividad, vale la pena contrastar técnicas detalladas cuando aprendemos a diagnosticar pérdida de paquetes y latencia con mtr, mapeando cada salto de ruta.

Entendiendo el MTU y la fragmentación invisible

El MTU, o Unidad Máxima de Transmisión, define el bloque de datos más grande que se puede enviar en un solo paquete de red. En las líneas de internet estándar, el valor predeterminado suele ser 1500 bytes. Cuando creamos un túnel WireGuard, el paquete IP original recibe cabeceras de cifrado adicionales y encapsulamiento UDP, requiriendo más espacio y elevando el tamaño total.

Si la ruta entre su computadora y el servidor VPN cruza routers que no aceptan paquetes mayores a 1500 bytes sin fragmentación, y WireGuard intenta enviar 1420 bytes más la cabecera, el paquete supera el límite. Como UDP no maneja nativamente el rearmado automático de la misma manera que TCP, el resultado es un silencio absoluto o páginas que nunca terminan de cargar.

Cómo diagnosticar el tamaño de MTU ideal en el túnel

Para descubrir si su MTU está mal configurado, debemos realizar pruebas de ping forzando paquetes que no acepten fragmentación. Esto se logra utilizando la herramienta de ping del sistema operativo con parámetros específicos de tamaño y restricciones de división.

En la práctica, ejecute el comando siguiente reemplazando la dirección IP con el destino de su túnel y ajustando el tamaño del paquete hasta encontrar el punto de ruptura:

ping -M do -s 1372 10.0.0.1

Si el comando devuelve mensajes indicando que el paquete necesita ser fragmentado pero la opción lo impide ('frag needed'), significa que el valor es demasiado alto. Reduzca el recuento de bytes progresivamente hasta que las respuestas comiencen a llegar normalmente sin errores.

Solución de problemas de handshake y puertos bloqueados

Otro problema clásico que genera pérdida intermitente de paquetes en WireGuard involucra fallos en el handshake, que representa la negociación inicial de claves criptográficas. Debido a que WireGuard opera enteramente sobre el protocolo UDP, los cortafuegos corporativos agresivos o los operadores móviles pueden limitar o bloquear ese puerto específico.

Cuando el handshake falla silenciosamente, el túnel parece conectado, pero ningún dato fluye. Para inspeccionar si los paquetes cifrados realmente están transitando y si hay pérdida severa de tramas debido a un enrutamiento incorrecto, puede complementar su análisis utilizando métodos descritos cuando diagnosticamos bucles de difusión en la red con Wireshark para capturar y auditar el tráfico bruto a nivel de interfaz.

Paso a paso para ajustar el MTU y estabilizar la conexión

Para aplicar la corrección definitiva de MTU en su interfaz de red virtual WireGuard, siga el procedimiento a continuación directamente en el servidor o cliente afectado:

  1. Abra la terminal con privilegios administrativos y edite el archivo de configuración de la interfaz WireGuard (generalmente ubicado en /etc/wireguard/wg0.conf).
  2. En la sección [Interface], agregue o modifique la línea de MTU a un valor seguro y compatible como 1360 o 1280 (mínimo estándar IPv6): MTU = 1360.
  3. Reinicie el servicio de la interfaz para aplicar las nuevas reglas ejecutando el comando de reinicio de systemd.
sudo systemctl restart wg-quick@wg0

Esta modificación fuerza al túnel a empaquetar los datos en porciones más pequeñas que respetan cualquier cuello de botella de la infraestructura intermedia, eliminando los descartes silenciosos. Para profundizar en estos conceptos arquitectónicos en producción, consulte también nuestro análisis técnico sobre Cómo probar el reloj de la tarjeta gráfica con osciloscopio.

Consideraciones finales sobre la resiliencia en redes virtuales

Mantener un túnel WireGuard saludable requiere un monitoreo constante de la calidad del enlace y una estrecha atención a los detalles de la capa de enlace de datos. Pequeños cambios en la ruta de su proveedor de servicios de internet pueden alterar el camino físico y exigir ajustes finos en el MTU.

Al comprender el impacto del encapsulamiento y dominar las herramientas de prueba de paquetes, garantiza una infraestructura de red privada blindada contra caídas misteriosas y lentitudes inexplicables.