Jump to content
  • 2

OpenVPN и DCO


vitalik6243

Question

Заметил такую ситуацию что на наших кинетиках стоит пакет OpenVPN 2.6
Но почему то не добавлен пакет DCO который значительно разгружает процессор при использовании DCO + повышает эффективность работы OpenVPN за счет более высокой скорости передачи данных.
Было бы не плохо увидеть такой пакет в будущих прошивках.
Да и вроде как есть что-то типо готового решения: kmod-ovpn-dco(судя по всему было когда то реализовано на OpenWRT, но могу ошибаться.)

  • Upvote 2
Link to comment
Share on other sites

26 answers to this question

Recommended Posts

  • 0

 

1 час назад, vitalik6243 сказал:

не добавлен пакет DCO

да что вы говорите
OpenVPN0: OpenVPN 2.6.7 [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL][MH/PKTINFO] [AEAD] [DCO]

  • Thanks 2
Link to comment
Share on other sites

  • 0
13 часа назад, Denis P сказал:

 

да что вы говорите
OpenVPN0: OpenVPN 2.6.7 [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL][MH/PKTINFO] [AEAD] [DCO]

DCO version: N/A то что вы написали выше это указано что версия 2.6.7 поддерживает DCO.
Вот такой ответ должен быть при опросе: DCO version: 0.2.20240712(взято где используется OpenVPN с DCO)

Link to comment
Share on other sites

  • 0
8 минут назад, vitalik6243 сказал:

DCO version: N/A то что вы написали выше это указано что версия 2.6.7 поддерживает DCO.
Вот такой ответ должен быть при опросе: DCO version: 0.2.20240712(взято где используется OpenVPN с DCO)

image.png.d1554b613b48de7ce14ee4c1864e5c75.png

ну, значит и в названии модуля опечатка

Edited by Denis P
Link to comment
Share on other sites

  • 0
2 минуты назад, Denis P сказал:

image.png.d1554b613b48de7ce14ee4c1864e5c75.png

ну, значица и в названии модуля опечатка

Ну тогда в двойне интересно почему компонент стоит с завода, но при этом не используется в пару с OpenVPN.

Link to comment
Share on other sites

  • 0
1 час назад, Denis P сказал:

image.png.d1554b613b48de7ce14ee4c1864e5c75.png

ну, значит и в названии модуля опечатка

вообщем почитал информацию я для включения DCO необходим AES-xxx-GCM

условия все выполнил, результата не дано, возможно в telnet его возможно включить в entware
modprobe ovpn_dco
результата не дает, включение должно быть на уровне ядра...

Link to comment
Share on other sites

  • 0

DCO поддерживается, но до конца не оттестирован, потому не включен по-умолчанию.

Добавьте в конфиг
enable-dco

включите debug на интерфейсе:
interface OpenVPN0 debug
и приложите self-test после того, как соединится.

Посмотрим, работает оно или нет.

  • Thanks 1
Link to comment
Share on other sites

  • 0
В 26.08.2024 в 11:46, Le ecureuil сказал:

DCO поддерживается, но до конца не оттестирован, потому не включен по-умолчанию.

Добавьте в конфиг
enable-dco

включите debug на интерфейсе:
interface OpenVPN0 debug
и приложите self-test после того, как соединится.

Посмотрим, работает оно или нет.

Увы не в CLI не в самом конфиге enable-dco не принимается...
Если в сам конфиг в Interface OpenVPN0 enable-dco пропал.
Попробовал в корень закинуть, аналогично.
В Entware включения DCO тоже не увидел.
Прошивка: 4.2 Beta 2
Протестировано на Ultra 2 и Keenetic Giant KN-2610

Link to comment
Share on other sites

  • 0

добавил enable-dco в конфиг

ничего не потерялось, конфиг применился, интерфейс с dco поднялся

I [Aug 28 12:55:47] OpenVPN1: net_iface_new: add tun1 type ovpn-dco
I [Aug 28 12:55:47] OpenVPN1: DCO device tun1 opened
интерфейс  tun1  наряду с ovpn_br1 присутстсвует, пакетики бегают.

Прироста в скорости не замечено

Hopper SE fw 4.2b2

Edited by Denis P
Link to comment
Share on other sites

  • 0
11 минуту назад, Denis P сказал:

