Це попередження повідомляє про порівняння параметрів партнерів, а не про вимірювання шляху між ними. Люди читають його як «MTU задано неправильно» і змінюють число, доки рядок не зникне. Так порівняння конфігурації сприймають за вимірювання мережі, і це часто робить тунель гіршим, а журнал тихішим. Корисний перший крок — вирішити, яка з цих двох проблем у вас справді є.

Відповідь визначають три умови: що порівнюють партнери, чи застаріле значення і який симптом існує поза попередженням.

Попередження порівнює параметри, а не пакети

Партнери OpenVPN обмінюються рядками параметрів під час рукостискання і порівнюють їх у межах перевірки узгодженості параметрів. Коли одна сторона повідомляє link-mtu або tun-mtu інакше, ніж інша, невідповідність записується з обома значеннями. Цей обмін ніколи не надсилає великий пакет, щоб подивитися, що станеться, тому попередження описує конфігурацію, а не пропускну здатність. Тунель може передавати трафік повного розміру і все одно друкувати його або збоїти на великих пакетах і не друкувати нічого.

Зберігайте повне попередження разом з локальним і віддаленим значенням. Пара — це доказ; окреме число, яке ви запам'ятали, ним не є.

Чому link-mtu застарів

OpenVPN 2.6 оголошує link-mtu застарілим, бо змінні заголовки й узгоджені шифри роблять фіксоване значення каналу ненадійним. Параметр припускав таку компонування пакета, якої протокол уже не гарантує, тому старий профіль з буквальним link-mtu описує намір, який поточний код не може виконати. Копіювання цього числа в новий профіль поширює застаріле припущення. Читайте його як частину історії старого профілю, а не як рекомендацію.

Перевірка узгодженості також має необов'язкове значення OCC, прив'язане до tun-mtu, яке змінює те, що порівнюється, не змінюючи того, що передає мережа. Його встановлення не дозволяє більшим пакетам уміститися.

Виправте профіль перед тестуванням шляху

Усувайте ненавмисну невідповідність через того, кому належать профілі, і пам'ятайте, що зміна на боці сервера зачіпає кожного клієнта. Редагуйте профіль, який екземпляр справді завантажує, а не експорт у теці завантажень. Потім перепідключіть одного тестового клієнта і зауважте, яке попередження залишається. Якщо повідомлення змінює форму, а не зникає, ви порівнюєте не ті параметри, про які думаєте.

Спільному серверу потрібно перевірити список клієнтів до переміщення глобального значення, бо значення, що пасує одному сайту, може зламати інший.

Потім перевірте симптом, який у вас справді є

Якщо великі передачі застрягають, а малі запити проходять, виміряйте розмір пакета відносно контрольованого призначення. Зонд, який встановлює біт «не фрагментувати» і збільшує розмір корисного навантаження, знаходить придатний MTU шляху значно надійніше, ніж ping, що просто успішний. Включіть у тест і збійний застосунок: тайм-аут ICMP може відображати фільтрацію, а маленький успішний ping нічого не каже про пакет застосунку повного розміру.

mssfix обмежує MSS, що оголошується для сеансів TCP усередині тунелю; це допомагає TCP і нічого не робить для внутрішнього навантаження UDP. Налаштування фрагментації й розвантаження мають власні умови сумісності. Виберіть один механізм для доведеної проблеми, а не змінюйте кілька одразу, щоб притишити рядок журналу.

Зберігайте дієві значення разом з результатом

Записуйте початкові та виправлені дієві значення поруч із результатом реальної передачі. Саме ця пара відокремлює застарілий параметр профілю від проблеми MTU на шляху, яка існує незалежно. Без неї наступний читач бачить зникле попередження і припускає, що мережа змінилася.

Придушення перевірки узгодженості нічого не примирює. Воно прибирає спостереження і залишає обидві конфігурації такими, якими вони були.

Схожі статті