LINUX.ORG.RU
ФорумAdmin

Низкая скорость OpenVPN

 


0

3

Добрый день знатоки, подскажите такому нубу как я, что делать? Скорость не выше 2,5 мб/сек,

Конфиг сервера

port 1155 
proto udp 
dev tun 
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-128-CBC # AES
auth SHA512
tls-version-min 1.2
#comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3
tcp-nodelay
fast-io
tun-mtu 1500
mssfix
fragment 1200
keepalive 15 120
sndbuf 65535
rcvbuf 65535

Конфиг клиента

client
dev tun
proto udp
remote xx.xx.xx.xx 1155
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-128-CBC
auth SHA512
tls-version-min 1.2
#comp-lzo
verb 3
fast-io
tun-mtu 1500
mssfix
fragment 1200
keepalive 15 120
sndbuf 65535
rcvbuf 65535


Посмотри сначала такие варианты:
1. Ограничения провайдера или большая загруженность общего канала.
2. Процессор сервера слабоват на данный уровень шифрования.

Deleted ()
Ответ на: комментарий от anonymous

Утилита от спиидтест на сервере

вот скорость сервера (скачка/закачка на прямую) Testing download speed........................................ Download: 100.95 Mbit/s Testing upload speed.................................................. Upload: 337.95 Mbit/s

а провайдер без VPN дает на компе 12мб/сек с VPN 2,5 мб/сек

Пинг до сервера Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 46мсек, Максимальное = 63 мсек, Среднее = 56 мсек

включение/выключение шифрования ничего не меняет у меня

pvl88 ()
Ответ на: комментарий от arsik

Уменьшил MTU до 1400, не помогло есть ли смысл еще уменьшать? и на сколько

pvl88 ()
Ответ на: комментарий от Deleted

1)не думаю 2)Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 2400.084 Mhz. убирал шифрование вобще, разницы не было

pvl88 ()

1. Почему у сервера два раза keepalive, причем разные ?
2. sndbuf, rcvbuf - почему такие маленькие?
3. fragment - из каких соображений?
4. Что такое fast-io не знаю. Посмотрел в мане, вроде все еще экспериментальная, насколько реально помогает незнаю.

Если есть сомнения в mtu и точки соединения постоянные, можно посмотреть выхлоп tracepath (в обе стороны). Еще есть параметр mtu-test, только надо подождать после старта несколько минут.

Для начала, я бы убрал fragment, sndbuf, rcvbuf ну и fast-io так уж на всякий случай.
Еще попробуйте заменить udp на tcp.

anc ★★★★★ ()
Ответ на: комментарий от pvl88

Это нормальная скорость для OpenVPN. Только пишите скорость правильно, а то у вас мегабиты с мегабайтами путаются. 2.5МБайт/с для usermode VPN, да ещё через tun/tap - это отличный результат по-моему. Или ищите kernel-mode реализацию (а её нет) или меняйте VPN протокол, да хоть L2TP/PPTP.

nickleiten ★★★ ()

Полгода назад напоролся на подобную ситуацию. Тариф 30Mbps, всё честно - iperf, speedtest выдаёт по тарифу. Оформлен на физлицо. По OpenVPN стабильно 600kbps. Пробовал крутить конфиги клиента сервера (tcp/udp, порты, шифрование/paintext, буферы) - не помогает. Железяка слабенькая(OpenWRT), попробовал на ноуте с тем же конфигом - 600kbps. Попробовал заломиться на другой VPN (другой провайдер) сервер с заведомо рабочим конфигом - 600kbps. Через какое-то время прошёл слух, что провайдер тестирует DPI. OpenVPN палится, код протокола передаётся в открытую.

ephecaff ()
Ответ на: комментарий от anc

Вполне допускаю, что на стороне сервера трудится VPS с коэффициентом мультиплексирования «с потолка», потому проц выше и не выдает.

nickleiten ★★★ ()
Ответ на: комментарий от ephecaff

Это не обязательно DPI, вполне реально ограничение скорости на один поток каким-нибудь хитровжаренным коммутатором. Есть такое наблюдение, когда используются разные комбинации src_ip+src+port+dst_ip+dst_port (многопоточный режим с разными соединениями на разных портах сокетов), то скорость выдаёт максимальную. Автор может попробовать multitcp прикрутить, вдруг поможет. Но там, правда, он ориентирован на распределение нагрузки через разные физические/виртуальные порты и айпишники.

nickleiten ★★★ ()
Последнее исправление: nickleiten (всего исправлений: 1)
Ответ на: комментарий от nickleiten

вполне реально ограничение скорости на один поток каким-нибудь хитровжаренным коммутатором

Как коммутатор может отличить поток OpenVPN от потока iperf? Истинный коммутатор вообще не лезет дальше Ethernet. Конкретно в описанном мной случае был неуправляемый гигабит (с моей стороны).

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

