Windows L2TP carrega alguns llocs: neteja el bit DF al pfSense
Un client L2TP que carrega la intranet però s’encalla en alguns llocs públics té un problema d’MTU. Neteja el bit DF o limita l’MSS, i després confirma-ho amb una captura.
L’ordinador portàtil es connecta, la intranet carrega i un grapat de llocs públics s’encallen. L’autenticació i l’encaminament funcionen clarament, cosa que deixa la mida del paquet com a explicació. En un túnel L2TP/IPsec l’MTU útil és més petit del que l’adaptador encara anuncia, i el client continua enviant paquets de mida completa amb el bit de no fragmentar activat. Es pot ordenar a una passarel·la pfSense que esborri aquest bit, i aquesta és la manera més ràpida de confirmar el diagnòstic abans d’arreglar-ho bé.
Comença per les pàgines que fallen
Anota quins destins fallen i quins funcionen abans de tocar cap paràmetre. Les encaixades que es queden sota el límit del túnel es completen amb normalitat, mentre que les transferències que necessiten un segment de mida completa s’aturen a mig camí. Aquesta divisió és la signatura d’un problema de mida i no d’un filtre, perquè un destí bloquejat falla en establir la connexió i no a mig camí de la pàgina. Totes dues observacions no costen res i estrenyen la cerca immediatament.
Prova-ho amb un ping que activi el bit i controli la mida de la càrrega útil. La càrrega més gran que sobreviu t’indica l’MTU real del camí, i el valor anunciat de l’adaptador mostra com de lluny són els dos.
Anota tots dos números. L’arreglament depèn de quin és el dolent, i el parell és el que una captura confirmarà més endavant.
Què fa el bit DF a la sortida
L’encapsulació és la raó per la qual els números difereixen. IPsec afegeix ESP, L2TP afegeix una altra capçalera, i per tant el túnel porta menys càrrega útil que l’enllaç físic. Windows encara informa de 1500 bytes a l’adaptador i activa el no fragmentar en el que envia. Quan un paquet així no hi cap, la resposta correcta de la passarel·la és un missatge ICMP que demana al remitent que es redueixi. Per això un túnel que passa pings petits encara pot fer fallar una descàrrega de fitxer.
Aquest missatge sovint no arriba mai. Algun salt pot filtrar ICMP, o res no el genera, i el remitent repeteix la mateixa mida fins que la transferència es rendeix.
El silenci és la presentació normal aquí, i per això el símptoma es llegeix com un bloqueig selectiu. Res al registre del client no enregistra un missatge ICMP absent.
L’opció de pfSense, i què no fa
L’opció és a la pàgina Sistema, Avançat, Tallafocs i NAT, amb l’etiqueta «Esborra els bits DF no vàlids en lloc de descartar els paquets». En lloc de descartar un paquet massa gran que porta el senyal, el filtre treu el senyal i deixa que el paquet es divideixi més avall. Un paquet compta com a no vàlid quan no pot travessar la interfície de sortida d’una sola peça.
L’opció restaura la connectivitat sense tocar el client, i per això és popular. També és un pedaç: la fragmentació costa CPU i fa més car cada fragment perdut.
S’aplica només al trànsit reenviat, no al trànsit que origina el mateix tallafocs. La mateixa pàgina ofereix «Desactiva l’escombrat del tallafocs», que apaga la normalització del tot, i això és un canvi molt més ampli del que necessita aquest problema.
Un arreglament més estret que manté TCP sense fragmentar
Gairebé tots els fluxos encallats són TCP, i TCP pot negociar un segment més petit en lloc de dependre de la fragmentació. Limitar l’MSS a la interfície del túnel reescriu el valor anunciat durant l’encaixada, de manera que cada costat envia el que realment hi cap. Llavors el camí es comporta de manera previsible i cap paquet no s’ha de dividir.
Això deixa l’UDP al descobriment o a l’opció DF. Quan els llocs que fallen són pàgines web corrents, el límit és el canvi que cal preferir.
El client pot informar del seu propi MTU d’adaptador mitjançant netsh interface ipv4 show subinterfaces. Compara aquesta xifra amb la que el servidor creu que ha negociat, perquè les dues no sempre coincideixen. Aquest valor és el que el sistema operatiu farà servir realment, digui el que digui la negociació.
Confirma-ho amb una captura i després restableix l’estat
Fes una captura als dos costats abans de decidir: un rastre on va el túnel i un altre on va la interfície WAN. Els paquets que surten a mida completa sense cap ICMP que torni assenyalen el límit com la capa correcta. Les respostes que arriben i després moren a la tornada assenyalen en canvi l’MTU del túnel.
Neteja la taula d’estats abans de tornar-ho a provar, perquè els fluxos existents conserven les seves mides de segment antigues. Després carrega la pàgina que va fallar i llegeix la vista d’estats per al trànsit bidireccional en lloc de comptadors d’un sol costat. Si encara s’encalla, torna a capturar en lloc de provar una altra casella.