WireGuard non ten ningunha negociación de MTU. Cifra o que lle entrega a interface e envía o resultado, e se o paquete encapsulado supera a ruta, descártase ou fragméntase nalgún lugar que non podes ver. Alguén ten que escoller a MTU da interface, e ese alguén é a ferramenta que levantou a interface.

Hai tres candidatos, e é doado confundilos.

Tres lugares dos que pode vir o valor

O valor pode fixarse explicitamente na configuración da interface, calculalo a ferramenta de configuración a partir da información de ruta, ou fixalo calquera xestor de rede que posúa a interface. Unha chamada normal de wg non fai nada diso, porque wg só xestiona claves e pares. A MTU vive na interface de rede, e por iso ip link show wg0 é onde a les.

Se non tes claro que caso se aplica, le primeiro a MTU e logo averigua quen iniciou a interface.

Decide segundo quen executa a interface

Se a inicia wg-quick, gaña unha liña MTU explícita e, se non, calcula un valor. Se a inicia un xestor de rede, decide o perfil dese xestor. Se a inicia un contorno de execución de contedores ou un cliente de provedor, le a súa documentación en lugar de supoñer o comportamento de wg-quick.

A decisión non é que número é mellor en abstracto. É que compoñente podes configurar de verdade.

Que fai o cálculo por defecto

wg-quick busca a ruta ata o extremo do par, toma a MTU desa interface de saída e resta a sobrecarga de encapsulación. Cunha cabeceira externa IPv4 son uns 60 bytes; con IPv6 son uns 80. O resultado límítase para que unha ruta de 1500 bytes dea 1420 en lugar dun valor que só funciona nunha familia de enderezos. É un valor por defecto razoable, non unha medición da túa ruta.

Non pode saber nada dun túnel posterior, dunha ligazón móbil ou dunha ruta ICMP filtrada.

O límite agocha unha pregunta real. Se a túa ruta é de verdade 9000 bytes de extremo a extremo, 1420 deixa rendemento sobre a mesa, e se a ruta é de 1400, 1420 xa é demasiado grande. O valor por defecto é un compromiso, e hai que tratalo como tal.

Cando a ruta cambia baixo os teus pés

Un portátil que pasa de Ethernet a Wi-Fi e logo ao punto de acceso dun móbil conserva a MTU da interface coa que comezou. Pode que a ruta externa agora sexa máis pequena, e nada volve negociar. Os túneles aniñados empeórano, porque cada capa resta a súa propia sobrecarga do mesmo orzamento. O valor que funcionaba na oficina non é o valor que funciona no aeroporto.

Un handshake recente demostra que as chaves funcionan. Non demostra nada sobre se caben os paquetes grandes.

Proba un número cada vez

Mantén a mesma aplicación e o mesmo destino, cambia un valor e mide. ping -M do -s 1372 proba un paquete de 1400 bytes co bit DF activado, e esa é a forma de proba que queres. Se as peticións pequenas funcionan e as grandes atascan, tes un problema de tamaño e non de encamiñamento.

Cambia só a MTU. Axustar varias opcións de paquete á vez non che di cal importaba.

E non esperes que un cambio de MTU arranxe unha ruta de retorno que falta, unha regra de reenvío ou un fallo de DNS. Tamén producen síntomas de falta de tráfico, e teñen as súas propias probas. O manual de wg-quick documenta a selección automática.

Artigos relacionados