Linia spune PID_ERR replay-window backtrack occurred, iar toate rezultatele căutării o explică drept pachete pierdute și un tunel stricat. În calea UDP a Community OpenVPN 2.6, acel mesaj este scris în timp ce funcția de recepție încă decide ce să facă cu pachetul. Înregistrează un nou maxim de revenire, apoi aceeași funcție compară distanța cu fereastra și cu starea înregistrată înainte de a accepta sau respinge. A citi eticheta jurnalului drept verdict este greșeala pe care această listă de verificare există ca să o prevină.

Prima oprire: identificați ce este linia

Este un diagnostic despre distanța de secvență, nu o decizie despre o conexiune. Apare în implementarea ID-ului de pachet în punctul în care se notează un maxim de revenire observat recent. Acest punct se află înaintea ramurii de acceptare sau respingere, motiv pentru care un pachet care îl declanșează poate fi totuși livrat.

Confirmați ce gazdă l-a scris și cu ce nivel de detaliu. Un server și un client pot amândoi emite mesaje de ID de pachet, iar un mesaj de pe o parte nu spune nimic despre starea de recepție a celeilalte.

A doua oprire: găsiți rezultatul pentru acel pachet

Citiți liniile de după diagnostic, nu doar diagnosticul. Aceeași funcție continuă spre verificările de fereastră și duplicate, așa că rezultatul pentru acel pachet anume este decis câteva instrucțiuni mai târziu și poate foarte bine să fie acceptarea. Un fragment de jurnal care se termină la linia înfricoșătoare nu spune nimic despre rezultat. Căutați o fereastră în jurul ei, nu linia în sine:

journalctl -u openvpn-server@server --since "-10 min" | grep -n -A3 -B3 "backtrack occurred"

Dacă jurnalul nu arată nicio respingere pentru acel partener la acel moment, opriți tratarea acestei linii ca fiind cauza căderii. Treceți la calea aplicației, pentru că acolo se termină de fapt majoritatea rapoartelor de conectat dar fără trafic.

A treia oprire: decideți dacă reordonarea este reală

Reordonarea este o proprietate a căii, iar un diagnostic este o singură mostră a ei. Căutați mesaje repetate pentru același partener într-o fereastră scurtă și comparați cu o captură la ambele capete înainte de a concluziona că rețeaua reordonează agresiv.

Câteva mesaje în timpul unei reconectări nu au nimic ieșit din comun. Un flux continuu alături de expirări reale ale aplicației merită investigat, iar combinația aceea este dovadă, nu etichetă.

A patra oprire: parametrii ferestrei, și ce nu sunt

replay-window ia o dimensiune a secvenței și o valoare de timp opțională, așa că lărgirea ei schimbă două toleranțe diferite deodată. Creșterea numărului admite pachete mai departe de ordine; valoarea de timp limitează cât timp un pachet mai poate fi luat în considerare. Lărgirea este o schimbare de politică cu un cost de securitate și nu întărește un cifru și nu dezactivează detectarea duplicatelor. Cele două toleranțe se mișcă împreună, indiferent dacă ați vrut asta sau nu.

Un pachet autentificat vechi poate fi în continuare o repetare nedorită, de aceea receptorul păstrează aceste verificări. A accepta mai multă reordonare înseamnă a accepta mai mult din acel risc.

Suprimarea avertismentului cu mute schimbă ce vedeți, nu ce face demonul. Dacă scopul este un jurnal mai liniștit în timpul unui eveniment cunoscut, este o alegere operațională legitimă; dacă scopul este repararea unui tunel, suprimarea ascunde dovada.

mute 20
replay-window 64 15

Trecerea transportului exterior la TCP schimbă comportamentul de livrare și recuperare și adaugă costurile proprii de blocare a capului cozii. Este o decizie de proiectare, nu un prim răspuns la o etichetă de jurnal. Reinstalarea serverului este mai rău, pentru că șterge distincția dintre o statistică și granița care chiar a eșuat.

A cincea oprire: testați calea care contează pentru utilizator

Cu tunelul conectat, rulați testul propriu al aplicației și citiți ruta selectată, starea de redirecționare și calea de întoarcere. Un tunel care transportă pachete doar într-o direcție nu produce deloc mesaje de revenire, iar asta este mult mai frecvent decât o reordonare severă.

Notați ce ați măsurat la fiecare oprire. Înregistrarea este cea care împiedică următorul raport să înceapă din nou la linia înfricoșătoare și să lucreze spre exterior de acolo.

Implementarea ID-ului de pachet arată ordinea statisticii și a deciziei, iar manualul descrie domeniul de secvență și de timp al ferestrei. Citirea celor două împreună este ce transformă o linie de jurnal înfricoșătoare într-o mărime cunoscută. Niciuna dintre ele nu spune nimic despre calea dumneavoastră concretă, de aceea măsurătorile de mai sus contează în continuare.

Articole similare