У нас встановлені десятки вбудованих пристроїв у клієнтів, які телефонують додому на наш сервіс OpenVPN. Загалом це добре працює, але деякі з наших клієнтів мають серйозні проблеми з MTU. Наш вплив на клієнтів для фіксації їхніх мереж обмежений, тому нам потрібен OpenVPN для вирішення цього питання. Якщо коротко, моє питання:
Як я можу пом'якшити MTU низького шляху деяких клієнтів на основі клієнта, тобто без використання глобальних налаштувань, що відповідають найгіршому випадку для всіх клієнтів
Зауважимо, що в нашому гіршому випадку це досить погано: шлях MTU 576, скидає всі фрагменти, не фрагментує себе, не шанує DF-біт. Ви бачите, чому я вважаю за краще не вирішувати це питання в усьому світі.
Сторінка OpenVPN пропонує ряд варіантів, пов'язаних з MTU, особливо --link-mtu, --tun-mtu, --fragment and --mssfix
. Але це також говорить
--link-mtu [...] Цей параметр найкраще не встановлювати, якщо ви не знаєте, що робите.
--tun-mtu [...] Найкраще використовувати параметри --fragment та / або --mssfix для вирішення питань розміщення MTU.
Тож я почав експериментувати --fragment
і --mssfix
незабаром повинен був усвідомити, що принаймні перший повинен бути встановлений не лише на стороні клієнта, але і на стороні сервера . Потім я переглянув конфігурацію клієнта на стороні сервера через, --client-config-dir
але це говорить
Наступні параметри є законними у конкретному для клієнта контексті: --push, --push-reset, --iroute, --ifconfig-push та --config.
Немає згадки про варіанти MTU!
Ось ось мої конкретніші запитання:
- Чому саме так
link-mtu
іtun-mtu
відволікати? Які потенційні проблеми з цими варіантами? Зауважте, що мені дуже зручно з низьким рівнем обміну IP-заголовком. - Який із варіантів
link-mtu tun-mtu fragment mssfix
необхідно відобразити на сервері, щоб працювати? - У якому з варіантів
link-mtu tun-mtu fragment mssfix
можна використовуватиclient-config-dir
? - У випадку, якщо всі чотири варіанти мають бути відображені на дзеркальній стороні сервера, і їх не можна використовувати всередині
client-config-dir
: Чи є альтернативи для боротьби з низьким ступенем MTU на клієнта?
Примітки:
- Запитали Частини моїх запитань вже 5 років тому тут , але вони на насправді не були , то огризались, тому я смію їх дублювати.
- На даний момент сервер OpenVPN працює на 2.2.1 на Ubuntu 12.04. Ми готуємо оновлення до 2.3.2 на Ubuntu 14.04
- Клієнти OpenVPN є 2.2.1 на Debian 7.6
- Я радий сам визначити шлях клієнта-MTU вручну
- В даний час ми не можемо тестувати багато на сервері. Але ми будуємо повний окремий тестовий шар, має бути готовим незабаром.
Я вдячний за будь-яку корисну пораду.
iptables
правила для зменшення MSS у всіх SYN-пакетах до або з IP-адреси цього клієнта.