El ping de la VPN funciona però el web es penja: comproveu la mida
Una resposta d'eco petita no prova cap oient TCP ni cap transferència gran. Separeu la política d'accés de la mida del paquet abans de baixar l'MTU del túnel.
Arriben les respostes d'eco, l'escriptori remot funciona i el navegador es queda en una pàgina en blanc fins que es rendeix. Dues explicacions encaixen amb aquest patró, i no són variacions d'un mateix problema: una política que mai no va permetre el servei, o paquets que deixen de cabre quan el trànsit creix. La resposta d'eco no descarta cap de les dues.
Aneu de la pregunta més petita a la més gran i anoteu què ha demostrat realment cada pas.
Una resposta d'eco contesta una pregunta molt més petita
Una resposta d'eco diu que la pila IP de la destinació ha contestat una petició ICMP del vostre origen. No diu res sobre si hi ha un oient TCP al port que necessiteu, si una política permet aquest port o si l'host de destinació filtra el trànsit independentment del gateway. Un gateway que permet un servei pot descartar-ne un altre mentre tots dos objectius responen al ping. Llegiu la resposta com un sol fet sobre un sol paquet i una sola direcció.
Confirmeu la destinació i el port del servei abans d'interpretar res més. L'adreça que heu provat i l'adreça que fa servir l'aplicació de vegades són registres diferents, i un nom que es resol en dues adreces ho fa probable.
Esbrineu si la connexió ha començat
Una connexió rebutjada de seguida és una resposta de l'oient o de la política: alguna cosa ha contestat i ha dit que no. Una connexió que s'obre i després s'encalla quan les dades comencen a moure's apunta a la mida. Una connexió que no completa mai l'apretada de mans sol ser cosa de política o d'encaminament, i sembla un temps d'espera més que no pas un rebuig.
curl -v --max-time 10 https://internal.example/ -o /dev/null
ss -tn state established '( dport = :443 )'
Anoteu quin d'aquests tres casos heu observat abans de tocar la configuració d'MTU. Canviar la mida del túnel per arreglar una connexió rebutjada malbarata el canvi i amaga la causa real durant un temps.
Mesureu la mida amb un número declarat
Quan l'encallament apareix sota càrrega, proveu una mida de paquet amb el bit de no fragmentar activat i exposeu l'aritmètica perquè el resultat signifiqui alguna cosa. A Linux amb iputils, una càrrega útil de 1392 bytes més la capçalera ICMP de 8 bytes i la capçalera IPv4 de 20 bytes produeix un paquet interior de exactament 1420 bytes. Exposeu aquesta aritmètica al tiquet, perquè un ping nu que arriba al gateway no demostra res sobre una aplicació.
ping -4 -M do -s 1392 10.44.0.10
ping -4 -M do -s 1372 10.44.0.10
Totes dues sondes són punts de mesura, no recomanacions de mida del túnel. Si l'ICMP es filtra en algun punt del camí, un temps d'espera no us diu res sobre la mida, perquè el filtratge i un paquet massa gran es veuen iguals des del client. Un èxit tampoc no diu res sobre la direcció inversa ni sobre una altra destinació.
Compteu el camí exterior
L'encapsulament afegeix les seves pròpies capçaleres, així que el paquet al filferro és més gran que el paquet que heu mesurat dins del túnel. L'interval entre tots dos és el que fa possible alhora una petició petita que funciona i una de gran que falla.
El descobriment d'MTU del camí a IPv4 depèn de la retroalimentació sobre paquets que no es poden reenviar sense fragmentació, i IPv6 fa servir missatges Packet Too Big. L'especificació IPv4 descriu aquest mecanisme. Filtrar la retroalimentació trenca la capacitat de l'emissor d'aprendre, i el deixa retransmetent paquets que no cabran mai. És per això que una petició petita que funciona i una de gran que falla conviuen tan còmodament.
Canvieu un número i torneu a provar l'aplicació
Baixeu l'MTU del túnel o limiteu la mida màxima de segment per a TCP, i després repetiu la prova original de l'aplicació en lloc de la sonda. Una sonda que té èxit després del canvi i una aplicació que encara es penja són un problema diferent amb una forma semblant, i només la prova de l'aplicació els distingeix.
Manteniu l'aritmètica al registre del canvi: la mida mesurada, el cost addicional que heu suposat i el valor que heu fixat. Qui ho revisi més endavant podrà comprovar la suposició en lloc de tornar a deduir-la a partir d'una captura de pantalla d'un ping.
Si l'aplicació funciona amb totes les mides que heu provat, deixeu d'ajustar números i mireu la política que separa el servei que funciona del que falla.