(Copiado de Unix Stack Exchange)
Tiene los síntomas de una MTU Problema:algunas conexiones TCP se congelan, de forma más o menos reproducible para un comando o URL determinado, pero sin un patrón general fácilmente perceptible. Un síntoma revelador es que las sesiones ssh interactivas funcionan bien, pero las transferencias de archivos casi siempre fallan. Además, pppoe es el proveedor número uno del problema de MTU para los usuarios domésticos. Así que prescribo un control de MTU.
¿Qué es? La m máximo t transmisión u nit es el tamaño máximo de un paquete a través de un enlace de red. La MTU varía de un medio de transporte a otro, p. Ethernet por cable y wifi (802.11) tienen diferentes MTU, y los enlaces ATM (que constituyen la mayor parte de la infraestructura de larga distancia) tienen cada uno su propia MTU. PPPOE es un protocolo encapsulado, lo que significa que cada paquete consta de unos pocos bytes de encabezado seguido por el paquete subyacente, por lo que reduce el tamaño máximo del paquete por el tamaño del encabezado. IP permite que los enrutadores fragmenten los paquetes si detectan que son demasiado grandes para el siguiente salto, pero esto no siempre funciona. En teoría, la MTU adecuada debería descubrirse automáticamente, pero esto tampoco siempre funciona. En particular, buscar en Google sugiere que Network Manager no siempre actúa correctamente sobre la información de MTU obtenida del descubrimiento de MTU, pero no sé qué versiones se ven afectadas o cuáles son los casos de uso problemáticos.
Cómo medirlo. Intente enviar paquetes de ping de un tamaño determinado a hosts externos que respondan a ellos, p. ping -c 1 -s 42 8.8.8.8
(en Linux; en otros sistemas, busque la documentación de su ping
dominio). Sus paquetes deben pasar por valores lo suficientemente pequeños de 42 (si 42 no funciona, algo está bloqueando los ping). Para valores más grandes, el paquete no pasará. 1464 es un valor máximo típico si la pieza de infraestructura limitante es su red Ethernet local. Si tiene suerte, cuando envíe un paquete demasiado grande, verá un mensaje como Frag needed and DF set (mtu = 1492)
. Si no tiene suerte, siga experimentando con el valor hasta que encuentre el máximo, luego agregue 28 (-s
especifica el tamaño de la carga útil, y hay 28 bytes de encabezados además de eso). Consulte también Cómo optimizar su conexión a Internet usando MTU y RWIN en los foros de Ubuntu.
Cómo configurarlo (reemplace 1454 por la MTU que haya determinado y eth0
por el nombre de su interfaz de red)
- Como una vez (Linux):ejecute
ifconfig eth0 mtu 1454
- Permanentemente (Debian y derivados como Ubuntu, si no usa Network Manager):Edite
/etc/network/interfaces
. Justo después de la entrada de su interfaz de red (después deliface eth0 …
directiva), agregue una línea conpre-up ifconfig $IFACE mtu 1454
. Alternativamente, si su dirección IP es estática, puede agregar elmtu 1454
parámetro aliface eth0 inet static
directiva. -
Permanentemente (Debian y derivados como Ubuntu, con o sin Network Manager):Cree un script llamado
/etc/network/if-pre-up.d/mtu
con los siguientes contenidos y hacerlo ejecutable mundialmente (chmod a+rx
):#!/bin/sh ifconfig $IFACE mtu 1454