VPN rozłącza się w tym samym interwale? Dopasuj licznik
Przerwa w stałym interwale to odcisk palca. Porównaj odświeżanie kluczy tunelu, licznik bezczynności NAT, dzierżawę DHCP i limit konta, zanim cokolwiek zmienisz.
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:
| Timer | Typical trigger | What the log shows at the boundary |
|---|---|---|
| Protocol rekey | Traffic present, fixed interval | Negotiation lines, sometimes a failure |
| NAT or firewall idle | No traffic for minutes | Silence, then a timeout on send |
| DHCP lease or link change | Half the lease, or a radio event | Address or interface churn |
| Account session limit | Wall-clock hours since login | Clean 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 showJeś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.