добавил enable-dco в конфиг

ничего не потерялось, конфиг применился, интерфейс с dco поднялся

I [Aug 28 12:55:47] OpenVPN1: net_iface_new: add tun1 type ovpn-dco
I [Aug 28 12:55:47] OpenVPN1: DCO device tun1 opened
интерфейс  tun1  наряду с ovpn_br1 присутстсвует, пакетики бегают.

Прироста в скорости не замечено

Hopper SE fw 4.2b2

На какой прошивке тестировал? В конфиг к подключению добавил enable-dco?

Link to comment
Share on other sites

  • 0
2 минуты назад, vitalik6243 сказал:

странно почему в CLI через sh run не выдал. странно.

потому что там только настройки интерфейса, а не сам конфиг ovpn

Link to comment
Share on other sites

  • 0
14 минуты назад, Denis P сказал:

потому что там только настройки интерфейса, а не сам конфиг ovpn

Так действительно, я чет не то сделал походу
Да DCO завелся протестирую.
[I] Aug 28 13:33:52 OpenVPN0: DCO device tun1 opened 

Link to comment
Share on other sites

  • 0

Увеличения скорости нет, но заметно снижена загрузка CPU. С 60-70% до 40 упала.
Такое ощущение что скорость на интерфейсе сама подрезана, как будто бы упирается ровно в 25 мбит +-

Link to comment
Share on other sites

  • 0
28 минут назад, Le ecureuil сказал:

Тестировать стоит на arm. На mips все упрется или в eip93, или в низкую скорость CPU.

ну вот на mips я отключил DCO, т.к. при потоковых данных начинаются траблы с вечной подгрузкой и все начинает сильно тупить хотя разрывов в self-log не вижу. Завтра буду дома где стоит giant с arm процессором, для полноты картины там и протестирую.

Link to comment
Share on other sites

  • 0
6 часов назад, Le ecureuil сказал:

Тестировать стоит на arm. На mips все упрется или в eip93, или в низкую скорость CPU.

Решил проверить на другом "сервере"

Важный момент - используется TCP

iperf3 -c <host> -P 8 -t 300 -R

Скрытый текст

image.png.5ae63f29d0c78824f36c31cd9f199819.png


iperf3 -c <host> -P 8 -t 300
 

Скрытый текст

image.png.720e728734eaa59f9f4f9f86119aa6fe.png

без DCO
iperf3 -c <host> -P 8 -t 300 -R

Скрытый текст

image.png.1dd74147eb8c9d6a2d1f3b9010e6c9ab.png

iperf3 -c <host> -P 8 -t 300

Скрытый текст

image.png.db32724ab538b03aac648d6ed85c4860.png

 

значит всё таки работает

 

Edited by Denis P
Link to comment
Share on other sites

  • 0
3 часа назад, vitalik6243 сказал:

где стоит giant с arm процессором

У KN-2610 CPU=MT7621AT (mipsel).

Edited by drugold
Link to comment
Share on other sites

  • 0
2 часа назад, Denis P сказал:

Решил проверить на другом "сервере"

Важный момент - используется TCP

iperf3 -c 10.8.0.1 -P 8 -t 300 -R

  Скрыть содержимое

image.png.5ae63f29d0c78824f36c31cd9f199819.png


iperf3 -c <host> -P 8 -t 300
 

  Скрыть содержимое

image.png.720e728734eaa59f9f4f9f86119aa6fe.png

без DCO
iperf3 -c 10.8.0.1 -P 8 -t 300 -R
 

  Скрыть содержимое

image.png.1dd74147eb8c9d6a2d1f3b9010e6c9ab.png

iperf3 -c 10.8.0.1 -P 8 -t 300

  Скрыть содержимое

image.png.db32724ab538b03aac648d6ed85c4860.png

 

значит всё таки работает

 

Работает однозначно, другой вопрос - насколько профит есть на 7628 и 7621.

Link to comment
Share on other sites

  • 0

на 7621 (1010)

без DCO

Скрытый текст

image.png.7a697556da25fec9cdc4b3e8979c029b.png

C DCO

Скрытый текст

image.png.f0f08dedd96256ad226b2bfec332251e.png

 

процу вроде как полегче немного, но скорости +- те же

UPD

не уверен что оно вообще сработало, никаких упоминаний о DCO в логах нет