ephecaff ()

уходи на SoftEtherVPN и будет тебе счастие.

MikeDM ★★★★★ ()
Ответ на: комментарий от pvl88

а по теме утилитами от speedtest-a я бы не тестил, iperf в руки и гонять трафик tcp, udp и искать узкое место, в практике правда не на OpenVPN site-to-site в многопоточном режиме выдает 1GB/s

jasper88 ()
Ответ на: комментарий от ephecaff

В том-то и проблема, что есть два подхода DPI - статистический и конкретно deep-inspection с проверкой меток протоколов. Сейчас любой управляемый L2+/L3 чип коммутатора умеет проверять поля src/dst ip и src/dst port в любых комбинациях и на основе этих полей выстраивать ACL shaper. Это статистический метод, то есть необязательно даже лезть в глубины пакета, а подходить к обработке на уровне соединений (характеристика любого IP-соединения, будь то TCP/UDP или даже просто голый IP с вашим собственным протоколом, включает эти четыре поля, для точного определения, что это одно и то же соединение, плюс учёт времени, и мы получаем банальный stateless tracking).

То есть в нашем случае коммутатор можно настроить так, что каждая уникальная комбинация айпишников и портов есть одно соединение и это одно соединение ограничивать по скорости. Соответственно, когда запускаешь несколько потоков у которых хоть один параметр отличается(src/dst ip и/или src/dst port), коммутатор его воспринимает как другое соединение и даёт ему соответственно отдельную скорость. В сумме мы получаем при многопоточной загрузке выше скорость, но один поток упирается в скорость на коммутаторе. Это уже всё зависит от провайдера и их политик.

nickleiten ★★★ ()
Ответ на: комментарий от jasper88

Ага, в котором рассмотрен bare-server с нагрузкой на CPU до 100%. Поэтому я и говорил, что 2.5МБайт/с - это очень хорошо для OpenVPN. IOPS и context swithing никто не отменял.

nickleiten ★★★ ()
Ответ на: комментарий от nickleiten

И еще раз повторюсь это НЕ нормальная скорость. И не надо вводить людей в заблуждение. Вот прямо сейчас попробовал с двух разных серверов скачать файлик 4Гб через scp, в кач-ве клиента ноут i5 2,53.
1. Без впн 10.1MB/s с впн 9.7MB/s
2. Без впн 2.4MB/s с впн 2.1MB/s

anc ★★★★★ ()
Ответ на: комментарий от anc

Я уже выразил своё сомнение насчёт bare server у ТС и высказался насчёт возможных ограничений скорости на одно соединение у провайдера с той или иной стороны. Моя практика показывает, что в стандартной конфигурации 2.5Мбайт для OpenVPN на VPS - очень неплохой результат. Где и в чём проблема - не моя задача разбираться, весь спектр проблемных мест я указал. Я нигде не исключал возможности разогнать OpenVPN до 100мбит, а то и до гигабита, но для этого нужно конкретно заниматься разбором конфигурации сети/серверов и вылизывать/обходить косяки - это тоже не моя задача в пределах этого форума.

nickleiten ★★★ ()
Ответ на: комментарий от nickleiten

1. Слова VPS в ваших постах о скорости не обнаружено.
2. Зато обнаружено однозначное заявление что для OpenVPN 2.5Мб прямо-таки замечательно, что наглое 4.2.
PS И скорости которые я привел - это в конфигурации без всякого «заниматься разбором конфигурации сети/серверов и вылизывать/обходить косяки»

anc ★★★★★ ()
Ответ на: комментарий от anc

1. Слова VPS в ваших постах о скорости не обнаружено.

Низкая скорость OpenVPN (комментарий)

2. Зато обнаружено однозначное заявление что для OpenVPN 2.5Мб прямо-таки замечательно, что наглое 4.2.

Низкая скорость OpenVPN (комментарий)

Это нормальная скорость для OpenVPN. Только пишите скорость правильно, а то у вас мегабиты с мегабайтами путаются. 2.5МБайт/с для usermode VPN, да ещё через tun/tap - это отличный результат по-моему. Или ищите kernel-mode реализацию (а её нет) или меняйте VPN протокол, да хоть L2TP/PPTP.

А вообще - это уже оффтоп. Разбор запятых в чужих сообщениях с лёгким переходом на личности - нехорошая тенденция при обсуждении технических вопросов. Я писал ровно то, что писал, не нужно за меня додумывать мои мысли - я нигде не написал, что 2.5Мбайт/с - это предел мечтаний и технический потолок для OpenVPN. Причём даже указал на места, обойдя/исправив которые можно получить максимальную скорость. За сим, откланиваюсь.

nickleiten ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.