Перейти к содержимому
Калькуляторы
Есть возможность поставить второй камень.

Учитывая нелинейность роста нагрузки - не спасет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

установил сабж, все прекрасно работает без шифрования. накатил патч pppd-allow-mppe и возникли проблемы. клиенты работают 5-10 минут и начинаются "лаги". если на стороне клиента убираю шифрование - все прекрасно работает.

 

centos 5.4 i386

accel-pptpd v0.8.5-rc1 compiled for pppd-2.4.4, linux-2.6.18-164.6.1.el5

 

modinfo pptp

filename: /lib/modules/2.6.18-164.6.1.el5/extra/pptp.ko

license: GPL

author: Kozlov D. (xeb@mail.ru)

description: Point-to-Point Tunneling Protocol for Linux

srcversion: 724AB60D8450CFE208BAA1D

depends: pppox,ppp_generic

vermagic: 2.6.18-164.6.1.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1

parm: log_packets:int

parm: smp_affinity:int

parm: log_level:Logging level (default=0) (int)

 

 

p.s. спасибо xeb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Alexxx,

Зачем тебе вообще шифрование? У тебя вся сеть на хабах построена и боишься, что проснифают? ;)

Убери. Или же скажи юзверям, что "в виду несоответствия реализации MPPE в ОС семейства Windows стандарту, для нормально работы рекомендуется сие безобразие отключать".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

просто очень гиморно 4к человек сказать чтобы вырубили шифрование, а так им выбивает 734 ошибку

какие еще варианты можете посоветовать?

 

 

 

 

Изменено пользователем Alexxx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообще странно это. Не должно оно никоим образом accel-pptp касаться, шифрование делает PPPD. Либо же тут замешана особая, ядерная магия.

 

Вопрос по теме: с последним git у меня 8 ядерных потоков accel-pptp (rx/tx), в результате - 4 ядра нагружены ~10%, LA приблизительно 8. Это при 200 сессий онлайн. Будет ли фича отключаемой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообще странно это. Не должно оно никоим образом accel-pptp касаться, шифрование делает PPPD. Либо же тут замешана особая, ядерная магия.

 

Вопрос по теме: с последним git у меня 8 ядерных потоков accel-pptp (rx/tx), в результате - 4 ядра нагружены ~10%, LA приблизительно 8. Это при 200 сессий онлайн. Будет ли фича отключаемой?

Судя по всему xeb пока откатит все это дело назад и будет заниматься иной реализацией, так как данная оказалась нежизнеспособной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть еще 1 проблема

 

~15 минут подключение активно. а потом просто перестают открываться странички. соединение при этом активно. если переподключится то инет начинает работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Судя по всему xeb пока откатит все это дело назад и будет заниматься иной реализацией, так как данная оказалась нежизнеспособной.

Как клиентское решение и решение для клиентских маршрутизаторов более чем удачно получилось. Никаких проблем пока не выявил кроме как поправить одну строчку в сырцах для правильной сборки с <2.6.20. На 2.4 ядрах заметного эффекта нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Судя по всему xeb пока откатит все это дело назад и будет заниматься иной реализацией, так как данная оказалась нежизнеспособной.

Напротив. Идея жизнеспособна. Но реализация немного подвела :) Я развил идею. Сделал распаралеливание для каждого пользователя. Т.е. пакеты от/к каждому пользователю идут только через определенный CPU (на каждый CPU по две очереди - rx & tx). Резулультат ниже. Это для MAX_CPU=3, т.е. обработкой pptp занимаются первые три ядра. На четвертов висят обе сетевушки.

 

top - 16:28:53 up 1:05, 1482 users, load average: 6.37, 6.39, 6.13

Tasks: 3062 total, 1 running, 3061 sleeping, 0 stopped, 0 zombie

Cpu0 : 0.0%us, 2.2%sy, 0.0%ni, 89.7%id, 0.0%wa, 0.0%hi, 8.1%si, 0.0%st

