Это предупреждение сообщает о сравнении параметров партнёров, а не об измерении пути между ними. Люди читают его как «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 на пути, которая существует независимо. Без неё следующий читатель видит исчезнувшее предупреждение и предполагает, что сеть изменилась.

Подавление проверки согласованности ничего не примиряет. Оно убирает наблюдение и оставляет обе конфигурации такими, какими они были.

Похожие статьи