self-test в следующем сообщении

Edited by Denis P
Link to comment
Share on other sites

  • 0
3 часа назад, drugold сказал:

У KN-2610 CPU=MT7621AT (mipsel).

Да вот походу заметил, чет думал что он на arm... ошибся тогда чутка.
Тогда на arm щас нет устройства dco проверить. Но проверил на mips.
С DCO на mips разницы в скорости увы нет никакой, есть проблемы с подключением по UDP, но пока описать не могу в self-test чисто WinMTR потерь пакетов тоже не дает. Но к примеру если взять тест скорости или просто сайты все ок. Включаем YouTube будто бы связь с сервером каждые 5-7 секунд теряется. Оставил пока затею решил проверить TCP
По TCP проблем нет загрузка проца упала, скорость в пределах 20 мбит/сек.
В целом даже того что упала загрузка CPU это уже не плохо.
По UDP пока что я не разобрался куда копать и в чем может быть беда.

Link to comment
Share on other sites

  • 0
14 часа назад, vitalik6243 сказал:

Да вот походу заметил, чет думал что он на arm... ошибся тогда чутка.
Тогда на arm щас нет устройства dco проверить. Но проверил на mips.
С DCO на mips разницы в скорости увы нет никакой, есть проблемы с подключением по UDP, но пока описать не могу в self-test чисто WinMTR потерь пакетов тоже не дает. Но к примеру если взять тест скорости или просто сайты все ок. Включаем YouTube будто бы связь с сервером каждые 5-7 секунд теряется. Оставил пока затею решил проверить TCP
По TCP проблем нет загрузка проца упала, скорость в пределах 20 мбит/сек.
В целом даже того что упала загрузка CPU это уже не плохо.
По UDP пока что я не разобрался куда копать и в чем может быть беда.

По UDP, вероятно, есть вопрос с фрагментацией. Попробуйте MTU поставить пониже на OpenVPN, скажем 1300.

Link to comment
Share on other sites

  • 0
Posted (edited)
45 минут назад, Le ecureuil сказал:

По UDP, вероятно, есть вопрос с фрагментацией. Попробуйте MTU поставить пониже на OpenVPN, скажем 1300.

На mips еще одну проблему заметил, зависание роутера при включенном dco.
Начал вчера тестировать работу WireGuard в схожей конфигурации.
И нужно было тушить OVPN включать аналогично и WG роутер зависал на мертво ребут только через CLI помогал. И как назло я не сохранил конфиг после включение debug на интерфейс чтобы посмотреть, и в логах и SelfLog логично что ничего нет...
Но тестировал я все это добро на старой доброй Ultra 2.
Сегодня протестирую на Giant тоже на mips может не совместимость какая либо с моим роутером...
Правда жаль что наши Keenetic при Wireguard подключении не дают авто-маршрутизацию при Allowed IPs отличающемся от стандартного 0.0.0.0/0, маршруты ручками нужно делать)

Edited by vitalik6243
Link to comment
Share on other sites

  • 0
В 29.08.2024 в 12:20, Le ecureuil сказал:

По UDP, вероятно, есть вопрос с фрагментацией. Попробуйте MTU поставить пониже на OpenVPN, скажем 1300.

Добрый день. Еще вот такое в логе непрерывно валится после включения dco и включенной опции keepalive на удаленном сервере.

 

Сен 15 23:07:54 
kernel 
tun0: ovpn_peer_ping: sending ping to peer 1 
Сен 15 23:07:54 
kernel 
tun0: ovpn_decrypt_one: ping received from peer with id 1 
Сен 15 23:07:56 
kernel 
tun0: ovpn_peer_ping: sending ping to peer 1 
 


 

Link to comment
Share on other sites

  • 0
10 часов назад, hondaspb сказал:

Добрый день. Еще вот такое в логе непрерывно валится после включения dco и включенной опции keepalive на удаленном сервере.

 

Сен 15 23:07:54 
kernel 
tun0: ovpn_peer_ping: sending ping to peer 1 
Сен 15 23:07:54 
kernel 
tun0: ovpn_decrypt_one: ping received from peer with id 1 
Сен 15 23:07:56 
kernel 
tun0: ovpn_peer_ping: sending ping to peer 1 
 


 

На это пока не обращайте внимания, со временем уберем.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...