Cramac Posted July 19, 2008 Posted July 19, 2008 Что то зависает куча процессов подобное этому: root 11364 0.0 0.0 2700 1180 ? S 11:22 0:00 /usr/sbin/pppd local file /etc/ppp/options 115200 10.10.10.1:192.168.1.92 ipparam 10.10.10.33 доходит до 100 и больше никто подключиться не может. Из за чего такое происходит и как устранить (зависания и ограничение в 100)? ОС - мандрива, биллинг стоит UTM Вставить ник Quote
EvilShadow Posted July 19, 2008 Posted July 19, 2008 100 - ограничение количества сессий в pptpd по умолчанию Вставить ник Quote
Cramac Posted July 19, 2008 Author Posted July 19, 2008 а как это можно исправить? Вставить ник Quote
Ivantey Posted July 20, 2008 Posted July 20, 2008 Ограничение сессий правится в исходниках. А вот зависания сессий у самого постоянно. Замечено что это происходит из-за роутеров клиентов, котрые после того как закончатся деньги на счету продолжают долбиться на сервак. Вставить ник Quote
EvilShadow Posted July 20, 2008 Posted July 20, 2008 Ограничение сессий правится в исходниках.Ограничение количества сессий pptpd правится в конфиге pptpd, для этого достаточно всего лишь прочесть ман.А вот зависания сессий у самого постоянно. Замечено что это происходит из-за роутеров клиентов, котрые после того как закончатся деньги на счету продолжают долбиться на сервак.Ну продолжают, и что? Времени на отказ авторизации нужно слишком мало, чтоб было заметно много мертвых сессий. Вставить ник Quote
Cramac Posted July 21, 2008 Author Posted July 21, 2008 что то ман маленький для конфига поптопа, единственное упоминание про максимальное число конектов в описании TAG: localip TAG: remoteip а где этот макс задается не понятно... про таймаут это stimeout ? Вставить ник Quote
EvilShadow Posted July 21, 2008 Posted July 21, 2008 (edited) Вот: Edited July 21, 2008 by EvilShadow Вставить ник Quote
Cramac Posted July 21, 2008 Author Posted July 21, 2008 ух, простите не заметил... смотрел описание конфига на сайте разработчиков :( стоит у меня такая опция в размере 2000... может у меня проблема была в пределе ип адресов? было выделено только 100штук... сейчас 254 поставил... хотя надо убивать сессии мертвые, а они опять появляются... Вставить ник Quote
EvilShadow Posted July 21, 2008 Posted July 21, 2008 Читайте логи pptpd, pppd, radius'а. Конкретнее ничего порекомендовать не могу, поскольку УТМом не пользуюсь. Удачи. Вставить ник Quote
Kirya Posted July 21, 2008 Posted July 21, 2008 Вообще это известная проблема. http://sourceforge.net/mailarchive/message...0mail.gmail.com Похоже связана она с тем, что клиент подконнекчивается к серверу незавершив при неуспешной авторизации прошлую сессию. Но пока это никто не смог нормально отдебагить и выслать лог разработчикам. Вообщем нужны логи. Вставить ник Quote
vadimus Posted July 27, 2008 Posted July 27, 2008 Эта проблема УТМа, была у меня. Лечится настройкой их радиуса, поищите на форуме нетапа. Вставить ник Quote
Yoda Posted September 2, 2008 Posted September 2, 2008 (edited) Имеем 6 VPN серверов. Картина та же. Из проверенных на вскидку клиентов у них практически у всех стоят роутеры с Linux на борту. Для роутеров характерно еще то, что сессии, установленные с них, порою длятся по полтора месяца. Пока думаем рвать сессии раз в сутки принудительно. Не комильфо конечно, но что делать... А то раз в два-три дня LA на серваках подскакивает до 30-40. Проц жрут эти самые мертвяки. Приходится прибивать вручную. P.S. Биллинг свой. Сервера - Debian Sarge. PPTP + PPPD + FreeRADIUS. Edited September 2, 2008 by Yoda Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 Аналогичная проблема, каждый мертвяк потребляет около 1-2% CPU. Симптомы те же, реконнекты от роутеров, но и не только! Я заметил, что если просто реконнектиться при существующем сеансе или отрицательном балансе, то может быть тоже самое. В списке устройств ppp их нет, а процессы висят. Так же их PID-ов нет в каталоге /var/run Блин неужели никому не удалось решить? Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 Может кто нибудь научился убивать мертвяков по крону? Сигнал -TERM они прекрасно понимают. Вставить ник Quote
nuclearcat Posted September 18, 2008 Posted September 18, 2008 У меня с наложенными патчами от gentoo - pppd работает очень стабильно. Советую последнее ядро и взять эти патчи. Если есть сложности отколупать их из gentoo - могу их попытаться выложить у себя отдельно. Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 Патч для ядра или для pppd ? Вставить ник Quote
nuclearcat Posted September 18, 2008 Posted September 18, 2008 http://www.nuclearcat.com/files/ppp-2.4.4-...20080412.tar.gz Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 Спасибо попробую! А вы не пробовали этот патч запостить разработчикам pppd ? Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 2nuclearcat: Пропатчил теми патчами которые мне нужны. В части dhcp, mpls, mppe-mppc не патчил ибо не нужно. Запустил пока полет нормальный, посмотрим как дальше, будут мертвяки или нет. В любом случае спасибо! Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 Зависы остались :( Правда ядро не обновлял, стоит 2.6.18 Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 Я так понял проблема не в pppd, просто pptpctrl почему то не завершает pppd Вставить ник Quote
a0d75 Posted September 18, 2008 Posted September 18, 2008 (edited) Написал два скрипта, запускаю ежечасно. Прекрасно лупят мертвяков. Первый скрипт прибивает соединения, у которых нет активного ppp интерфейса. Под этот критерий попадают соединения, которые устанавливаются в момент запуска самого скрипта, поэтому запускаем не чаще раза в час: cat /usr/local/sbin/pptp-watcher.sh #!/bin/sh ps auxw | grep ppp | grep -v grep | awk '{print $2}' | sort >/var/tmp/ppp-processes cat /var/run/ppp*.pid | sort > /var/tmp/ppp-active for PID in `comm -3 /var/tmp/ppp-processes /var/tmp/ppp-active | grep -P "^\d"` ; do PIDS="$PIDS $PID" done if [ "$PIDS" != "" ] ; then kill -9 $PIDS >/dev/null 2>&1 # echo "Killed $PIDS" fi Второй скрипт пытается найти и прибить процессы pppd, не имеющие pptpd, будет работать не у всех, нужно подобрать регулярное выражение под свой вывод ps auxwf (у меня Gentoo) cat /usr/local/sbin/pptp-watcher.pl #!/usr/bin/perl @ps = `ps auxwf`; $parent = 0; foreach $line (@ps){ if($line =~ /^root\s+(\d+)\s+.* pptpd \[/){ $parent = $1; # print "$line - $1\n"; $child{$parent} = 0; } elsif ($line =~ /^root\s+(\d+)\s+.*\\_ \/usr\/sbin\/pppd/){ $child{$parent} = $1; } # } else { print "$line - missing\n"; } } foreach (sort keys %child){ if($child{$_} == 0){ # print "Killed pid $_!\n"; kill 9, $_; } } Думаю уходить на mikrotik, там pptp ядерный, да и скоростью соединения можно рулить без бубна/реконнекта. Edited September 18, 2008 by a0d75 Вставить ник Quote
nuclearcat Posted September 18, 2008 Posted September 18, 2008 Я так понял проблема не в pppd, просто pptpctrl почему то не завершает pppdlcp-echo-failurelcp-echo-interval настроены? Вставить ник Quote
SokolovS Posted September 18, 2008 Posted September 18, 2008 lcp-echo-failure 30 lcp-echo-interval 5 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.