Cpu1 : 2.8%us, 1.6%sy, 0.0%ni, 87.9%id, 0.0%wa, 0.0%hi, 7.8%si, 0.0%st

Cpu2 : 0.0%us, 2.5%sy, 0.0%ni, 87.0%id, 0.0%wa, 0.0%hi, 10.6%si, 0.0%st

Cpu3 : 0.9%us, 5.9%sy, 0.0%ni, 47.8%id, 0.0%wa, 5.3%hi, 40.1%si, 0.0%st

 

Из этого, на мой взгляд, можно сделать два основных вывода:

 

1. Идея впролне работоспособна. Нагрузка распаралеливается и достаточно ровно.

2. Видимо Cpu3 страдает из-за шейперов, маркировки и т.д. Нужна оптимизация. И дело не столько в accel-pptp, сколько именно в шейперах и прочей ерунде, что стандартно навешано у оператора.

 

Хотя, видимо. Схема с правильными сетевушками (с количеством очередей=количеству CPU Core) - более правильная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставил в сервер двухпортовую сетевую Intel на чипсете 82576 и клиенты перестали подключаться, в логах ошибки

 

...
Dec 15 15:51:26 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:26 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:26 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:26 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:26 vpn23 pptpd[7028]: MGR: initial packet length 6519 outside (0 - 220)
Dec 15 15:51:26 vpn23 pptpd[7028]: MGR: initial packet length 27478 outside (0 - 220)
Dec 15 15:51:29 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:29 vpn23 pptpd[7028]: MGR: initial packet length 49394 outside (0 - 220)
Dec 15 15:51:29 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:29 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:29 vpn23 pptpd[7028]: MGR: initial packet length 4930 outside (0 - 220)
Dec 15 15:51:39 vpn23 pptpd[7028]: MGR: dropped slow initial connection
...

 

Кто-нибудь сталкивался с таким?

 

dmesg:

Intel(R) Gigabit Ethernet Network Driver - version 1.3.16-k2                                                                                                  
Copyright (c) 2007-2009 Intel Corporation.                                                                                                                    
igb 0000:0a:00.0: pci_enable_pcie_error_reporting failed 0xfffffffb                                                                                           
igb 0000:0a:00.0: setting latency timer to 64                                                                                                                 
igb 0000:0a:00.0: irq 55 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 56 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 57 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 58 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 59 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 60 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 61 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 62 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.0: irq 63 for MSI/MSI-X                                                                                                                        
...
igb 0000:0a:00.0: Intel(R) Gigabit Ethernet Network Connection                                                                                                
igb 0000:0a:00.0: eth0: (PCIe:2.5Gb/s:Width x2) 00:1b:21:47:3d:34                                                                                             
igb 0000:0a:00.0: eth0: PBA No: e43709-003                                                                                                                    
igb 0000:0a:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)                                                                                        
igb 0000:0a:00.1: pci_enable_pcie_error_reporting failed 0xfffffffb                                                                                           
igb 0000:0a:00.1: setting latency timer to 64                                                                                                                 
igb 0000:0a:00.1: irq 64 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 65 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 66 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 67 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 68 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 69 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 70 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 71 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: irq 72 for MSI/MSI-X                                                                                                                        
igb 0000:0a:00.1: Intel(R) Gigabit Ethernet Network Connection                                                                                                
igb 0000:0a:00.1: eth1: (PCIe:2.5Gb/s:Width x2) 00:1b:21:47:3d:35                                                                                             
igb 0000:0a:00.1: eth1: PBA No: e43709-003                                                                                                                    
igb 0000:0a:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)

 

lspci -v:

 

