Przerywane połączenia VPN: co zapisywać za każdym razem
Przerywane zerwanie to problem z danymi, zanim stanie się problemem z konfiguracją. Zapisuj pięć pól przy każdym zdarzeniu, a potem porównuj etapy, zanim zmienisz ustawienia.
Przerywane zerwania to problem zbierania danych, zanim stają się problemem konfiguracji. Zapisuj te same pola przy każdym wystąpieniu, inaczej zdarzeń nie da się porównać. Zmiana trzech ustawień po każdym zdarzeniu niszczy jedyny dowód, jaki miałeś.
Poniższa procedura zajmuje około dwóch minut na zdarzenie i daje jedną linię na zdarzenie. Zakłada dostęp tylko do odczytu na urządzeniu, którym administrujesz.
Ustal pola przed pierwszą awarią
Sporządź listę pól, zanim coś się zepsuje, bo szablon wymyślony w środku zdarzenia zawsze pomija kolumnę. Na początek wystarczy pięć pól: czas lokalny z jego przesunięciem, wyzwalacz, etap, który się zepsuł, dokładny tekst błędu i to, czy nowa próba się powiodła.
Wyzwalacz zasługuje na własny słownik: bezczynność, powrót z uśpienia, zmiana sieci, skok obciążenia, odnowienie poświadczeń lub nieznany. Zostaw nieznany oznaczony jako nieznany, zamiast uzupełniać go później z pamięci. Największą wartość ma pole etapu, bo zapisuje, gdzie zatrzymał się łańcuch, a nie co poczuł użytkownik. Tekst błędu trzeba skopiować dosłownie, bo parafraza gubi różnicę między dwoma podobnymi kodami.
Zostaw luki lukami. Szablon, który wymusza odpowiedź, zaprasza do wymyślania, a wymyślony kontekst jest gorszy niż puste miejsce.
| Field | Example | Why it earns its place |
|---|---|---|
| Time with offset | 2026-11-03T09:14+08:00 | Orders events across sources in different zones |
| Trigger | resume from sleep | Separates a cause from a coincidence |
| Stage | handshake ok, no route | Names the boundary that failed |
Zapisz te same pięć faktów w chwili awarii
Za każdym razem uruchamiaj te same polecenia w tej samej kolejności. Dwie minuty wyniku są lepsze niż zdjęcie ikony w zasobniku, a kolejność ma znaczenie, gdy później znaczniki czasu się nie zgadzają.
date -Is journalctl -u wg-quick@wg0 --since "-2 min" --no-pager wg show wg0 latest-handshakes transfer ip route get 203.0.113.10 ping -c 3 -W 2 192.0.2.1
Pierwsza linia stempluje obserwację przesunięciem, i to jedyny sposób, by pogodzić trzy źródła zapisane w różnych strefach. Wyciąg z dziennika obejmuje cykl życia usługi, a linia uzgadniania mówi, czy partner w ogóle odpowiedział. Wyszukanie trasy nazywa interfejs, którego użyłby konkretny cel, i to nie jest ten sam fakt co istnienie interfejsu. Ping na adres tunelu pokazuje, czy coś przechodzi przez łącze, a nie czy druga strona jest osiągalna.
Zapisuj jedną linię na zdarzenie w bieżącym dzienniku, tylko z tymi polami i niczym więcej. Po pięciu lub sześciu wpisach posortuj według wyzwalacza, a potem według etapu. Wzorce pojawiają się jako powtarzające się pary, a para, która nigdy się nie powtarza, jest prawdopodobnie przypadkiem.
Znajdź etap, który się zepsuł
Lokalna łączność, stan partnera, trasy i rozwiązywanie nazw zawodzą w różnych miejscach, a każde zostawia własny ślad. Jeśli interfejs istnieje, ale żadna trasa na niego nie wskazuje, awaria jest lokalną polityką. Jeśli znacznik czasu uzgadniania przestaje się posuwać, gdy interfejs pozostaje podniesiony, awaria jest wyżej.
Rozwiązywanie nazw należy do tego samego zapisu. Resolver, który w poniedziałek szedł tunelem, a we wtorek siecią lokalną, tworzy awarie, które na poziomie aplikacji wyglądają na losowe.
W przypadku autoryzowanego dostępu do serwera koreluj tę samą próbę, a nie pobliskie ponowne połączenie. Zachowaj oryginalne znaczniki czasu, a każde przesunięcie zapisz osobno, bo przekształcenie ich na miejscu zaciera dowód przekształcenia. Jedna próba, jeden zestaw znaczników czasu, jeden wniosek.
Porównuj jeden warunek naraz
Kontrolowane porównanie zmienia jeden istotny warunek i trzyma nieudane uruchomienie obok udanego. Przenieś urządzenie do innej sieci, albo wyłącz jedno wykluczenie, i nie zmieniaj niczego innego w tym samym kroku.
Zachowaj nieudane uruchomienie w zapisie. Usunięcie go na rzecz działającego wyrzuca jedyny dowód granicy, której szukasz.
Udostępnij wyciąg, nie profil
Przed wysłaniem czegokolwiek usuń hasła, tokeny, klucze prywatne, niepowiązane tożsamości i ładunki. Pełny profil to tajemnica konfiguracji, a nie streszczenie połączenia, i nie należy do zgłoszenia.
Wyślij wyciąg z pięcioma polami i powiedz, który etap twoim zdaniem zawiódł. Dzięki temu administrator może zbadać wskazaną granicę, zamiast przewijać zrzuty ekranu rozłączonej ikony. Jeśli granica nadal jest niejasna, następnym krokiem jest jeszcze jeden kontrolowany zapis, a nie kolejna zmiana ustawień.