Tunel, który wstaje i potem restartuje się co pół minuty, zwykle nie jest problemem szyfru ani MTU. To jedna tożsamość użyta dwa razy. Serwer widzi znaną nazwę wspólną, przyjmuje nową sesję jako najnowszą, a starsze urządzenie odkrywa, że zostało zastąpione. Z perspektywy klienta wygląda to jak przekroczenie limitu bezczynności i restart, dlatego dochodzenie tak często zaczyna się w złym miejscu.

Zacznij od odstępu restartów

Odstęp jest wskazówką przede wszystkim innym. Równy rytm zgodny z oknem ping-restart wskazuje na zastępowaną sesję, a nie na zawodną ścieżkę, bo awarie ścieżki rzadko bywają tak regularne. Zapisz dokładny odstęp między restartami i wiersz przyczyny w logu klienta. Przekroczenie limitu czasu, po którym następuje restart, opowiada inną historię niż nieudany uścisk dłoni.

Sprawdź, kiedy restarty się zaczęły w stosunku do drugiego urządzenia. Nowy laptop, telefon albo profil skopiowany na zapasową maszynę to typowe wyzwalacze, a moment zwykle zgadza się z dniem, w którym ktoś go skonfigurował.

Zapisz odstęp i przyczynę. Oba są dowodem, a oba są tanie do zebrania.

Przeczytaj, co serwer powiedział o drugim logowaniu

Na serwerze, który kontrolujesz, log podaje nazwę wspólną i pokazuje nadchodzące drugie połączenie. Bez duplicate-cn to przybycie zastępuje istniejącą sesję o tej samej nazwie, a komunikat zwykle mówi to wprost. Z duplicate-cn obie sesje współistnieją i objaw się zmienia: klienci pozostają połączeni, ale dzielą jeden zestaw ustawień na klienta i jedną decyzję o unieważnieniu. Czytaj oba wpisy razem, bo zastąpienie widać tylko w sekwencji.

W usłudze hostingowej możesz nie mieć żadnego logu serwera. Wskazówką jest wtedy czas: stabilny tunel, który pada za każdym razem, gdy łączy się inna maszyna, a w logu klienta nie ma nic poza przekroczeniem limitu.

Porównaj bloki certyfikatu i klucza w obu profilach, nie tylko nazwę zdalnego hosta. Skopiowane profile zwykle różnią się tylko nazwą pliku.

Rozdziel tożsamość po stronie serwera

Wydaj jeden certyfikat na urządzenie przez CA, które podpisuje dla tego serwera. W Easy-RSA oznacza to osobną nazwę klienta dla każdego urządzenia, a profil jest potem budowany z tego certyfikatu i jego klucza. Nazwa wspólna staje się tożsamością urządzenia i dokładnie tego serwerowi brakowało. Nazywaj je według urządzenia, a nie osoby, żeby wymiana dawała nową nazwę.

Wspólny klucz kanału sterującego to osobna sprawa. tls-crypt lub tls-auth chroni kanał sterujący każdego klienta i jest przeznaczony do współdzielenia. To nie jest tożsamość klienta, a jego wymiana nie naprawi zduplikowanego certyfikatu.

Trzymaj certyfikat, klucz i każdy plik konfiguracji klienta pod tą samą nazwą wspólną, inaczej mapowanie pęka przy następnym połączeniu. Niezgodność tam daje klienta, który się uwierzytelnia, a potem nic nie otrzymuje.

Utrzymuj adresy i ustawienia w zgodzie po rozdzieleniu

Stałe adresy wprowadzają drugi sposób kolizji. Jeśli serwer przydziela je przez ifconfig-pool-persist albo plik na klienta, te zapisy nadal wskazują starą nazwę. Dwa urządzenia mogą dostać ten sam adres tunelu nawet po rozdzieleniu certyfikatów, a ta awaria wygląda inaczej niż pierwotna pętla.

Zaktualizuj mapowanie równocześnie z certyfikatem, potem połącz ponownie oba urządzenia i porównaj przydzielone im adresy. Zduplikowany adres objawia się jako przerywana utrata, a nie czyste ponowne połączenie.

Ustawienia, które mają się różnić na urządzenie, wysyłaj przez plik tego urządzenia, nie przez wspólny szablon. Wspólny szablon utrudnia też dostrzeżenie następnego duplikatu.

Wycofaj starą tożsamość porządnie

Unieważnij certyfikat, gdy sprzęt jest wycofywany lub zaginął, zamiast usuwać profil ze starej maszyny. Unieważnienie tworzy nowy CRL, a serwer potrzebuje tego pliku tam, gdzie wskazuje crl-verify. Przy tej dyrektywie w miejscu brakujący lub nieczytelny CRL powoduje odrzucanie każdego klienta, więc po każdej aktualizacji przetestuj jedno znane konto.

Prowadź inwentarz wiążący każdy certyfikat z osobą lub urządzeniem, z datami wydania i unieważnienia. Ten inwentarz odpowiada, kto nadal ma dostęp, bez czytania nazw plików, i nie pozwala następnemu skopiowanemu profilowi znów zacząć pętli.

Powiązane artykuły