0a:00.0 Ethernet controller: Intel Corporation Device 10c9 (rev 01)
        Subsystem: Intel Corporation Device a03c
        Flags: bus master, fast devsel, latency 0, IRQ 24
        Memory at fdee0000 (32-bit, non-prefetchable) [size=128K]
        Memory at fd800000 (32-bit, non-prefetchable) [size=4M]
        I/O ports at cc00 [size=32]
        Memory at fdedc000 (32-bit, non-prefetchable) [size=16K]
        Expansion ROM at fd400000 [disabled] [size=4M]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Count=1/1 Enable-
        Capabilities: [70] MSI-X: Enable+ Mask- TabSize=10
        Capabilities: [a0] Express Endpoint, MSI 00
        Kernel driver in use: igb
        Kernel modules: igb

0a:00.1 Ethernet controller: Intel Corporation Device 10c9 (rev 01)
        Subsystem: Intel Corporation Device a03c
        Flags: bus master, fast devsel, latency 0, IRQ 34
        Memory at fdea0000 (32-bit, non-prefetchable) [size=128K]
        Memory at fd000000 (32-bit, non-prefetchable) [size=4M]
        I/O ports at c880 [size=32]
        Memory at fded8000 (32-bit, non-prefetchable) [size=16K]
        Expansion ROM at fcc00000 [disabled] [size=4M]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Count=1/1 Enable-
        Capabilities: [70] MSI-X: Enable+ Mask- TabSize=10
        Capabilities: [a0] Express Endpoint, MSI 00
        Kernel driver in use: igb
        Kernel modules: igb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

поставил accel-pptp на домашний роутер, все работает просто отлично, нагрузка снизилась раз в 10, но почему-то перестали работать persist и maxfail 0

не подскажете что сделать чтоб они заработали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

поставил accel-pptp на домашний роутер, все работает просто отлично, нагрузка снизилась раз в 10, но почему-то перестали работать persist и maxfail 0

не подскажете что сделать чтоб они заработали?

ставь комплект ядерный драйвер + pppd плаг от 0.8.4, только в него вошла поддержка persist

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

поставил accel-pptp на домашний роутер, все работает просто отлично, нагрузка снизилась раз в 10, но почему-то перестали работать persist и maxfail 0

не подскажете что сделать чтоб они заработали?

ставь комплект ядерный драйвер + pppd плаг от 0.8.4, только в него вошла поддержка persist

можно в двух словах как его поставить?

сейчас у меня стоит pppd плагин 0.8.3, а про драйвер я и не знал.

на соурсфорже последняя версия стоит 0.8.3. где можно достать 0.8.4?

Изменено пользователем random2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

читайте тему внимательнее

 

git clone git://accel-pptp.git.sourceforge.net/gitroot/accel-pptp/accel-pptp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

потрясная вещь, ебилды для генту http://overlays.gentoo.org/svn/dev/pva/net...lup/accel-pptp/ 300+ полёт нормальный

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

400++ сессий

2.6.31.6 #1 SMP vanilla

~150-200 mbps

полёт отличный неделями

 

Огромное человеческое спасибо Xeb! ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эх.. я в свое время из-за мною не найденного глюка в максимуме ~250-300 сессий на pptpd ушел на FreeBSD и соответствнно mpd.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Столкнулся с проблемой.

У меня не коннектятся клиенты, а в логах вот что:

 

messages:

Jan 29 18:35:35 phaeton pptpd[22752]: CTRL: Client 10.0.0.2 control connection started
Jan 29 18:35:51 phaeton pptpd[22752]: CTRL: Starting call (launching pppd, opening GRE)
[b]Jan 29 18:35:52 phaeton pptp[22757]: Plugin pptp.so is for pppd version , this is 2.4.5[/b]
Jan 29 18:36:28 phaeton pptpd[22752]: CTRL: Client pppd TERM sending
Jan 29 18:36:29 phaeton pptpd[22752]: CTRL: Client pppd finish wait
Jan 29 18:36:29 phaeton pptpd[22752]: CTRL: Client 10.0.0.2 control connection finished

 

Может ли проблема возникнуть из-за компиляции?

Т.к. у меня всё не в стандартных путях(всё лежит в /usr/local/pptp и /usr/local/ppp), я скомпилировал плагин pptp.so и руками переложил его в /usr/local/ppp/lib/ppp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может ли проблема возникнуть из-за компиляции?

