Завмирання на дві секунди: VPN чи Wi-Fi?
Двосекундна зупинка та новий сеанс VPN — різні події. Перш ніж змінювати таймер, розведіть шлях доступу й тунель на окремі часові шкали.
Завмирання на дві секунди, яке минає саме, виглядає однаково, незалежно від того, тунель заново домовився чи радіо схибило. Можливо й те, що нічого взагалі не падало, і цю можливість варто перевірити першою. Короткий сплеск втрат, повторні переговори й зависання застосунку відчуваються людиною за клавіатурою однаково. Лише один із трьох випадків виправляється зміною конфігурації тунелю.
Два записи, а не один
Запишіть, що сталося зі з'єднанням нижче, і окремо — що зробив сам тунель. Потім зіставте паузу застосунку з обома записами. Це незалежні ряди подій, які іноді збігаються, а називати всі три обривом означає припускати відповідь уже на початку.
Монітор, що перевіряє раз на хвилину, не може побачити двосекундну перерву. Повідомляти, що день був здоровим, технічно правильно й практично марно. Ставте інтервал вибірки поруч із кожним результатом, який цитуєте.
Що робив канал доступу, поки застосунок завмирав
Інтервал вибірки та тайм-аут визначають, що монітор узагалі міг спостерігати, тож записуйте обидва поруч із результатом. Зафіксована відсутність збоїв мало важить, коли прилад бере пробу кожні шістдесят секунд. Потім перевірте три місця з позначками часу: локальний маршрутизатор, схвалений зовнішній хост, доступний простим шляхом, і ресурс за тунелем.
Спершу підтвердьте маршрути, бо публічна ціль сама може йти через тунель і тоді вимірює тунель, а не шлях доступу. Докази, які справді датують збій, лежать на рівень нижче: події каналу на маршрутизаторі, записи ресинхронізації на модемі та змінений адрес WAN. Накопичувальний лічильник помилок каже, що щось пішло не так, але ніколи — коли. Співвідносьте ці записи з вікном інциденту, а не читайте їх ізольовано.
ping -i 0.5 -c 40 192.168.60.1
mtr -rwc 40 203.0.113.25
ip -brief address show
Лічильник, що зріс учора, нічого не пояснює про завмирання сьогодні вранці. Обмежте кореляцію вікном, про яке повідомив користувач.
Шукайте запис про перезапуск
Загублена датаграма UDP сама по собі не змушує Community OpenVPN починати нові переговори TLS. Поведінка перезапуску підкоряється ping-restart, і чинне значення могло бути нав'язане сервером; посібник для 2.6 визначає ці таймери. Доставка уривається на мить, поріг ніколи не перетинається, і журнал лишається порожнім. Тому шукайте в журналі навколо паузи рядок перезапуску, нове з'єднання або змінений ідентифікатор сеансу. Якщо жодного з трьох не з'явилося, тунель, найімовірніше, нічого не робив, і таймер ніколи не був проблемою.
Скорочення кожного keepalive змушує виявлення виглядати швидшим і зсуває межу, на якій дрібна заминка стає перепідключенням. Кожне перепідключення коштує раунду автентифікації та перевстановлення маршрутів. Розтягування таймера не купує нічого, крім довшого вікна, у якому мертвий шлях усе ще виглядає живим. І те, і те — рішення налаштування з ціною, а не безплатні поліпшення.
Відсутня подія — теж доказ, і саме такий, який люди пропускають, бо ніщо в журналі не привертає до неї уваги. Записуйте пошук, який ви виконали, а не лише його результат.
Нехай порівняння вирішить, що виправляти
Коли обидва записи поруч, віднесення зазвичай пишеться саме. Подія каналу на маршрутизаторі на обох шляхах означає, що тема — з'єднання доступу. Тихий тунель і робочий простий шлях означають, що тема — переговори.
| What you observed | Tunnel log at that second | Where to look next |
|---|---|---|
| two-second pause, plain path answers throughout | nothing | the monitor's resolution, then a loss burst |
| pause plus a router link event, plain path stops and returns | no restart line | the access link, not the tunnel timer |
| pause, then a new session identifier | restart line | the restart threshold and what triggered it |
| one application freezes while both paths answer | nothing | that application and its server-side work |
Кожен рядок — зачіпка, а не вирок: кінцеві точки знижують пріоритет ICMP, і два адресати не обов'язково поділяють один шлях. Тримайте годинники клієнта, шлюзу й застосунку узгодженими, щоб порівняння взагалі було можливим. Рядку, що пасує до двох стовпців, потрібне ще одне спостереження, а не рішення.
Звіт, що витримує перевірку, відповідає на чотири речі: скільки тривало завмирання, які шляхи продовжували відповідати, що тунель записав у ту секунду і як часто монітор бере проби. Ці чотири факти дають наступному читачеві змогу відтворити спостереження, а не довіряти підсумку. Відсоток доступності приховує саме той інтервал, який вас цікавить, і фраза "VPN упав" також.