Stránky sa načítajú, ale nahrávanie cez VPN zamrzne: ktorá príčina vyhráva
Zaseknutie závislé od veľkosti zodpovedá poruche MTU cesty a tiež DNS, limitu aplikácie alebo nestabilnému tunelu. Ktorá z nich to je, rozhodujú štyri pozorovania.
Stránky sa načítajú, VPN hlási pripojenie a nahrávanie súboru zakaždým zamrzne v tom istom bode. Tomu popisu zodpovedajú štyri vysvetlenia: problém s veľkosťou paketa, problém s prekladom mien, limit aplikácie a tunel, ktorý sa neustále obnovuje. Každé z nich možno potvrdiť alebo vylúčiť iným pozorovaním, takže rozhodnutie spočíva vo výbere správneho testu, nie v hádaní príčiny.
Štyria kandidáti a jeden tvar
Začnite tvarom poruchy, pretože ten vyradí väčšinu zoznamu skôr, než otvoríte akýkoľvek nástroj. Zaseknutie, ku ktorému dochádza pri stálej veľkosti, je problém veľkosti, kým sa nepreukáže opak. Zaseknutie v náhodných bodoch je problém strát alebo stability. Zlyhanie pred otvorením spojenia je problém mien.
Štvrtým kandidátom je aplikácia. Limity nahrávania, časové limity požiadaviek a stropy veľkosti tela na proxy vytvárajú zlyhania, ktoré z prehliadača vyzerajú ako sieťové poruchy, a zvyčajne prichádzajú ako odmietnutie, nie ako zamrznutie.
Zapíšte pozorovaný tvar, než čokoľvek otestujete. „Zastaví sa približne na rovnakom počte bajtov, zakaždým, keď je tunel hore“ je oveľa silnejší východiskový bod ako „nahrávanie nefunguje“.
Potom počas testovania držte cestu nezmenenú. Zmena výstupu, protokolu a servera naraz dáva výsledok, ktorý nemôžete pripísať žiadnemu z nich. Jedna premenná na beh, a zapíšte ju.
Rozdeľte veľkosť na polovicu, kým sa dotknete politiky
Najlacnejší rozlišovač je sonda, ktorá mení jedno číslo. Pošlite na cieľ pingy s rastúcou veľkosťou a zákazom fragmentácie, nahrajte súbor, ktorý ovládate, na tú istú službu a potom porovnajte, kde sa každý zastaví.
ping -M do -s 1472 203.0.113.9
curl -T ./probe.bin -o /dev/null -w '%{size_upload} %{time_total}
' https://example.net/uploadPrvý príkaz hlási, či paket plnej veľkosti vôbec prejde cestou. Pri MTU 1500 bajtov je najväčšie ICMP užitočné zaťaženie, ktoré sa nefragmentuje, 1472 bajtov, a tunel si z tohto rozpočtu vezme ešte viac, než vnútorný paket začne. Druhý vám dá veľkosť a trvanie prenosu na úrovni aplikácie, a to je číslo, na ktorom skutočne záleží.
| Candidate | Observation that confirms it | Observation that rules it out |
|---|---|---|
| Path MTU or blocked ICMP feedback | Stall at a consistent size; large do-not-fragment probes fail | Small and large transfers both complete |
| Name resolution | The connection never opens for that name | The connection opens and then stalls mid-transfer |
| Application or proxy limit | A clean rejection at a documented size | No log entry on the server at all |
| Tunnel instability | Reconnects or rekeying during the transfer | The tunnel uptime is unchanged across the failure |
Čítajte oba spolu. Sondy, ktoré zlyhávajú nad prahom, a nahrávanie, ktoré sa zastaví blízko toho istého prahu, tvoria súvislý príbeh. Sondy, ktoré všetky uspejú, zatiaľ čo nahrávanie zamrzne na počte bajtov, ktorý cesta zjavne prenáša, ukazujú na aplikáciu alebo server a žiadna práca s MTU to nezmení. Taký negatívny výsledok má rovnakú cenu ako pozitívny. Odstraňuje najdrahšiu vetvu vyšetrovania.
Potom skontrolujte stabilitu počas prenosu, pretože tunel, ktorý uprostred veľkého nahrávania obnoví kľúč, vytvára zlyhanie, ktoré vyzerá závislé od veľkosti, hoci také nie je. Odčítanie doby prevádzky je najlacnejší spôsob, ako to potvrdiť.
Rozhodnite sa medzi opravou a obchádzkou
Ak dôkazy ukazujú na veľkosť, existujú dve poctivé odpovede a jedna nepoctivá. Poctivé sú obnoviť objavovanie MTU cesty povolením potrebnej spätnej väzby ICMP, alebo obmedziť oznámenú veľkosť segmentu, aby partneri posielali menšie segmenty. Nepoctivá je znížiť MTU rozhrania na hodnotu odpísanú z fóra a nikdy neoveriť, čo zmenila.
Voľba závisí od toho, čo ovládate. V sieti, ktorú prevádzkujete, je povolenie ICMP správ čistejšou opravou, pretože udržiava mechanizmus funkčný pre každý protokol. Na ceste, ktorú neovládate, je obmedzenie praktickou možnosťou a malo by sa uplatňovať úzko, nie na celom serveri.
Ak dôkazy ukazujú na aplikáciu, opravte aplikáciu alebo jej konfiguráciu proxy. Odpoveď 413 a zaseknuté spojenie sú rôzne zlyhania a druhé je zvyčajne časový limit niekde v reťazci, ktorý zahŕňa proxy s vlastnými limitmi.
V každom prípade si ponechajte pôvodné hodnoty a po vrátení zmien otestujte znova. Zmena, ktorá sa zhoduje s funkčným prenosom, nie je dôkazom, že ho spôsobila, a možnosť vrátiť ju späť je to, čo oddeľuje diagnózu od náhody.
Zaznamenajte rozhodnutie, aby prežilo ďalší incident
Stačia štyri fakty: pozorovaný tvar poruchy, výsledky sond, vykonaná zmena a výsledok opakovaného testu. S nimi ďalší človek zistí, či ide o ten istý problém, alebo o nový s rovnakým príznakom.
Zaznamenajte aj kontext cesty, pretože zistenie o MTU je špecifické pre konkrétne spojenie. Notebook, ktorý doma funguje a v hoteli zlyháva, má dve cesty a oprava použitá na jednej z nich nič nehovorí o druhej.
Nakoniec odolajte zhrnutiu, že „VPN pokazila nahrávanie“. Tunel bol prítomný v oboch prípadoch, funkčnom aj zlyhávajúcom; zmenila sa veľkosť paketu, ktorý cesta musela preniesť, alebo miesto, kde sa prenos zastavil. Pomenovanie skutočného mechanizmu je to, čo robí poznámku užitočnou.