Может. Собссно, и возникла из-за компиляции. Не увидел пптп конфигуратор версию ппп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может ли проблема возникнуть из-за компиляции?
Может. Собссно, и возникла из-за компиляции. Не увидел пптп конфигуратор версию ппп.

Странно, что он таким раком вообще скомпилировался.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Народ, если не затруднит - сделайте такие выборки из логов, куда пишет pptpd и pppd:

grep -c "EOF or bad error reading ctrl packet length" <log file>

и

grep -c "couldn't read packet header" <log file>

 

Вижу в логе сообщение по типу следующего:

Feb  4 09:14:25 servname pptpd[29461]: CTRL: Client <client ip> control connection started
Feb  4 09:14:25 servname pptpd[29461]: CTRL: Starting call (launching pppd, opening GRE)
Feb  4 09:14:25 servname pppd[29462]: Plugin radius.so loaded.
Feb  4 09:14:25 servname pppd[29462]: RADIUS plugin initialized.
Feb  4 09:14:25 servname pppd[29462]: Plugin radattr.so loaded.
Feb  4 09:14:25 servname pppd[29462]: RADATTR plugin initialized.
Feb  4 09:14:25 servname pptp[29462]: Plugin pptp.so loaded.
Feb  4 09:14:25 servname pptp[29462]: PPTP plugin version 0.8.4 compiled for pppd-2.4.5, linux-2.6.31.6
Feb  4 09:14:25 servname pptp[29462]: pppd 2.4.5 started by root, uid 0
Feb  4 09:14:25 servname pptp[29462]: Using interface ppp328
Feb  4 09:14:25 servname pptp[29462]: Connect: ppp328 <--> pptp (<client ip>)
Feb  4 09:14:27 servname pptpd[29461]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Feb  4 09:14:27 servname pptp[29462]: Cannot determine ethernet address for proxy ARP
Feb  4 09:14:27 servname pptp[29462]: local  IP address <server_ip>
Feb  4 09:14:27 servname pptp[29462]: remote IP address <vpn_ip>
Feb  4 10:53:25 servname pptpd[29461]: CTRL: EOF or bad error reading ctrl packet length.
Feb  4 10:53:25 servname pptpd[29461]: CTRL: couldn't read packet header (exit)
Feb  4 10:53:25 servname pptpd[29461]: CTRL: CTRL read failed
Feb  4 10:53:25 servname pptpd[29461]: CTRL: Reaping child PPP[29462]
Feb  4 10:53:25 servname pptpd[29461]: CTRL: Client pppd TERM sending
Feb  4 10:53:25 servname pptpd[29461]: CTRL: Client pppd finish wait
Feb  4 10:53:25 servname pptp[29462]: Terminating on signal 15
Feb  4 10:53:25 servname pptp[29462]: Connect time 99.0 minutes.
Feb  4 10:53:25 servname pptp[29462]: Sent 34109808 bytes, received 3410500 bytes.
Feb  4 10:53:31 servname pptp[29462]: Connection terminated.
Feb  4 10:53:31 servname pptp[29462]: Modem hangup
Feb  4 10:53:31 servname pptp[29462]: Exit.
Feb  4 10:53:31 servname pptpd[29461]: CTRL: Client <client ip> control connection finished
Feb  4 14:36:38 servname pptp[29904]: Sent 2388129462 bytes, received 67397518 bytes.

 

Меня смущают вот эти строки:

Feb  4 10:53:25 servname pptpd[29461]: CTRL: EOF or bad error reading ctrl packet length.
Feb  4 10:53:25 servname pptpd[29461]: CTRL: couldn't read packet header (exit)
Feb  4 10:53:25 servname pptpd[29461]: CTRL: CTRL read failed
Feb  4 10:53:25 servname pptpd[29461]: CTRL: Reaping child PPP[29462]
Feb  4 10:53:25 servname pptpd[29461]: CTRL: Client pppd TERM sending
Feb  4 10:53:25 servname pptpd[29461]: CTRL: Client pppd finish wait

 

