Tres axustes nun cliente Linux soan todos a «fai os paquetes máis pequenos», e actúan en capas distintas. A MTU da interface limita cada paquete que envía o dispositivo. A MTU dunha ruta limita os paquetes que usan esa ruta, que adoita ser o que de verdade queres para un destino VPN. O límite TCP MSS cambia o que negocian os dous extremos e non fai nada por UDP.

Tres controis que parecen o mesmo botón

Ponos un canda outro antes de escoller, porque escoller a fila equivocada explica a maior parte do consello que non funciona:

ControlScopeWhat it cannot fix
Interface MTUEvery packet the device sendsNothing, but it over-constrains unrelated traffic
Route MTUPackets using that routeA send that the lookup never routes there
MSS clampTCP handshake on that pathUDP payload sizes and ICMP

Baixar a MTU de Ethernet para toda a máquina é a versión burda deste arranxo. Funciona, e tamén penaliza calquera outra aplicación do host, incluídas as que tiñan as rutas ben. Un valor por ruta expresa a mesma intención sen o custo colateral.

A comparación só vale para o tráfico que xera o propio host. Reenviar un paquete para outro cliente implica a ruta propia dese cliente e o orzamento exterior do túnel, e unha métrica de ruta neste host non chega alén desa fronteira.

Ata o orzamento á ruta que gaña a busca

Un rexistro ilustrativo de ruta IPv4 vese así:

ip -4 route get 10.60.0.20
ip -4 route add 10.60.0.0/16 dev tun-office src 10.90.0.2 mtu 1380

Le o rexistro como unha descrición de intención, non como un valor para pegar. O prefixo, o dispositivo e a fonte preferida teñen que coincidir coa configuración real, e o número ten que vir de probas sobre a ruta encapsulada, non dunha entrada de blog. A MTU da ruta limita o paquete IP interior, que non é o mesmo que unha carga TCP de 1380 bytes nin un paquete exterior cifrado de 1380 bytes.

Mira onde se resolve realmente a busca antes de engadir nada. Un host con regras de política pode encamiñar un destino dado por unha táboa distinta de main, e unha métrica que só existe en main é invisible para esa petición. Compara ip -4 route show table all coa resposta de ip route get, incluído o contexto de marca ou de espazo de nomes cando as regras os usan. Se os dous non coinciden, a táboa que respondeu é a que necesita a métrica, non a que parece máis ordenada.

mtu non é mtu lock

Por defecto o núcleo aínda pode actualizar a MTU da ruta a partir da retroalimentación ICMP, que é para o que serve o descubrimento de MTU de ruta. Engadir lock detén iso. É unha decisión distinta, non unha forma máis forte de gardar o mesmo número, e en IPv4 cambia o tratamento documentado do bit de non fragmentar.

Bloquear é razoable cando mediu a ruta e quere que o valor quede fixo pase o que pase. É un mal valor por defecto cando a rede envía retroalimentación lexítima de tamaño, porque o núcleo xa non pode axustarse e o fallo trasládase a outro síntoma.

Se se filtra ICMP nalgún punto da ruta, ningún axuste de ruta o repara. O arranxo corresponde ao filtro, e unha MTU menor é un apaño que oculta o fallo real ata o seguinte cambio de ruta.

O software de túnel engade os seus propios botóns de tamaño

OpenVPN- mssfix axusta o tamaño de segmento TCP para o seu caso documentado de túnel UDP. Actúa sobre a conversa TCP, así que non é outra grafía da MTU de ruta do sistema operativo, e non pode axudar a un servizo UDP que ignora a negociación.

Non apiles unha MTU de ruta, un cambio de MTU de interface e un límite MSS na mesma ventá de cambios. Se o problema desaparece, non saberás cal importou, e os que conserves limitarán o tráfico durante anos sen un motivo que alguén recorde.

Faino reversible e despois demóstrao

O propietario real da ruta decide se o cambio sobrevive a unha reconexión. Un cliente VPN que instala a ruta de forma dinámica normalmente reconstruiraa sen a túa métrica, e un ip route add manual entón parece un arranxo que fallou un día despois. Pon o valor na configuración do xestor e, se necesitas un experimento temporal, anota primeiro a ruta orixinal.

Proba cunha conexión nova que faga a operación que se atascou, e logo confirma que a ruta privada prevista segue gañando e que os destinos non relacionados non cambiaron. Reconecta o túnel e volve ler a ruta, porque un valor que desaparece ao reconectar non é un arranxo.

Se a evidencia non respalda o cambio, quita a substitución polo seu xestor e restaura os atributos orixinais da ruta en lugar de borrala. Despois anota que mediu e en que ruta, para que a seguinte persoa distinga unha mellora real dun experimento que se deixou funcionando.

Artigos relacionados