Błąd pojawia się przy imporcie, przed jakimkolwiek negocjowaniem, i wskazuje dyrektywę, której klient odmawia przyjęcia. OpenVPN Connect uruchamia kod biblioteki OpenVPN 3, która w ogóle nie implementuje opcji fragment klienta społecznościowego. Czyni to z tego pytanie o zgodność dwóch punktów końcowych, a nie pytanie o dostrajanie rozmiaru pakietu.

Usunięcie wiersza daje plik, który klient sparsuje, i serwer, który być może nadal oczekuje formatu opisanego w tym wierszu. Przejdź przez to od ekranu importu na zewnątrz, zanim cokolwiek zmienisz.

Gdzie zatrzymuje się import

Importer parsuje dyrektywy, zanim połączy się z serwerem, więc odmowa jest tam lokalną decyzją o składni, a nie wynikiem sieciowym, a lista nieobsługiwanych dyrektyw OpenVPN odnotowuje to samo ograniczenie. To wyjaśnia, jak jeden plik może działać w kliencie społecznościowym i zawodzić w Connect na tej samej maszynie. Przeczytaj w komunikacie nazwę dyrektywy i zachowaj oryginalny plik, bo ten tekst jest jedynym dowodem na to, czemu klient się sprzeciwił. Błąd importu i przekroczenie limitu czasu połączenia pochodzą z różnych etapów i zasługują na różne reakcje.

Jeśli komunikat wskazuje fragment, pozostaje pytanie, czy serwer też od niego zależy. Odpowiedz na to, zanim dotkniesz profilu, który dostałeś.

Co fragment zmienia w kliencie społecznościowym

W kliencie społecznościowym dyrektywa włącza własną fragmentację datagramów OpenVPN, która dzieli ładunki, zanim dotrą do zewnętrznej warstwy IP. Istnieje po to, by przetrwać ścieżki, które porzucają duże datagramy UDP, i by tunel pozostał użyteczny tam, gdzie nie można ufać wykrywaniu MTU ścieżki. Nie jest synonimem obniżenia MTU interfejsu ani fragmentacją na poziomie IP wykonywaną przez system operacyjny. Klient bez tego mechanizmu nie zyska go przez obniżenie liczby.

Ponieważ ustawienie żyje także w konfiguracji serwera, usunięcie go z twojej kopii zmienia tylko twoją stronę. Serwer może nadal oczekiwać peera, który rozumie tę opcję, a profil, który się parsuje, nie jest jeszcze sesją, która się zestawia. Te dwa fakty wyjaśniają mylący stan pośredni, w którym zmodyfikowany plik się łączy, a potem zastyga.

Poproś o profil zbudowany dla tego klienta

Czysta droga to drugi profil udokumentowany dla OpenVPN Connect, jeśli usługa taki publikuje. Wielu dostawców to robi, a różnica polega zwykle na pomijanych dyrektywach, nie na punkcie końcowym, na który wskazują. Poproś o niego, podając nazwę klienta, zamiast opisywać błąd, bo pomoc techniczna znacznie szybciej dopasuje profil do klienta, niż zdiagnozuje okrojony plik.

Jeśli to ty prowadzisz serwer, decyzja jest szersza niż twój własny klient. Wyłączenie fragmentacji dotyka każdego peera, także tych, którym była potrzebna, by utrzymać połączenie na słabej ścieżce. Opublikowanie drugiego nasłuchu lub drugiej konfiguracji dla dotkniętego klienta utrzymuje dotychczasowych użytkowników w działaniu, podczas gdy nowszy klient dostaje coś, co potrafi sparsować. Jakkolwiek postąpisz, zapisz, która konfiguracja obsługuje którego klienta, bo to mapowanie inaczej szybko znika.

Zweryfikuj połączenie, nie tylko import

Udany import dowodzi tylko, że parser przyjął plik. Zestaw tunel klientem społecznościowym na maszynie, którą kontrolujesz, z tym samym profilem, i czytaj dziennik pod kątem negocjacji transportu i szyfrowania. Poniższe polecenia robią to bez aplikacji desktopowej na drodze.

openvpn --config client.ovpn --verb 3
ip -4 addr show tun0
curl -sS --interface tun0 -o /dev/null -w '%{http_code}\n' --max-time 8 https://example.com/

Dziennik pokazuje, gdzie próba się zatrzymała: błąd opcji pojawia się przed jakąkolwiek wymianą TLS, a błąd uwierzytelniania lub szyfrowania po niej. Jeśli tunel wstaje, a żądanie nadal zawodzi, problem przeniósł się ze zgodności na routing. Porównaj to z zachowaniem Connect w tej samej sieci, zanim cokolwiek wywnioskujesz o serwerze.

Trzymaj działający profil i wersję klienta obok notatki. Przyszłe wydanie klienta może dodać obsługę dyrektywy, a to zmienia odpowiedź bez dotykania serwera.

Powiązane artykuły