После чего туннель падает, а в радиус приезжает Acct-Terminate-Cause = "User-Request".

А ведь причина судя по всему в другом. Вопрос - в чем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

samedi ~ # grep -c "EOF or bad error reading ctrl packet length" /var/log/messages
5046

 

samedi ~ # grep -c "couldn't read packet header"  /var/log/messages
5047

 

Но жалоб нет, сессий, правда, не много, до 600 (на этом сервере)

samedi ~ # modinfo pptp
filename:       /lib/modules/2.6.32-rc7-sirmax2-smp/extra/pptp.ko
license:        GPL
author:         Kozlov D. (xeb@mail.ru)
description:    Point-to-Point Tunneling Protocol for Linux
srcversion:     A5385EBD57F139A248BCEAF
depends:        pppox,ppp_generic
vermagic:       2.6.32-rc7-sirmax2-smp SMP mod_unload modversions CORE2
parm:           log_packets:int
parm:           log_level:Logging level (default=0) (int)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

samedi ~ # grep -c "EOF or bad error reading ctrl packet length" /var/log/messages
5046

 

samedi ~ # grep -c "couldn't read packet header"  /var/log/messages
5047

 

Но жалоб нет, сессий, правда, не много, до 600 (на этом сервере)

samedi ~ # modinfo pptp
filename:       /lib/modules/2.6.32-rc7-sirmax2-smp/extra/pptp.ko
license:        GPL
author:         Kozlov D. (xeb@mail.ru)
description:    Point-to-Point Tunneling Protocol for Linux
srcversion:     A5385EBD57F139A248BCEAF
depends:        pppox,ppp_generic
vermagic:       2.6.32-rc7-sirmax2-smp SMP mod_unload modversions CORE2
parm:           log_packets:int
parm:           log_level:Logging level (default=0) (int)

Есть подозрение, что на самом деле не феншуй. Есть жалобы по типу "постоянно рвется связь", а с другой стороны видим - что если юзер рвет сессию, то в логе LCP terminated by peer, а тут вроде бы как и ошибка, а на самом деле в радиус приходит такой же самый User-Request.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня нет ничего:

 

nas1

# uptime
17:27:52 up 98 days, 11:32, load average: 0.03, 0.03, 0.00

# grep -c "EOF or bad error reading ctrl packet length" /var/log/messages
0

# grep -c "couldn't read packet header" /var/log/messages
0

# modinfo pptp
filename:       /lib/modules/2.6.29.6-smp/extra/pptp.ko
license:        GPL
author:         Kozlov D. (xeb@mail.ru)
description:    Point-to-Point Tunneling Protocol for Linux
depends:        pppox,ppp_generic
vermagic:       2.6.29.6-smp SMP mod_unload 686
parm:           log_packets:int
parm:           log_level:Logging level (default=0) (int)

 

nas2

# uptime
17:29:09 up 98 days, 11:34, load average: 0.01, 0.03, 0.00

# grep -c "EOF or bad error reading ctrl packet length" /var/log/messages
0

# grep -c "couldn't read packet header" /var/log/messages
0

# modinfo pptp
filename:       /lib/modules/2.6.29.6-smp/extra/pptp.ko
license:        GPL
author:         Kozlov D. (xeb@mail.ru)
description:    Point-to-Point Tunneling Protocol for Linux
depends:        pppox,ppp_generic
vermagic:       2.6.29.6-smp SMP mod_unload 686
parm:           log_packets:int
parm:           log_level:Logging level (default=0) (int)

 

accel-pptpd 0.8.4

Изменено пользователем maxxxxu

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может, раз 0.8.4 показал себя стабильным, сделать его в виде отдельного тарбола?

Да и на страничке зеркал SVN/CVS/GIT неплохо бы намекнуть, что свежие разработки выкладываются только в GIT...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.