Назад | Перейти на главную страницу

OpenVPN через TCP, ужасная задержка, но только на Win7 x64

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

Последний клиент OpenVPN в Windows 7 x64 имеет ужасные проблемы с задержкой, когда пинг хоста внутри туннеля приводит к времени пинга> 500 мс и ужасной производительности в целом. Пропускная способность кажется хорошей, на самом деле это просто задержка.

Однако на том же компьютере клиент OpenVPN в 64-разрядной версии Linux (ubuntu 10.04, те же версии OpenVPN, та же конфигурация OpenVPN, никаких других настроек) работает безупречно. ~ 30мс, все очень удобно.

На том же коммутаторе та же версия клиента OpenVPN, тот же файл конфигурации в Mac OS X 10.5 (PowerPC) также работает безупречно.

Я вообще не могу это объяснить. Я пробовал разные вещи, такие как уменьшение значения MTU для виртуального адаптера до 1400 (поскольку ужасная документация по коммерческому переключателю упоминает, что это не динамически устанавливается в Windows, и рекомендует такое действие), я попробовал отключение ECN, дымохода и CTCP в глобальных настройках TCP, включение и выключение lzo-сжатия, принесение в жертву козла, ничего не делает лучше.

Любые идеи? Сначала я думал, что это связано с отсутствием поддержки PMTU в OpenVPN в Windows, но я попробовал с Windows XP, и она тоже работает безупречно. Я получил сообщения от пользователей, что он также безупречно работает на 32-разрядной версии Windows 7. Также в документе, похоже, говорится, что настройки MTU бесполезны для TCP-соединений и предназначены для UDP.

tl; dr: OpenVPN через TCP работает медленно, но только в Windows 7 x64, все остальное работает нормально. Что дает?

Большое спасибо, если бы кто-нибудь мог ответить на этот вопрос, я был бы навсегда в долгу за то, что смог снова выспаться.

У меня была аналогичная проблема (Win7, x64, gui1.0.3, openvpn2.1.4, lenovo t500 - intel 82567LM) - ужасная задержка (пинг обычно не ниже 500 мс, а> 1000+ (иногда близко к 2 с) и очень колеблющиеся значения (600 , 1800,550,1400 и т. Д.). Я отключил IPv6 для сетевой карты и адаптера TAP (отключение только одного устройства не помогло решить проблему), и пока все вроде бы нормально.

Что ж, установка Windows ударила по ведру, и я переустановил ее ранее на этой неделе. Теперь почему-то у меня больше нет этой проблемы.

Иди разберись. Хотелось бы, чтобы у меня еще был снимок системы, чтобы я мог точно определить различия :(

Спасибо всем за помощь.

Вы на 100% уверены, что используете последнюю версию (2.1.1)? у нас действительно были некоторые клиенты Linux, которые сталкивались с той же проблемой, и мы обнаружили, что у них были установлены более старые версии клиентского программного обеспечения.

Также заметил, что если у вас была установлена ​​старая версия, и вы просто установили последнюю версию для обновления, установщик НЕ обновлял ее до последней, и все равно показывал старые номера версий при выполнении команды «openvpn --version» из командной строки после Обновить.

Чтобы действительно получить новую версию, нам пришлось полностью удалить ovpn, а затем установить последнюю версию.

Удачи, если это не поможет, надеюсь, вы найдете проблему!

Еще одна дикая догадка:

Двойной стек IP4 / IP6 в Win7 чаще предпочитает IP6. Возможно, вы столкнулись с проблемой. Предположительно вы используете IP4, какая разница, когда вы отключаете IP6?

Грубое предположение:

Ваш антивирус или слишком умный брандмауэр пытается исследовать трафик (пытается выполнить буферизацию без пересылки в надежде увидеть вирус, затем истекает время ожидания и отправляет то, что было в буфере).