Рядок каже 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 змінює поведінку доставки й відновлення та додає власні витрати на блокування голови черги. Це проєктне рішення, а не перша реакція на одну позначку журналу. Перевстановлення сервера гірше, бо стирає різницю між статистикою та межею, яка справді відмовила.

П'ята зупинка: перевірте шлях, важливий для користувача

Із підключеним тунелем запустіть власний тест застосунку та прочитайте вибраний маршрут, стан пересилання й зворотний шлях. Тунель, який несе пакети лише в одному напрямку, взагалі не створює повідомлень про відкат, і це значно частіше, ніж серйозне перевпорядкування.

Запишіть, що ви виміряли на кожній зупинці. Саме запис заважає наступному звіту знову почати зі страшного рядка й працювати від нього назовні.

Реалізація ідентифікатора пакета показує порядок статистики й рішення, а посібник описує область послідовності й часу вікна. Читання обох разом — це те, що перетворює страшний рядок журналу на відому величину. Жодне з них нічого не каже про ваш конкретний шлях, тому наведені вимірювання досі важливі.

Схожі статті