Проверка подозрительной проблемы с MTU в VPN без угадывания значений
Зафиксируйте путь, запишите исходные значения, затем измените один параметр размера и сравните. Неудачная проверка может означать фильтрацию ICMP, а не предел MTU.
Перебирать список значений MTU интернета, пока одно не покажется быстрее, — это не тест, а поиск без правила остановки. Работающий метод меняет одно контролируемое условие размера и сравнивает результат с тем же путём. Начните с повторяемого безобидного сбоя и сохраните рабочую конфигурацию, которая позволяет отменить эксперимент. Всё ниже предполагает эту дисциплину, потому что без неё остаётся число, которое вы не сможете защитить.
Зафиксируйте путь, прежде чем менять число
Запишите устройство, канал доступа, протокол туннеля, конечную точку, пункт назначения и семейство адресов, прежде чем трогать настройку. Эти шесть фактов и есть путь, а проверка, направленная на другой путь, измеряет другую проблему. Они же делают результат воспроизводимым, и именно это отличает тест от дня, потраченного на тыканье. Держите запись рядом с терминалом, а не в голове.
Начните с самой узкой проверки, которую вам разрешено выполнить. Изменение на стороне сервера затрагивает каждого пользователя этой конечной точки, поэтому оно относится к концу расследования, а не к началу.
Проверяйте размером, который вы контролируете
В Linux проверка выглядит как ping -M do -s 1400 host, а в Windows — как ping -f -l 1400 host. В обоих случаях вы задаёте полезную нагрузку, а не размер пакета, потому что заголовки IP и ICMP добавляются сверху.
Читайте документацию системы, которая перед вами, вместо того чтобы копировать флаг из сообщения на форуме. Выберите пункт назначения, который вы контролируете, чтобы отсутствие ответа было сигналом, а не загадкой. Запишите точную команду и точный размер в ту же заметку, что и путь. Результат без размера — это анекдот. Если изменить две вещи за один запуск, вы не узнаете, какая из них дала результат.
Неудачная проверка не доказывает предел MTU
Отброшенная проверка может означать фильтрацию ICMP, а не предел размера, и эта ошибка заставляет людей подстраивать значение, которое никогда не было проблемой. Сравните проверку с реальным приложением, а также с сообщением об ошибке, связанным с размером, или с ограниченным перехватом, прежде чем что-либо менять. Успешные маленькие пинги тоже ничего не доказывают, потому что могут спокойно лежать ниже предела. Два независимых наблюдения — это минимум, прежде чем конфигурация сдвинется.
Если приложение сбоит, а проверка проходит, у вас есть доказательство, что дело не в простом пределе размера на этом пути. Запишите это, потому что это убирает целую ветвь возможных изменений.
Настройте один параметр, который клиент уже поддерживает
Измените настройку, которую клиент документирует для этого протокола, и оставьте конечную точку и пункт назначения нетронутыми, иначе вы изменили две вещи сразу. Ограничение MSS для TCP не покрывает любую нагрузку UDP, поэтому браузер, который начал работать, может оставить протокол туннеля ровно таким же сломанным. IPv4 и IPv6 здесь отдельные пути, потому что заголовки различаются ещё до того, как это сделает любая маршрутизация.
Проверьте оба семейства, если публикуете оба, поскольку результат по одному ничего не говорит о другом. Значение, которое сработало на этом пути сегодня вечером, — это факт, а не MTU для всего VPN. Не повышайте его до глобальной настройки на основании одной удачной передачи. Запишите значение рядом с путём, из которого оно пришло.
Отменить, проверить и записать
Верните исходное значение, если сравнение не поддерживает гипотезу. Проверьте, не сохранил ли сетевой менеджер где-то ещё постоянное переопределение, потому что именно так эксперимент становится политикой. Переподключитесь и проверьте обычные приложения, а не только то, которое вы тестировали. Затем зафиксируйте симптом, фактический путь, старое и новое значения и то, насколько результат воспроизводим.
Храните эту запись вместе с запросом на изменение, прежде чем кто-либо расширит изменение. Механизм обнаружения MTU пути в RFC 1191 объясняет, почему меньшее значение может спасти один путь и ничего не сделать для другого, и список чисел не заменяет эту модель. Проверка завершена, когда вы можете назвать путь, размер, наблюдение и значение, которое вы восстановили.