OpenVPN zgłasza niespójne użycie MTU: co porównuje ostrzeżenie
Ostrzeżenie porównuje opcje partnerów, a nie rozmiary pakietów. Oddziel przestarzałą wartość link-mtu od rzeczywistego problemu MTU na ścieżce i przetestuj sondą uwzględniającą rozmiar.
To ostrzeżenie informuje o porównaniu opcji partnerów, a nie o pomiarze ścieżki między nimi. Ludzie czytają je jako „MTU jest złe” i zmieniają liczbę, aż linia zniknie. Traktuje to porównanie konfiguracji jak pomiar sieci i często pogarsza tunel, jednocześnie wyciszając dziennik. Użytecznym pierwszym krokiem jest ustalenie, który z tych dwóch problemów naprawdę masz.
Odpowiedź rozstrzygają trzy warunki: co porównują partnerzy, czy wartość jest przestarzała i jaki objaw występuje poza ostrzeżeniem.
Ostrzeżenie porównuje opcje, a nie pakiety
Partnerzy OpenVPN wymieniają swoje łańcuchy opcji podczas uzgadniania i porównują je w ramach kontroli spójności opcji. Gdy jedna strona zgłasza link-mtu lub tun-mtu inaczej niż druga, rozbieżność jest zapisywana z obiema wartościami. Ta wymiana nigdy nie wysyła dużego pakietu, aby sprawdzić, co się stanie, więc ostrzeżenie opisuje konfigurację, a nie przepustowość. Tunel może przenosić ruch pełnowymiarowy i nadal to wypisywać albo zawodzić przy dużych pakietach i nie wypisywać nic.
Zachowaj całe ostrzeżenie wraz z wartością lokalną i zdalną. Para jest dowodem; pojedyncza liczba, którą pamiętasz, nie jest.
Dlaczego link-mtu jest przestarzała
OpenVPN 2.6 uznaje link-mtu za przestarzałą, ponieważ zmienne nagłówki i wynegocjowane szyfry czynią stałą wartość łącza zawodną. Opcja zakładała układ pakietu, którego protokół już nie gwarantuje, więc stary profil z dosłownym link-mtu opisuje zamiar, którego obecny kod nie może spełnić. Kopiowanie tej liczby do nowego profilu rozprzestrzenia przestarzałe założenie. Czytaj to jako część historii starego profilu, a nie jako zalecenie.
Kontrola spójności ma też opcjonalną wartość OCC powiązaną z tun-mtu, która zmienia to, co jest porównywane, nie zmieniając tego, co przenosi sieć. Ustawienie jej nie sprawia, że większe pakiety się mieszczą.
Napraw profil przed testowaniem ścieżki
Usuń niezamierzoną rozbieżność przez tego, kto posiada profile, i pamiętaj, że zmiana po stronie serwera dotyczy każdego klienta. Edytuj profil, który instancja rzeczywiście ładuje, a nie eksport w folderze pobierania. Następnie połącz ponownie jednego klienta testowego i zanotuj, które ostrzeżenie przetrwa. Jeśli komunikat zmienia kształt zamiast znikać, porównujesz inne opcje, niż myślisz.
Współdzielony serwer wymaga sprawdzenia spisu klientów przed przesunięciem globalnej wartości, ponieważ wartość odpowiednia dla jednej lokalizacji może zepsuć inną.
Następnie przetestuj objaw, który naprawdę masz
Jeśli duże transfery się zatrzymują, a małe żądania kończą się sukcesem, zmierz rozmiar pakietu wobec kontrolowanego celu. Sonda, która ustawia bit „nie fragmentuj” i zwiększa rozmiar ładunku, znajduje użyteczne MTU ścieżki znacznie pewniej niż ping, który po prostu się udaje. Uwzględnij w teście także zawodzącą aplikację: limit czasu ICMP może odzwierciedlać filtrowanie, a mały udany ping nic nie mówi o pełnowymiarowym pakiecie aplikacji.
mssfix ogranicza MSS ogłaszany dla sesji TCP wewnątrz tunelu, co pomaga TCP i nic nie robi dla wewnętrznego obciążenia UDP. Ustawienia fragmentacji i odciążania mają własne warunki zgodności. Wybierz jeden mechanizm dla wykazanego problemu, zamiast zmieniać kilka naraz, aby wyciszyć linię dziennika.
Zapisz wartości efektywne wraz z wynikiem
Zapisz pierwotne i poprawione wartości efektywne obok wyniku rzeczywistego transferu. To właśnie ta para oddziela przestarzałą opcję profilu od problemu MTU na ścieżce, który istnieje niezależnie. Bez niej następny czytelnik widzi ostrzeżenie, które zniknęło, i zakłada, że sieć się zmieniła.
Wyciszenie kontroli spójności niczego nie godzi. Usuwa obserwację i pozostawia obie konfiguracje takie, jakie były.