Откат при повторение в OpenVPN в дневника: какво не доказва редът
Съобщението за откат се записва преди решението за приемане или отхвърляне. Следвайте шест спирки: открийте реда, намерете резултата, после проверете пътя на приложението.
Редът казва PID_ERR replay-window backtrack occurred и всички резултати от търсенето го обясняват като изпуснати пакети и счупен тунел. В UDP пътя на Community OpenVPN 2.6 това съобщение се записва, докато функцията за приемане още решава какво да прави с пакета. Тя отбелязва нов максимум на отката, след което същата функция сравнява разстоянието с прозореца и записаното състояние, преди да приеме или отхвърли. Четенето на етикета от дневника като присъда е грешката, която този контролен списък съществува да предотврати.
Спирка първа: определете какво е редът
Това е диагностика за разстоянието в последователността, а не решение за връзка. Появява се в реализацията на идентификатора на пакета в точката, където се отбелязва новонаблюдаван максимум на отката. Тази точка е преди разклонението за приемане или отхвърляне, поради което пакет, който я предизвиква, все още може да бъде доставен.
Потвърдете кой хост го е записал и с каква подробност. Сървър и клиент могат да издават съобщения на идентификатора на пакета, а съобщение от една страна не казва нищо за състоянието на приемане от другата.
Спирка втора: намерете резултата за този пакет
Четете редовете след диагностиката, а не само диагностиката. Същата функция продължава към проверките на прозореца и дубликатите, така че резултатът за конкретния пакет се решава няколко инструкции по-късно и твърде вероятно е приемане. Откъс от дневника, който завършва на страшния ред, не ви казва нищо за резултата. Търсете прозорец около него, а не самия ред:
journalctl -u openvpn-server@server --since "-10 min" | grep -n -A3 -B3 "backtrack occurred"Ако дневникът не показва отхвърляне за този партньор по това време, спрете да третирате този ред като причина за прекъсването. Преминете към пътя на приложението, защото именно там повечето отчети за свързано, но без трафик всъщност завършват.
Спирка трета: решете дали пренареждането е реално
Пренареждането е свойство на пътя, а една диагностика е един-единствен негов пример. Търсете повтарящи се съобщения за същия партньор в кратък прозорец и ги сравнете със запис от двата края, преди да заключите, че мрежата пренарежда агресивно.
Няколко съобщения по време на повторно свързване не са забележителни. Непрекъснат поток заедно с реални таймаути на приложението заслужава разследване и тази комбинация е доказателство, а не етикет.
Спирка четвърта: параметрите на прозореца и какво не са те
replay-window приема размер на последователността и незадължителна стойност за време, така че разширяването му променя две различни толерантности наведнъж. Увеличаването на числото допуска пакети, които са по-далеч от реда; стойността за време ограничава колко дълго пакетът може да се взема предвид. Разширяването е промяна в политиката с цена за сигурността и не укрепва шифър, нито изключва откриването на дубликати. Двете толерантности се движат заедно, независимо дали сте го искали.
Стар удостоверен пакет все още може да е нежелано повторение, затова получателят пази тези проверки. Приемането на повече пренареждане означава приемане на повече от този риск.
Заглушаването на предупреждението с mute променя това, което виждате, не това, което прави демонът. Ако целта е по-тих дневник при известно събитие, това е законен оперативен избор; ако целта е поправяне на тунел, заглушаването скрива доказателствата.
mute 20
replay-window 64 15Превключването на външния транспорт към TCP променя поведението при доставяне и възстановяване и добавя собствени разходи за блокиране на главата на опашката. Това е проектно решение, а не първи отговор на един етикет от дневника. Преинсталирането на сървъра е по-лошо, защото заличава разликата между статистика и границата, която всъщност е отказала.
Спирка пета: проверете пътя, който е важен за потребителя
Със свързан тунел стартирайте собствения тест на приложението и прочетете избрания от него маршрут, състоянието на препращане и обратния път. Тунел, който пренася пакети само в една посока, не произвежда никакви съобщения за откат и това е много по-често от тежко пренареждане.
Запишете какво сте измерили на всяка спирка. Записът е това, което пречи на следващия отчет отново да започне от страшния ред и да работи навън оттам.
Реализацията на идентификатора на пакета показва реда на статистиката и решението, а ръководството описва обхвата на последователността и времето на прозореца. Четенето на двете заедно е това, което превръща страшния ред от дневника в известно количество. Нито едно от тях не казва нищо за вашия конкретен път, затова измерванията по-горе продължават да имат значение.