Пришвидште OpenVPN і отримайте більшу швидкість по його каналу
OpenVPN – це відомий клієнт VPN для безпечного віддаленого доступу або віртуальної приватної мережі. Якщо ви використовуєте OpenVPN і відчуваєте низьку швидкість на його каналі, ви можете бути роздратовані. Ця проблема дуже поширена для всіх користувачів OpenVPN. Хоча загальна порада, яку ви можете знайти в Інтернеті, полягає в тому, щоб налаштувати значення MTU (максимальна одиниця передачі) та/або параметри MSSFIX, ось ще один трюк, який ви повинні спробувати. Це може допомогти вам значно покращити пропускну здатність. Ось що ви повинні спробувати.
Відкрий свій server.conf файл (див. каталог інсталяції OpenVPN в Windows і /etc/openvpn в linux) і просто додайте ці два рядки:
sndbuf 0. rcvbuf 0
Це не дасть OpenVPN налаштувати розмір буфера між сервером і клієнтом. Це буде визначено ОС. Користувачі Windows, які підключаються до сервера Linux, відчують більшу швидкість.
Тепер додайте ті самі рядки до свого файл конфігурації клієнта (*.ovpn або *.conf). Якщо з якихось причин це неможливо, напр. ваш клієнтський комп’ютер недоступний, додайте наступні додаткові рядки у ваш server.conf файл:
sndbuf 0. rcvbuf 0. натисніть "sndbuf 393216" натисніть "rcvbuf 393216"
OpenVPN через UDP
Якщо ви використовуєте OpenVPN через UDP, ви можете отримати кращий досвід, встановивши фіксовані значення буфера. Спробуйте ці рядки:
sndbuf 393216. rcvbuf 393216. натисніть "sndbuf 393216" натисніть "rcvbuf 393216"
Причини уповільнення
Можливо, вам цікаво, чому і як працюють ці налаштування? Звернемося до історії OpenVPN. У 2004 році у OpenVPN виникла проблема з різними розмірами буфера на різних платформах. Щоб уніфікувати канал передачі даних, розробники встановили фіксовані буфери на 64 Кб. Однак це викликало абсолютно дивні проблеми з MTU для всіх адаптерів у Windows. Щоб виправити це, розробники жорстко закодували ці рядки, які працюють для серверів і клієнтів, що не базуються на Windows:
#ifndef WIN32 o->rcvbuf = 65536; o->sndbuf = 65536; #endif
Ці рядки все ще представлені у вихідному коді OpenVPN, тому ми отримуємо уповільнення! Крім того, ви можете спробувати поекспериментувати з параметрами MTU і MSSFIX, якщо ви знаєте, що робите.
Спробуйте з цими рядками у своїй конфігурації:
tun-mtu 1400 mssfix 1360
У найпоширенішому випадку MTU на фізичному інтерфейсі дорівнює 1500, тому краще встановити OpenVPN TUN MTU на значення нижче реального MTU, а MSSFIX на MTU-40, як у прикладі вище.
Сподіваюся, ця стаття була для вас корисною. Поділіться своїми результатами швидкості, якщо ви помітили значне покращення (через хабр).