Почему скорость передачи по openvpn между linux и windows такая мизерная?

На реальной Линуксовой машине стоит openvpn сервер.
На виртуальной Винде под KVM на hetzner'е стоит openvpn клиент.
Скорость, передачи файлов через vpn канал (в не зависимости от протокола) - 100-300Кб/сек и сильно плавает.

Максимальная ширина канала между двумя машинами - 3МБ/сек. Эту же скорость показывает openvpn клиент, установленный на Линуксовом хосте виртуальной машины.

С сетевым интерфейсом на виртуальной Винде тоже всё в порядке - если качать с сервера в обход vpn, то будут те же самые 3МБ/сек.

Однако в нужной мне схеме скорость падает в 10 и более раз.
Протоколы и шифрование менять пробовал, версии openvpn менять пробовал, с tun-mtu и mssfix игрался, tls отключал.

Идей больше нет. Разве что поднять рядом линуксовую виртуалку и посмотреть как будет работать openvpn в ней (хотя наверняка нормально). Ещё можно попробовать поднять виртуалку не на hetzner (хотя какая разница раз с хостовой машины работает нормально).

Как запасной вариант: прокидывать vpn до хостовой машины и там его как-то перебросить на гостевую. Но как? Насколько я понимаю, openvpn позволяет сделать мост только со стороны сервера.

Конфиг на сервере:
port 1195
proto udp
auth SHA1
cipher BF-CBC
server-bridge 192.168.200.191 255.255.255.0 192.168.200.192 192.168.200.199
max-clients 7
duplicate-cn
dev tap1
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
tls-auth ta.key 0
up "/etc/openvpn/up br1"
down "/etc/openvpn/down br1"
ifconfig-pool-persist ipp.txt
keepalive 10 600
comp-lzo
persist-key
persist-tun
verb 3
mute 20
status /var/log/openvpn/openvpn200-status.log
log /var/log/openvpn/openvpn200.log
client-config-dir ccd
push "dhcp-option DNS 192.168.200.1"


Конфиг на клиенте:
client
dev tap
proto udp
remote <my_ip> 1195
route-delay 3
ns-cert-type server
auth SHA1
cipher BF-CBC
ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\client.crt
key C:\\OpenVPN\\ssl\\client.key
tls-auth C:\\OpenVPN\\ssl\\ta.key 1
comp-lzo
nobind
pull
persist-key
persist-tun
resolv-retry infinite
verb 3
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log
  • Вопрос задан
  • 4828 просмотров
Решения вопроса 1
unwrecker
@unwrecker Автор вопроса
Есть некоторые подвижки.

Примерно одинакового результата я достиг двумя путями:

1. Создать заново все ключи и сертификаты виндовым easy-rsa (в процессе возникает много глюков, которые надо побороть). До этого я создавал ключи линуксовым easy-rsa (a «openvpn не уважает виндоувс» :) ).

2. Прокинуть тоннель между гейтом и хостовой машиной, а оттуда через мост на гостевую. Раньше у меня это не получалось, а всего-то надо было мосту дать ip вручную.

После чего шустренько заработал RDP и SFTP из Винды через VPN, но остались тормоза у SMB. Впрочем, это наверное уже другая тема, связанная с MTU.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@portfelio
Вы не привели описание железа сервера, могу лишь предположить, что 1024-ти битный ключ это слишком большая нагрузка.
Ответ написан
@nrgetik
убили предыдущие два камента (:
openvpn отлично дружит с любой платформой (проверено на макосе, *никс, винда ХР - 7)

ключ можно поставить и 16кило... мало ли что предлагают... а вдруг я параноик.

но куда девается скорость для меня так и осталось загадкой... тоже испробовал многое.

в тему может быть полезно:
www.etegro.ru/articles/encrypted-gigabit

но на каналах разной ширины в боевом режиме скорость сваливается в самый узкий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы