Page 1 of 1

Проблема с osize too small!

Posted: 06 Dec 2018, 08:27
by agolodnyak
Здравствуйте

Настроил accel-ppp для работы l2tp с помощью strongswan. Подключается и работает нормально.
Однако с клиентом windows 8 есть некоторые проблемы. После подключения туннель работает некоторое время, и через некоторое время перестают ходить пакеты, хотя туннель поднят.

При чем если просто пинговать через туннель, то работает долго. Но стоит открыть какую-то страницу или грузануть видео с ютуба, и туннель падает. Как бы тогда, когда пойдет нагрузка.

В логе /var/log/kern.log заметил вот такую штуку в этот момент
Nov 26 13:15:40 (none) kernel: [10158.289387] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:40 (none) kernel: [10158.289389] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:40 (none) kernel: [10158.289390] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:40 (none) kernel: [10158.289392] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:40 (none) kernel: [10158.289394] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:42 (none) kernel: [10159.876321] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:42 (none) kernel: [10159.876326] net_ratelimit: 43 callbacks suppressed
Nov 26 13:15:42 (none) kernel: [10159.876329] ppp0: ppp: compressor dropped pkt
Nov 26 13:15:42 (none) kernel: [10159.876367] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:42 (none) kernel: [10159.876368] ppp0: ppp: compressor dropped pkt
Nov 26 13:15:42 (none) kernel: [10159.876394] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:42 (none) kernel: [10159.876395] ppp0: ppp: compressor dropped pkt
Nov 26 13:15:42 (none) kernel: [10160.145084] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:42 (none) kernel: [10160.145089] ppp0: ppp: compressor dropped pkt
Nov 26 13:15:42 (none) kernel: [10160.145127] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:15:42 (none) kernel: [10160.145128] ppp0: ppp: compressor dropped pkt
Nov 26 13:20:52 (none) kernel: [10469.488088] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
Nov 26 13:20:52 (none) kernel: [10469.488094] ppp0: ppp: compressor dropped pkt

Кажется получается проблема какая в установке MTU на ppp интерфейс (меньше на 4 байта)

В accel-ppp.conf стоит
[ppp]
min-mtu=1280
mtu=1400
mru=1400

Хотя ifconfig ppp0 показывает что MTU установился на 4 байта меньше
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.5.0.99 P-t-P:10.200.0.7 Mask:255.255.255.255
UP POINTOPOINT RUNNING MTU:1396 Metric:1

Покопавшись в инете, было 2 варианта, немного уменьшить MTU с конфиге accel. После изменений, туннель работал долго, но все равно через некоторое время отвалился.
Второе это после подключения через ifconfig установить принудительно mtu в 1400. Пробовал после установки сделать вручную (не скриптами ifup), но все равно тоннель падает как пойдет нагрузка.

Нашел на просторах интернета, что это проблема в реализации mppe. Для этого в секции [ppp] нужно отключить mppe, для этого нужно расскомментировать ccp=0
После этого на интерфейсе ifconfig ppp0 показывает уже нормальные 1400 и туннель работает долго и стабильно.

Однако проблема в другом, из-за выключенного mppe перестает работать pptp, который тоже нужен.

Если идея поднять 2 инстанса один для pptp, другой для l2tp, но это костыль.

Версия accel-ppp взята последней с git, состоянием на 25.11.2018.
Ядро Linux (none) 3.2.0-5-amd64 #1 SMP Debian 3.2.96-3 x86_64 GNU/Linux

Можно ли как-то это исправить ? Спасибо !

Re: Проблема с osize too small!

Posted: 06 Dec 2018, 08:56
by dimka88
А вы пробовали указывать?

Code: Select all

mtu=1420
mru=1420

Re: Проблема с osize too small!

Posted: 06 Dec 2018, 08:59
by agolodnyak
Пробовал ставить 1382

Работало намного дольше, но все равно падало

Попробую с 1420, отпишусь.

Однако можно ли как-то это исправить в самом accel ?

Повторюсь, что если отключить mppe, все проблемы пропадают. Можно ставить любой MTU. Однако pptp не будет без него работать.

Спасибо

Re: Проблема с osize too small!

Posted: 06 Dec 2018, 09:04
by agolodnyak
Только что пробовал выставить

mtu=1420
mru=1420

Видео на youtube открылось, перемотал и снова упал так, как будь-то изначально было 1400.

Думаю что игра с MTU не лучшее решение, т.к. я пробовал уже 1382. Работает значительно дольше, но все равно падал.

Спасибо

Re: Проблема с osize too small!

Posted: 06 Dec 2018, 09:12
by agolodnyak
Кстати на android такой проблемы нет.
Но если подключается android по l2tp, то ifconfig ppp0 показывает mtu 1300, хотя в конфиге прописано 1400

Может это как-то подскажет, в чем суть проблемы

Есть еще одна идея, по этой статье https://gist.github.com/AndresBott/b5586fadc36ba46fdac1
Увеличивать на 4 MTU стазу при подключении через [common]
Не знаю, поможет ли это. Или если это какой-то баг, то лучше подождать Вашего фикса ?

Спасибо

Re: Проблема с osize too small!

Posted: 06 Dec 2018, 10:12
by dimka88
accel-ppp.conf [log]level=5 потом accel-cmd reload, и давайте посмотрим логи accel.

Re: Проблема с osize too small!

Posted: 06 May 2019, 12:09
by shylion
Столкнулся с такой-же проблемой на Win7.
Есть решение?