Jump to content

Recommended Posts

Posted

Что то зависает куча процессов подобное этому:

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

Posted

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

Posted
Ограничение сессий правится в исходниках.
Ограничение количества сессий pptpd правится в конфиге pptpd, для этого достаточно всего лишь прочесть ман.
А вот зависания сессий у самого постоянно. Замечено что это происходит из-за роутеров клиентов, котрые после того как закончатся деньги на счету продолжают долбиться на сервак.
Ну продолжают, и что? Времени на отказ авторизации нужно слишком мало, чтоб было заметно много мертвых сессий.
Posted

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

TAG: localip

TAG: remoteip

 

а где этот макс задается не понятно...

 

про таймаут это stimeout ?

Posted

ух, простите не заметил... смотрел описание конфига на сайте разработчиков :(

стоит у меня такая опция в размере 2000...

 

может у меня проблема была в пределе ип адресов? было выделено только 100штук... сейчас 254 поставил...

хотя надо убивать сессии мертвые, а они опять появляются...

Posted

Вообще это известная проблема.

http://sourceforge.net/mailarchive/message...0mail.gmail.com

Похоже связана она с тем, что клиент подконнекчивается к серверу незавершив при неуспешной авторизации прошлую сессию.

Но пока это никто не смог нормально отдебагить и выслать лог разработчикам.

 

Вообщем нужны логи.

  • 1 month later...
Posted (edited)

Имеем 6 VPN серверов. Картина та же. Из проверенных на вскидку клиентов у них практически у всех стоят роутеры с Linux на борту. Для роутеров характерно еще то, что сессии, установленные с них, порою длятся по полтора месяца. Пока думаем рвать сессии раз в сутки принудительно. Не комильфо конечно, но что делать... А то раз в два-три дня LA на серваках подскакивает до 30-40. Проц жрут эти самые мертвяки. Приходится прибивать вручную.

 

P.S. Биллинг свой. Сервера - Debian Sarge. PPTP + PPPD + FreeRADIUS.

Edited by Yoda
  • 3 weeks later...
Posted

Аналогичная проблема, каждый мертвяк потребляет около 1-2% CPU. Симптомы те же, реконнекты от роутеров, но и не только! Я заметил, что если просто реконнектиться при существующем сеансе или отрицательном балансе, то может быть тоже самое. В списке устройств ppp их нет, а процессы висят. Так же их PID-ов нет в каталоге /var/run

 

Блин неужели никому не удалось решить?

Posted

У меня с наложенными патчами от gentoo - pppd работает очень стабильно.

Советую последнее ядро и взять эти патчи. Если есть сложности отколупать их из gentoo - могу их попытаться выложить у себя отдельно.

Posted

2nuclearcat: Пропатчил теми патчами которые мне нужны. В части dhcp, mpls, mppe-mppc не патчил ибо не нужно. Запустил пока полет нормальный, посмотрим как дальше, будут мертвяки или нет. В любом случае спасибо!

Posted (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 by a0d75

Join the conversation

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

Guest
Reply to this topic...

×   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.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.