Tunel, który umiera co piętnaście minut albo co godzinę w tej samej minucie, mówi, że wygasł jakiś licznik, a nie że sieć jest niestabilna. Pożytecznym krokiem jest zapisanie interwału i porównanie go z czterema licznikami, które tworzą ten wzorzec. Zmiana limitów czasu przed tym porównaniem zwykle przenosi usterkę, nie wyjaśniając jej, co czyni następne wystąpienie trudniejszym do odczytania niż pierwsze. Pomiar zajmuje dziesięć minut i zastępuje tydzień zgadywania.

Zamień interwał na liczbę

Zbierz pięć lub sześć wystąpień i oblicz odstęp między nimi, a nie odstęp od początku dnia. Przerwa o 09:12, 10:12 i 11:12 to granica godzinowa; przerwa o 09:12, 09:27 i 09:42 to piętnaście minut od ostatniego udanego połączenia. Zaokrąglij wynik do najbardziej prawdopodobnego licznika, a nie do najbliższej minuty.

Zapisz dwa momenty na zdarzenie: kiedy ruch ostatnio się poruszył i kiedy klient zgłosił rozłączenie. Różnią się, gdy tunel umiera cicho, a klient zauważa to dopiero przy następnym wysłaniu, i właśnie ta różnica oddziela limit bezczynności od twardej awarii. Klient, który zauważa późno, zawyża mierzone okno bezczynności.

Zwróć uwagę, czy ponowne połączenie jest automatyczne. Klient, który łączy się ponownie w kilka sekund, utrzymuje interwał widoczny w logu i poza raportem użytkownika, dlatego te awarie często opisuje się jako sporadyczne, a nie okresowe. Ukrywa też zdarzenie przed osobą używającą laptopa.

Cztery liczniki, które wyglądają podobnie

Prawie każde powtarzające się zerwanie tunelu pochodzi z jednego z nich: odświeżenia kluczy protokołu, wygaśnięcia mapowania bezczynności, zdarzenia DHCP lub interfejsu albo polityki konta. Różnią się tym, czy ruch płynął, i tym, co log mówi na granicy.

Poniższe sygnatury warto poznać, bo pozwalają odrzucić trzy wyjaśnienia na podstawie jednej linii logu:

TimerTypical triggerWhat the log shows at the boundary
Protocol rekeyTraffic present, fixed intervalNegotiation lines, sometimes a failure
NAT or firewall idleNo traffic for minutesSilence, then a timeout on send
DHCP lease or link changeHalf the lease, or a radio eventAddress or interface churn
Account session limitWall-clock hours since loginClean disconnect, server-side reason

Pierwszy wiersz to mechanizm bezpieczeństwa, który wykonuje swoją pracę, a drugi to urządzenie pośredniczące, które zapomina stanu. Mylenie ich prowadzi albo do osłabienia odświeżania, albo do ścigania reguły zapory, która nigdy nie była zaangażowana.

Zajęty kontra bezczynny mówi, która połowa

Wykonaj kontrolowane porównanie z ciągłym ruchem, na przykład długim strumieniem do hosta wewnątrz tunelu, i obserwuj, czy interwał się zmienia. Jeśli przerwa znika, gdy płyną dane, licznik opiera się na bezczynności.

Jeśli przetrwa ciągły ruch, przyczyna należy do odświeżania, dzierżawy lub polityki. Ten jeden test usuwa połowę kandydatów w ciągu około godziny obserwacji i nie kosztuje niczego poza uwagą.

Podczas testu nie zmieniaj sieci dostępu. Przełączanie między Wi-Fi i Ethernetem w połowie porównania wprowadza dokładnie to zdarzenie interfejsu, które próbujesz odróżnić od licznika.

Dopasuj linię logu do granicy

Czytaj logi klienta i serwera wokół zapisanego momentu, a nie cały plik. Odświeżanie pokazuje negocjacje; wygaśnięcie bezczynności nie pokazuje nic do następnego pakietu; zmiana dzierżawy pokazuje pracę z adresem; limit polityki zwykle pokazuje czyste rozłączenie administracyjne.

Te polecenia wyciągają odpowiednie okno z każdego źródła:

grep -iE "reneg|TLS Error|Inactivity" /var/log/openvpn.log | tail -20
journalctl -u NetworkManager --since "-90 min" | grep -iE "dhcp|link"
wg show

Jeśli trzy źródła zgadzają się co do znacznika czasu, znasz właściciela licznika. Jeśli coś jest tylko w logu klienta, serwer prawdopodobnie nie kończy sesji.

Napraw etap, nie ikonę

Każdy właściciel ma jedną obsługiwaną naprawę. Awaria odświeżania wymaga zgodnych propozycji po obu stronach. Wygaśnięcie bezczynności wymaga sygnału utrzymania lub krótszego oczekiwania bezczynności, w granicach tego, co dopuszcza ścieżka. Zdarzenie dzierżawy wymaga poprawy ustawień interfejsu lub zasilania. Limit konta to decyzja polityki, a nie błąd.

Wyłączenie odświeżania lub uwierzytelniania, aby ikona pozostała zielona, wymienia widoczną przerwę na niewidoczną słabość i pozostawia cię bez możliwości powiedzenia, kiedy tunel ostatnio negocjował nowe klucze. Potem ponownie przetestuj pierwotny czas trwania i zachowaj znaczniki czasu, aby następne zdarzenie można było porównać z tym, zamiast zaczynać od nowa.

Powiązane artykuły