Когда я сижу на своем ноутбуке, я использую OpenVPN для подключения через общедоступный WiFi обратно к моему серверу. Иногда я сталкиваюсь с тем, что я предполагаю, что проблемы MTU - большие пакеты отбрасываются, меньшие пакеты проходят.

Учитывая, что в этой ситуации у меня нет контроля над общедоступной службой WiFi, и местный провайдер почти наверняка только что установил "черный ящик" и ничего не знает о технических проблемах, я не могу решить основную проблему, и вместо этого мне нужно найти подходящий обходной путь. Неизбежно, находясь вдали от обычной среды, никогда не бывает удобным временем, чтобы попытаться исправить такие проблемы, поэтому мне в конечном итоге приходится "обходиться".

Я хотел бы настроить тестовую среду, которая позволяет мне эмулировать проблемы MTU, чтобы я мог найти подходящее решение для использования, когда я на улице.

Я использую клиент Windows, но для OpenVPN я не думаю, что это имеет большое значение. У меня есть прямой контроль над сервером на базе Linux (на самом деле это Sophos UTM). В лабораторной среде я могу вставить одно или несколько устройств на базе Linux в цепочку между моим клиентом и сервером.

Любые предложения для намеренного отбрасывания больших пакетов UDP (например, 1200 <размер <= 1500), пожалуйста?

1 ответ1

2

Вы должны убедиться, что бит Don't Fragment включен:

echo 0 >/proc/sys/net/ipv4/ip_no_pmtu_disc

Затем вы можете изменить свой интерфейс MTU:

ip link set dev eth0 mtu 1200

Если приходит UDP-пакет> 1200, он будет отброшен.

Кстати, эта ссылка может помочь вам решить проблемы, связанные с VPN MTU.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .